Dieser Artikel teilt Ihnen hauptsächlich eine Methode zum Löschen des angegebenen Overlays (Overlay) basierend auf der Baidu Maps API mit. Es hat einen guten Referenzwert und ich hoffe, dass es für alle hilfreich sein wird. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.
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 Polylinien basierend auf Klicks angezeigt oder gelöscht werden mussten Ich bin auf das Problem gestoßen, bestimmte Überlagerungen zu löschen. Nach mehreren Suchvorgängen konnte ich keine perfekte Lösung finden. Ich habe einen Weg gefunden, dieses Problem zu lösen, und habe es gepostet, um es mit allen zu teilen. Okay, kommen wir zum Punkt:
Es gibt zwei Methoden zum Löschen von Overlays: „map.removeOverlay()“ oder „map.clearOverlays()“ entfernt alle Overlays auf einmal und „removeOverlay()“ entfernt Sie alle auf einmal, natürlich möchte ich jeweils eine Klasse von Polylinien-Overlays entfernen, keine der beiden Methoden funktioniert.
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 einer Abdeckung Einschränkungen festlegen. ) für Overlays, die nicht entfernt werden müssen; die offizielle Website-Dokumentation erklärt wie folgt:
none verbietet das Löschen von Overlays in der Methode „map.clearOverlays“. (Hinzugefügt seit 1.1)Ich muss die Markierung hier nicht entfernen, daher sind die Einstellungen wie folgt:disableMassClear()
marker.disableMassClear();
map.clearOverlays();
enableMassClear()
var allOverlay = map.getOverlays(); for (var i = 0; i < allOverlay.length; i++) { allOverlay[i].enableMassClear(); }
Detaillierte Erklärung, wie man Overlay in Drupal 7 erweitert?
Das obige ist der detaillierte Inhalt vonSo löschen Sie das angegebene Overlay in der Baidu-Karten-API. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!