我正在使用OpenLayers.Control.SelectFeature进行多层选择。但是,当我使用setLayer()添加图层时,其他图层上的选择都会丢失。
有人知道如何解决此问题吗?当我向SelectFeature控件添加图层时,我希望将现有选择保留在其他图层上。
这是一个例子: 我的例子
更新:
我知道这是API的一部分。但是我正在寻找解决方法。
/**
* 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();
}
},