Ich verwende ein OpenLayers.Control.SelectFeature für die Auswahl auf mehreren Ebenen. Wenn ich jedoch mit setLayer () eine Ebene hinzufüge, gehen meine Auswahlen auf den anderen Ebenen verloren.
Weiß jemand, wie man das umgeht? Ich möchte meine vorhandene Auswahl auf anderen Ebenen behalten, wenn ich dem SelectFeature-Steuerelement eine Ebene hinzufüge.
Hier ist ein Beispiel: MEIN BEISPIEL
Aktualisieren:
Mir ist bewusst, dass dies Teil der API ist. Aber ich suche eine Lösung.
/**
* APIMethod: setLayer
* Attach a new layer to the control, overriding any existing layers.
*
* Parameters:
* layers - Array of {<OpenLayers.Layer.Vector>} or a single
* {<OpenLayers.Layer.Vector>}
*/
setLayer: function(layers) {
var isActive = this.active;
this.unselectAll();
this.deactivate();
if(this.layers) {
this.layer.destroy();
this.layers = null;
}
this.initLayer(layers);
this.handlers.feature.layer = this.layer;
if (isActive) {
this.activate();
}
},
openlayers-2
javascript
CaptDragon
quelle
quelle
Ich denke, dies ist eine sehr nützliche Methode, aber sie sollte als addLayer (Ebene) und mit einigen kleinen Änderungen hinzugefügt werden, damit sie eine Ebene handhabt:
Ich hoffe, dass dies in dieser Pull-Anfrage berücksichtigt wird - https://github.com/openlayers/openlayers/pull/1287
Außerdem muss der Benutzer keine Liste der hinzugefügten Ebenen führen.
quelle