Czy ktoś zdołał użyć ItemizedOverlays
w Androidzie Beta 0.9? Nie mogę go uruchomić, ale nie jestem pewien, czy zrobiłem coś złego, czy ta funkcjonalność nie jest jeszcze dostępna.Korzystanie z ItemizedOverlay i OverlayItem w Androidzie Beta 0.9
Próbuję użyć klas ItemizedOverlay
i OverlayItem
. Ich celem jest symulowanie znaczników mapy (jak widać w Google Maps Mashups), ale miałem problemy z ich wyświetleniem na mapie.
Mogę dodać własne niestandardowe nakładki przy użyciu podobnej techniki, to tylko ItemizedOverlays
, które nie działają.
Po zaimplementowaniu własnego ItemizedOverlay
(i przesłonięcia createItem), tworzenie nowej instancji mojej klasy wydaje się działać (mogę wyodrębnić z niej OverlayItems), ale dodanie jej do listy nakładek na mapie nie spowoduje jej wyświetlenia jak powinno.
To jest kod, którego używam do dodania klasy ItemizedOverlay
jako nakładki do mojego 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();
}
Gdzie MyItemizedOverlay
jest zdefiniowany jako:
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;
}
}
czy to tylko ja lub twoje ostatnie jest puste? – Reno