我想更改圖層OpenLayers.Control.ModifyFeature控件 我試過完全刪除控制器,然後基於新圖層添加另一個控制器。 而且我直接用這樣的循環中變更的ModifyFeature的圖層屬性:OpenLayers更改控制層
for(var i = 0; i <= 10; i++) {
if(document.getElementById('verksamhet').selectedIndex === i) {
controlList.modifyFeature.layer = window[layerName[i+1]];
}
}
它幾乎工程;風格發生了變化,但控制器僅在前一層工作,就像這張圖片一樣。 (綠色是上一層,並且是控制器響應的唯一層,但樣式更改爲正確的圖層樣式)。
(http://i.imgur.com/w3ZbW.png)
拆卸控制器和添加一個新的做這樣的:
controlList.modifyFeature.deactivate();
map.removeControl(controlList.modifyFeature);
for(var i = 0; i <= 10; i++) {
if(document.getElementById('verksamhet').selectedIndex === i) {
controlList.modifyFeature = new OpenLayers.Control.ModifyFeature(window[layerName[i+1]], {displayClass: 'modButton', clickout: true, toggle: true, title: 'Modify feature'});
}
}
map.addControl(controlList.modifyFeature);
controlList.modifyFeature.activate();
我想刪除 - 和 - 添加一個新的控制器的方式工作,但問題是,我得到了控制器的副本,即它一次修改幾個層,因此我相信它不會首先刪除控制器。
任何方式來幫助這將不勝感激。