How To Clear / Reset An Itemizedoverlay In Android?
I have a program that is creating an ItemizedOverlay and a map. Everything works fine upon startup. When you close ande re-open the app, I am using onRestart() to get updated info
Solution 1:
A typical custom overlay looks like this. it encapsulates the various OverlayItems displayed on the map in a list.
publicclassMyItemizedOverlayextendsItemizedOverlay<OverlayItem>{
private List<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
publicMyItemizedOverlay(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
}
@Override
protected OverlayItem createItem(int i) {
return mOverlays.get(i);
}
publicvoidaddOverlay(OverlayItem overlay) {
mOverlays.add(overlay);
populate();
}
publicvoidremoveOverlay(OverlayItem overlay) {
mOverlays.remove(overlay);
populate();
}
publicvoidclear() {
mOverlays.clear();
populate();
}
@Override
publicintsize() {
return mOverlays.size();
}
}
Methods can be exposed to add / remove individual overlayitems, but also the remove all overlayitems (clear method).
Remove a single overlayitem
MyItemizedOverlay sitesOverlay = (MyItemizedOverlay ) map.getOverlays().get(0);
sitesOverlay.removeOverlay(overlay);
Add a single overlayItem
MyItemizedOverlay sitesOverlay = (MyItemizedOverlay ) map.getOverlays().get(0);
sitesOverlay.addOverlay(new OverlayItem(p, "title", "snippet"));
Remove all overlayItems
MyItemizedOverlay sitesOverlay = (MyItemizedOverlay ) map.getOverlays().get(0);
sitesOverlay.clear();
Solution 2:
You create your own ItemizedOverlay sublcass when using a MapView. You can add a clear()
method if you want.
Post a Comment for "How To Clear / Reset An Itemizedoverlay In Android?"