我有一個變焦控制GeoExt地圖面板的事件。當我的地圖上的圖層「超出範圍」,即他們的setVisibility
設置爲false時,我真的想禁用樹面板中的一些節點。我有我的zoomend事件工作,我也有一個checkchange事件的工作,但如果用戶按下zoombar多個級別,另一個問題是checkchange事件被評估一次以上,即使以後zoomend事件結束checkchange仍每次用戶僅點擊節點的複選框就會被觸發。我真的需要一種方法來控制這個checkchange事件只運行一次,並從如果用戶不使用zoombar射擊阻止它......火後,才另一個事件已經被解僱
map.events.on({ "zoomend": function (e) {
layerTree.on("checkchange", function (node, checked) {
alert(node.text + "Inside event");
if(checked == false)
node.disable();
else if(checked == true)
node.enable();
});
if (this.getZoom() > 7) {
tib_villages.setVisibility(true);
tib_lakes.setVisibility(true);
tib_townships.setVisibility(true);
}
else {
tib_villages.setVisibility(false);
tib_lakes.setVisibility(false);
tib_townships.setVisibility(false);
if (this.getZoom() > 5) {
infrastructure.setVisibility(true);
geography.setVisibility(true);
geography2.setVisibility(true);
tib_countys.setVisibility(true);
}
else{
infrastructure.setVisibility(false);
geography.setVisibility(false);
geography2.setVisibility(false);
tib_countys.setVisibility(false);
}
}//end else
}//end function (e)
}); //end map.events.on
感謝您所有的時間和反饋:)
elshae
如果節點沒有與圖層相關的id,兩者之間的聯繫是什麼?它們是在圖層顯示還是另一個屬性匹配時選擇的?你如何識別要禁用的節點(在什麼屬性上)? – SW4 2010-10-27 14:20:10
那麼我的節點的文字就等於我的圖層的顯示文字。我多想了一會兒,想着也許有辦法解決某種事件,但我還沒有能夠解決這個問題。下面是一個嘗試: 'layerRoot.on( 「checkchange」 功能(節點){ \t \t \t \t \t \t \t \t \t \t警報(node.text + 「內部事件」); \t \t \t \t \t \t \t \t \t \t node.disable(); \t \t \t \t \t \t \t \t \t}); \t \t \t \t \t \t \t \t \t tib_villages.setVisibility(假); \t \t \t \t \t tib_lakes.setVisibility(假); \t \t \t \t \t tib_townships.setVisibility(假);' – elshae 2010-10-27 16:13:50
基本上我想某種方式使得當層通過'setVisibility(假)'關斷時,節點被停用 – elshae 2010-10-27 16:18:45