Entfernen Sie alle Popups von OpenLayers Features

Ich bin mit OpenLayers, eine map zu erstellen und plot-locations. Jeder Standort hat eine Markierung und ein popup und erstellt mit OpenLayers.Feature - im moment bin ich auf jeden Fall außerhalb meiner Komfort-zone hier, also bin cobbling Beispiel-code zusammen.

Wird eine Marke wie folgt erstellt (ich habe gehackt, was ich hoffe, sind offensichtliche variable-Zuweisungen für die Kürze):

function addMarker(ll, popupClass, popupContentHTML, closeBox, overflow, type)
{
    var feature = new OpenLayers.Feature(markerLayer, ll);  
    feature.closeBox = closeBox;
    feature.popupClass = popupClass;
    feature.data.icon = icon;
    feature.data.popupContentHTML = popupContentHTML;
    feature.data.overflow = (overflow) ? "auto" : "hidden";

    var marker = feature.createMarker();
    var markerClick = function (evt) {
        if (this.popup == null) {
            this.popup = this.createPopup(this.closeBox);
            map.addPopup(this.popup);
            this.popup.show();
        } else {
            this.popup.toggle();
    }
        currentPopup = this.popup;
        OpenLayers.Event.stop(evt);
    };

    marker.events.register("mousedown", feature, markerClick);
    markerLayer.addMarker(marker);
}

Kann die Karte enthält viele Marker.

Wenn eine Markierung geklickt, ein popup aktiviert und deaktiviert werden. Was ich versuche zu ado machen ALLE popups über alle Marker auf die Karte schließen, wenn ein neuer marker klicken und ein popup blendet - das heißt, ich möchte nur, dass eine popup-Anzeige zu einem Zeitpunkt.

Kann es sein, dass mein Ansatz falsch ist, wäre aber dankbar für Hinweise, auch nur Ideen zu versuchen.

InformationsquelleAutor Christian Mayne | 2012-02-14

Schreibe einen Kommentar