Frage

Kraftmessbolzen ist eine Funktion, um eine Markierung zu einer Karte hinzuzufügen. Es initialisiert die Schicht auf dem ersten Aufruf. Karte ist eine Openlayers-Karte Objekt.

Aber mit map.removeLayer ( „Marker“) oder „Marker“, entfernen Sie nicht die Markierungen aus der Karte. Ich sah eine Erwähnung eines zerstören Betrieb, dies zu tun, kann aber nicht, dass finden.

Und wie entferne ich die Pop-ups?

var markers = null
function LoadPin(LL, name, description) {
    var size = new OpenLayers.Size(36, 47);
    var offset = new OpenLayers.Pixel(-(size.w / 2), -size.h);
    var icon = new OpenLayers.Icon('http://www.waze.co.il/images/home.png', size, offset);

    if (markers == null) {
        markers = new OpenLayers.Layer.Markers("Markers");
        map.addLayer(markers);
    }

    var marker = new OpenLayers.Marker(LL, icon)
    markers.addMarker(marker);
    var bounds = markers.getDataExtent();
    map.zoomToExtent(bounds);

    map.addPopup(new OpenLayers.Popup.FramedCloud("test", LL, null,
                "<div style='font-family:Arial,sans-serif;font-size:0.8em;'>" + name + "<br>" + description + "</div>",
                anchor = null, true, null));
}
War es hilfreich?

Lösung

Sie können entfernen einzelne Markierungen aus einer Markierungsschicht mit:

markers.removeMarker(marker);

Das Entfernen der gesamten Schicht, mit Markern mit erreicht werden sollte:

markers.destroy();

Es soll möglich sein, ein Pop-up zu entfernen, mit:

map.removePopup(popup);

wo Popup ist das Popup-Objekt zuvor erstellt haben.

Andere Tipps

Ich weiß, dass dieser Beitrag ist alt, aber alle Marker aus dem Marker Ebenenliste Gebrauch zu entfernen:

markerLayer.clearMarkers();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top