How to clear / reset ItemizedOverlay in Android?

I have a program that creates ItemizedOverlay and a map. Everything works fine at startup.

When you close and reopen the application, I use onRestart () to get updated information from my server and update the map. The problem is that at the moment, ItemizedOverlay still contains the old elements, and then proceeds to add new data to the existing data.

I am looking for a way to clear ItemizedOverlay. It seems that not ItemizedOveraly.clear, or any similar function.

Ideas on how I can do this / why is this not obvious?

+4
source share
2 answers

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(); 
+13
source

When using MapView, you create your own subcategory, ItemizedOverlay. You can add the clear() method if you want.

+1
source

All Articles