Heim >Web-Frontend >js-Tutorial >Anzeige von Markierungen und Polylinien in der Baidu-Karte
Dieses Mal werde ich Ihnen die Vorsichtsmaßnahmen für die Anzeige von Markierungen und Polylinien in Baidu-Karten vorstellen.
Kürzlich habe ich an einem Projekt mit der Baidu Map API gearbeitet, bei dem ich Markierungen und Polylinien gleichzeitig auf der Karte anzeigen musste und die Polylinien basierend auf Klicks angezeigt oder gelöscht werden mussten Das Problem, die vorgesehene Abdeckung zu beseitigen, konnte nach Suche nicht gefunden werden. Durch meine eigenen Überlegungen habe ich einen Weg gefunden, dieses Problem zu lösen, und habe es gepostet, um es mit anderen zu teilen alle. Okay, kommen wir zum Punkt:
Es gibt zwei Möglichkeiten, Overlays zu löschen: map.removeOverlay() oder map.clearOverlays() Die clearOverlays(). Mit der Methode „removeOverlay()“ werden die Überlagerungen auf einmal verschoben. Offensichtlich möchte ich jeweils nur eine Art von Polylinien-Überlagerung entfernen, und keine der beiden Methoden ist anwendbar.
Baidu-Demo (http://developer.baidu.com/map/jsdemo.htm#c1_17) enthält ein Beispiel für removeOverlay() wie folgt:
function deletePoint(){ var allOverlay = map.getOverlays(); for (var i = 0; i < allOverlay.length -1; i++){ if(allOverlay[i].getLabel().content == "我是id=1"){ map.removeOverlay(allOverlay[i]); return false; } } }
erfolgt durch Traversierung alle Überlagerungen Um die zu entfernende Abdeckung zu filtern, können Sie beim Hinzufügen der Abdeckung Einschränkungen festlegen Wenn Sie ein Overlay verwenden möchten, legen Sie „disableMassClear()“ für Overlays fest, die nicht entfernt werden müssen. Das offizielle Website-Dokument erklärt Folgendes:
none verbietet das Entfernen von Overlays in der Karte.clearOverlays Methode Klar. (Neu hinzugefügt seit 1.1)
Ich muss hier keine Markierungen entfernen, daher sind die Einstellungen wie folgt:disableMassClear()Zweiter Schritt: Entfernen Sie die zu löschende Abdeckung. Hier müssen Sie die gesamte Polylinie entfernen, ohne die Markierung zu entfernen die gesamte Polylinie und behalten Sie sie bei. Schritt 3: Wenn die Markierung später entfernt werden muss, können Sie das Löschverbot aufheben >
marker.disableMassClear();
none ermöglicht das Löschen von Overlays in der Methode „map.clearOverlays“. (Neu seit 1.1) Jeder Marker muss jedoch wiederhergestellt werden, also muss er überquert werden:
Dadurch werden die löschbaren Operationen aller Überlagerungen wiederhergestellt.map.clearOverlays();
Eine einfache Einrichtung in drei Schritten kann die angegebene Art der Abdeckung effektiv betreiben.
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website! Empfohlene Lektüre:
vue.js implementiert ein einzelnes Popup-FeldenableMassClear()Detaillierte Erläuterung der Verwendung von Javascript Trie Präfixbaum
var allOverlay = map.getOverlays(); for (var i = 0; i < allOverlay.length; i++) { allOverlay[i].enableMassClear(); }
Das obige ist der detaillierte Inhalt vonAnzeige von Markierungen und Polylinien in der Baidu-Karte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!