2013-03-27 11 views
66

Ich habe Karte auf Fragment-Aktivität hinzugefügt und fügte einigen Marker addMarker Funktion verwenden, aber ich bin in der Lage, alle Markierungen zu entfernen, ich bin Benachrichtigung von Markern für andere Liste bekommen,Marker entfernt von Google Map in Android

i Jetzt möchte alle Marker entfernen und neue hinzufügen.

eine Möglichkeit, alle Markierungen in der Liste zu halten, und entfernen Sie eins nach dem anderen, (marker.remove())

Gibt es einen besseren Weg, um alle Marker zu löschen.

+2

gibt es clear() Methode –

Antwort

165

Wenn Sie alle Markierungen, Überlagerungen und Polylinien von der Karte löschen möchten, use clear() on your GoogleMap.

+1

Sollte ich remove() auf allen von ihnen aufrufen, bevor Sie das tun? Ich meine, wenn ich noch eine ArrayList mit diesen Markern habe, nehme ich an, dass ich immer noch einen aktiven Verweis auf diese Marker habe, damit sie auch dann im Speicher bleiben, wenn ich die Karte lösche. Habe ich Recht damit oder lösche die Map die Referenzen zu den Markern? – razielsarafan

+4

@ santirivera92: "Sollte ich (remote) auf alle von ihnen anrufen, bevor ich das tue?" - AFAIK, solltest du nicht brauchen. "Wenn ich immer noch eine ArrayList mit diesen Markern habe, nehme ich an, dass ich immer noch einen aktiven Verweis auf diese Marker habe, also bleiben sie im Speicher, auch wenn ich die Karte lösche" - ja, aber das ist * dein * Code, nicht von Google. Wenn Sie * Marker * Objekte getrennt von der Karte festhalten, * müssen * Sie diese loslassen. 'clear()' löscht sie * visuell *. – CommonsWare

+0

Natürlich. Also, meine ArrayLists zu löschen und dann die Karte zu löschen wird sie für immer loswerden? – razielsarafan