Estoy usando un OpenLayers.Control.SelectFeature para las selecciones en varias capas. Sin embargo, cuando agrego una capa usando setLayer (), mis selecciones en las otras capas se pierden.
Alguien sabe cómo solucionar esto? Me gustaría mantener mis selecciones existentes en otras capas cuando agrego una capa al control SelectFeature.
Aquí hay un ejemplo: MI EJEMPLO
Actualizar:
Soy consciente de que esto es parte de la API. Pero estoy buscando una solución.
/**
* 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
fuente
fuente
Creo que este es un método muy útil, pero debería agregarse como addLayer (Layer) y con algunos pequeños cambios para que maneje una capa:
que espero sea tomada en esta solicitud de extracción - https://github.com/openlayers/openlayers/pull/1287
Además, el usuario no tiene que mantener una lista de capas que se han agregado.
fuente