Ich habe eine Karte zur Fragmentaktivität hinzugefügt und mehrere Marker mit der Funktion addMarker hinzugefügt, aber ich kann alle Marker entfernen. Ich erhalte eine Benachrichtigung für eine andere Liste von Markern.
Jetzt möchte ich alle Marker entfernen und neue hinzufügen.
eine Möglichkeit, alle Markierungen in der Liste zu halten und einzeln zu entfernen (marker.remove ())
Gibt es einen besseren Weg, um alle Marker zu löschen?
Antworten:
Wenn Sie "alle Markierungen, Überlagerungen und Polylinien von der Karte entfernen" möchten, verwenden Sie
clear()
auf IhremGoogleMap
.quelle
Marker
Objekte getrennt von der Karte festhalten , müssen Sie diese loslassen.clear()
entfernt sie visuell .clear()
Funktion dieMarker
IDs nicht zurücksetzt . Grundsätzlich werden Sie nichtm0
wieder für neueMarker
hinzufügen.Wenn Sie keine Polylinien löschen möchten und nur die Markierungen entfernt werden müssen, führen Sie die folgenden Schritte aus.
Erstellen Sie zunächst ein neues Marker-Array wie unten
Wenn Sie dann den Marker auf den Google Maps hinzufügen, fügen Sie ihn auch dem Marker-Array hinzu (in diesem Beispiel die AllMarker).
Rufen Sie dann schließlich die folgende Methode auf, um alle Markierungen gleichzeitig zu entfernen
Rufen Sie von überall an, um alle Markierungen zu entfernen
Ich habe diese Lösung gefunden, als ich nach einer Möglichkeit gesucht habe, nur die Kartenmarkierungen zu entfernen, ohne die Polylinien zu löschen. Hoffe das wird dir auch helfen.
quelle