2013-03-27 14 views
66

Dodałem mapę aktywności fragmentu i dodano kilka znacznik za pomocą funkcji addMarker, ale jestem w stanie usunąć wszystkie znaczniki, otrzymuję powiadomień dla różnych listy markerów,Wyczyść znaczniki z mapy Google w Androidzie

Teraz ja chce usunąć wszystkie znaczniki i dodać nowe.

jeden sposób, aby zachować wszystkie znaczniki na liście i usunąć jeden po drugim (marker.remove())

Czy istnieje lepszy sposób, aby usunąć cały znacznik.

+2

jest metoda clear() –

Odpowiedz

165

Jeśli chcesz usunąć "wszystkie znaczniki, nakładki i polilinie z mapy", use clear() on your GoogleMap.

+1

Czy powinienem wywołać remove() na wszystkich z nich przed wykonaniem tego? Mam na myśli, jeśli nadal mam ArrayList z tymi Markerami, przypuszczam, że nadal mam aktywne odniesienia do tych Markerów, więc pozostaną w pamięci, nawet jeśli wyczyściłem mapę. Czy mam rację co do tego, czyszczenie mapy powoduje wycieranie odniesień do znaczników? – razielsarafan

+4

@ santirivera92: "Czy powinienem wywołać remove() na wszystkich przed wykonaniem tego?" - AFAIK, nie powinieneś tego robić. "jeśli nadal mam ArrayList z tymi Markerami, przypuszczam, że nadal mam aktywny odnośnik do tych Markerów, więc pozostaną w pamięci, nawet jeśli wyczyściłem mapę" - tak, ale to jest * twój * kod, nie Google. Jeśli * ty * trzymasz się obiektów 'Marker' niezależnie od mapy, * ty * musisz je puścić. 'clear()' usuwa je * wizualnie *. – CommonsWare

+0

Oczywiście. Czyszczenie moich ArrayLists, a następnie wyczyszczenie mapy pozbędzie się ich na zawsze? – razielsarafan