A typical user overlay is as follows. it encapsulates various OverlayItems displayed on the map in a list.
public class MyItemizedOverlay extends ItemizedOverlay<OverlayItem>{ private List<OverlayItem> mOverlays = new ArrayList<OverlayItem>(); public MyItemizedOverlay(Drawable defaultMarker) { super(boundCenterBottom(defaultMarker)); } @Override protected OverlayItem createItem(int i) { return mOverlays.get(i); } public void addOverlay(OverlayItem overlay) { mOverlays.add(overlay); populate(); } public void removeOverlay(OverlayItem overlay) { mOverlays.remove(overlay); populate(); } public void clear() { mOverlays.clear(); populate(); } @Override public int size() { return mOverlays.size(); } }
Methods can be opened to add / remove individual overlayitems, but also delete all overlayitems (clear method).
Remove one overlayitem
MyItemizedOverlay sitesOverlay = (MyItemizedOverlay ) map.getOverlays().get(0); sitesOverlay.removeOverlay(overlay);
Add one overlayItem
MyItemizedOverlay sitesOverlay = (MyItemizedOverlay ) map.getOverlays().get(0); sitesOverlay.addOverlay(new OverlayItem(p, "title", "snippet"));
Delete all items overlayItems
MyItemizedOverlay sitesOverlay = (MyItemizedOverlay ) map.getOverlays().get(0); sitesOverlay.clear();
source share