是否有人設法在Android Beta 0.9中使用ItemizedOverlays
?我無法讓它工作,但我不確定我是否做錯了什麼,或者如果這個功能還沒有提供。使用ItemizedOverlay和OverlayItem在Android Beta 0.9中
我一直在嘗試使用ItemizedOverlay
和OverlayItem
類。他們的目的是模擬地圖標記(如Google Maps Mashups中所示),但我在將它們顯示在地圖上時遇到了問題。
我可以使用類似的技術添加我自己的自定義疊加層,它只是ItemizedOverlays
不起作用。
一旦我實現了自己的ItemizedOverlay
(和重寫的createItem),創建我的類的一個新實例似乎工作(我可以從中提取OverlayItems),但將其添加到地圖的Overlay列表不會顯示正如它應該。
這是我用來將ItemizedOverlay
類添加到我的MapView
上的Overlay的代碼。
// 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;
}
}
只是我還是你最後一個像是空的? – Reno 2011-01-23 09:48:23