Android 베타 0.9에서 ItemizedOverlay 및 OverlayItem 사용
누구든지 ItemizedOverlays
Android Beta 0.9에서 사용할 수 있습니까? 작동하도록 할 수는 없지만 내가 잘못한 것이 있는지 또는이 기능을 아직 사용할 수 없는지 확실하지 않습니다.
나는 ItemizedOverlay
및 OverlayItem
클래스 를 사용하려고 노력 하고 있습니다. 그들의 의도 된 목적은지도 마커 (Google지도 매쉬업에서 볼 수있는)를 시뮬레이션하는 것이지만지도에 표시하는 데 문제가있었습니다.
비슷한 기술을 사용하여 나만의 맞춤 오버레이를 추가 할 수 ItemizedOverlays
있지만 작동하지 않는 것 뿐입니다 .
내 자신의 클래스를 구현 ItemizedOverlay
하고 재정의 createItem
하면 클래스의 새 인스턴스를 만드는 것이 작동하는 것처럼 보이지만 (이에 서 추출 할 수 OverlayItems
있음) 맵 Overlay
목록에 추가해도 제대로 표시되지 않습니다.
이것은 ItemizedOverlay
클래스 Overlay
를 내 .NET에 추가하는 데 사용하는 코드 MapView
입니다.
// Add the ItemizedOverlay to the Map
private void addItemizedOverlay() {
Resources r = getResources();
MapView mapView = (MapView)findViewById(R.id.mymapview);
List<Overlay> overlays = mapView.getOverlays();
MyItemizedOverlay markers = new MyItemizedOverlay(r.getDrawable(R.drawable.icon));
overlays.add(markers);
OverlayItem oi = markers.getItem(0);
markers.setFocus(oi);
mapView.postInvalidate();
}
어디는 MyItemizedOverlay
다음과 같이 정의된다
public class MyItemizedOverlay extends ItemizedOverlay<OverlayItem> {
public MyItemizedOverlay(Drawable defaultMarker) {
super(defaultMarker);
populate();
}
@Override
protected OverlayItem createItem(int index) {
Double lat = (index+37.422006)*1E6;
Double lng = -122.084095*1E6;
GeoPoint point = new GeoPoint(lat.intValue(), lng.intValue());
OverlayItem oi = new OverlayItem(point, "Marker", "Marker Text");
return oi;
}
@Override
public int size() {
return 5;
}
}
완벽을 기하기 위해 여기 Android 그룹 에서 Reto의 게시물에 대한 토론을 반복 하겠습니다 .
드로어 블에 경계를 설정하면 트릭을 수행하는 것 같습니다.
Drawable defaultMarker = r.getDrawable(R.drawable.icon);
// You HAVE to specify the bounds! It seems like the markers are drawn
// through Drawable.draw(Canvas) and therefore must have its bounds set
// before drawing.
defaultMarker.setBounds(0, 0, defaultMarker.getIntrinsicWidth(),
defaultMarker.getIntrinsicHeight());
MyItemizedOverlay markers = new MyItemizedOverlay(defaultMarker);
overlays.add(markers);
그건 그렇고, 위의 내용은 MarcelP.info의 데모에서 뻔뻔하게 찢어졌습니다 . 또한 여기에 좋은 방법이 있습니다.
ReferenceURL : https://stackoverflow.com/questions/26362/using-itemizedoverlay-and-overlayitem-in-android-beta-0-9
'programing' 카테고리의 다른 글
wpf를 사용하여 dll을 단일 .exe로 병합 (0) | 2021.01.17 |
---|---|
ECMAScript v 6이 표준이되는시기 (0) | 2021.01.16 |
REST-가능한 여러 식별자 지원 (0) | 2021.01.16 |
iPhone Simulator에서 소리 끄기 (0) | 2021.01.16 |
벡터 변환 (0) | 2021.01.16 |