Кому-нибудь удалось использовать ItemizedOverlays
в Android Beta 0.9? Я не могу заставить его работать, но я не уверен, что сделал что-то не так или эта функция еще не доступна.
Я пытался использовать классы ItemizedOverlay
и OverlayItem
. Их предназначение - имитировать маркеры на карте (как это видно из Google Maps Mashups), но у меня были проблемы с отображением их на карте.
Я могу добавить свои собственные оверлеи, используя похожую технику, просто ItemizedOverlays
не работают.
Как только я реализовал свой собственный ItemizedOverlay
(и переопределил createItem
), создание нового экземпляра моего класса, кажется, работает (я могу извлечь OverlayItems
из него), но добавив его в Overlay
карты список не заставляет его выглядеть так, как должен.
Это код, который я использую для добавления класса ItemizedOverlay
как Overlay
к моему 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;
}
}