Agregué un mapa sobre la actividad de los fragmentos y agregué varios marcadores usando la función addMarker, pero puedo eliminar todos los marcadores, recibo una notificación para diferentes listas de marcadores,
Ahora quiero eliminar todos los marcadores y agregar uno nuevo.
una forma de mantener todos los marcadores en la lista y eliminarlos uno por uno, (marker.remove ())
¿Hay alguna manera mejor de borrar todos los marcadores?
android
google-maps-android-api-2
Ashish Kasma
fuente
fuente

Respuestas:
Si desea borrar "todos los marcadores, superposiciones y polilíneas del mapa", utilice
clear()en suGoogleMap.fuente
Markerlos objetos por separado del mapa, usted tiene que dejar de lado aquellos.clear()los eliminará visualmente .clear()función no restablecerá losMarkerID. Básicamente, no lo volverá a obtenerm0por nuevasMarkeradiciones.Si no desea borrar polilíneas y solo es necesario eliminar los marcadores, siga los pasos a continuación.
Primero cree una nueva matriz de marcadores como a continuación
List<Marker> AllMarkers = new ArrayList<Marker>();Luego, cuando agregue el marcador en los mapas de Google, agréguelos también a la matriz de marcadores (sus AllMarkers en este ejemplo)
for(int i=0;i<places.length();i++){ LatLng location = new LatLng(Lat,Long); MarkerOptions markerOptions = new MarkerOptions(); markerOptions.position(location); markerOptions.title("Your title"); Marker mLocationMarker = Map.addMarker(markerOptions); // add the marker to Map AllMarkers.add(mLocationMarker); // add the marker to array }luego, finalmente, llame al método siguiente para eliminar todos los marcadores a la vez
private void removeAllMarkers() { for (Marker mLocationMarker: AllMarkers) { mLocationMarker.remove(); } AllMarkers.clear(); }llamar desde cualquier lugar para eliminar todos los marcadores
removeAllMarkers();Encontré esta solución cuando estaba buscando una forma de eliminar solo los marcadores del mapa sin borrar las polilíneas. Espero que esto también te ayude.
fuente