Solución:
Realice un seguimiento de la polilínea a medida que la agrega al mapa:
Polyline polyline = this.mMap.addPolyline(new PolylineOptions().....);
Luego, cuando quieras eliminarlo:
polyline.remove();
Si tiene muchas polilíneas, simplemente agréguelas a una lista a medida que se colocan en el mapa:
List<Polyline> polylines = new ArrayList<Polyline>();
for(....)
{
polylines.add(this.mMap.addPolyline(new PolylineOptions()....));
}
Y cuando quieras eliminar:
for(Polyline line : polylines)
{
line.remove();
}
polylines.clear();
La clave es mantener una referencia a los objetos Polyline y llamar a .remove () en cada uno.
Sé que esta es una pregunta muy antigua, pero noté que es una necesidad muy común. Encontré otra forma y quise compartirla.
Aquí está la idea básica:
Polyline polylineFinal;
PolylineOptions polylineOptions;
loop {
polylineOptions.add( new LatLng( latitude, longitude ) );
}
polylineOptions.width(2);
polylineOptions.color(Color.RED);
polylineOptions.geodesic(true);
polylineFinal = map.addPolyline (polylineOptions);
El método “addPolyline” de Map devuelve una única polilínea que contiene todos los puntos. Cuando necesito eliminar los puntos, llamo al método “eliminar” de polylineFinal.
polylineFinal.remove();
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)