So entfernen Sie Polylinien google maps api 3
Kann mir jemand sagen, warum kann ich nicht entfernen, meine Polylinien mit diesem code:
$("#chkRouteLines").click(function () {
var polyline = new google.maps.Polyline({
path: positions,
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 2,
visible: true
}); ;
if ($(this).is(':checked')) {
polyline.setMap(map);
} else {
polyline.setMap(null);
}
})
Fand ich in der Dokumentation der google maps api 3, die ich tun müssen: setMap(null)..
Aber das hat nicht funktioniert.
Danke!
- stackoverflow.com/questions/9511474/...
- Vielleicht Lesen die Frage. Ich sagte setMap(null) nicht hier arbeiten. Ich habe auch gelesen, die Frage ALSO, bevor.
- warum würde die gleiche api arbeiten manchmal und andere nicht? bekommst du Fehler? Auch, warum haben Sie 2 semi Doppelpunkte nach Ihrem Polylinie var setup?
- keine Fehler, ich sehe die Zeilen, aber ich kann nicht entfernen Sie Sie.
- Du gehst zur post müssen der vollständige code für die Seite oder einen link darauf. Ich vermute, es ist eine andere Polylinie, die Sie sehen. Wie haben Sie die Polylinie gezeichnet, in den ersten Platz? Mit der DirectionsRenderer vielleicht?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie nicht die Beibehaltung einer Bezugnahme auf die Polylinie, es ist lokal auf die "$("#chkRouteLines").klicken Sie auf" Funktion. Wenn Sie eine Polylinie, machen der Verweis auf die es global.
arbeiten Geige
Wenn Sie brauchen, um hinzuzufügen und zu entfernen, mehrere verschiedene Polylinien, ein array in der Regel funktioniert.
code-snippet:
JS:
CSS:
HTML:
Polylinie wird nur ein array von LatLng-Objekten, nicht einzelne Polylinien. Ich denke, dass Sie wahrscheinlich brauchen einen separaten array für die Polylinien, die Sie dann Durchlaufen, um Sie alle entfernen. Erstellen Sie eine Globale array-Zeile.
Nun sind Sie schieben alle die polyline-Objekte in ein array-Zeile. Sie können machen es unsichtbar oder entfernen Sie es von der Karte abzuspielen wie diese:
In Beispiel Entfernen einer Polylinie, die die Google-Beispiel, Sehen, dass Sie erstellte Globale variable
flightPath
und initialisiert es in der Funktion initialisieren mitPolyline
Objekt. Auf diese Weise brauchen wir nicht verlieren, seine Referenz auf den button klicken.Also mit dem codeflightPath.setMap(null);
die Haut derPolyline
ausmap
.In Ihrem Beispiel , Sie sind
initialisieren
polyline
aufclick
Ereignis, so überschreiben Sie die vorherigenPolyline
Objekt-Referenz und das ist, warum es ist nicht versteckt, wenn Sie anrufenpolyline.setMap(null);
Folgen Sie dem Beispiel, es richtig zu machen.