2013-02-20 86 views
0

感謝Richard Greenwood,此功能顯示layerswitcher控件中哪些圖層未被選中。如何在layerswitcher中取消選中圖層並僅保存變量

map.events.register('changelayer', null, function(evt){ 
     if(evt.property === "visibility") { 
      alert(evt.layer.name + " layer visibility changed to " + evt.layer.visibility); 
     } 
}); 

我想知道如何在變量數組中保存未選圖層。例如,我在layerswitcher中有層「a」,「b」,「c」,所以「a」未被選中,我想把「b」和「c」保存在myarray = [b,c]這樣的數組中。然後,我可以遍歷這個數組來做一些只調用層「b」和「c」的進程。

我會喜歡這個的一些想法,在此先感謝,

+0

這是一個普遍的JavaScript編程的問題,應該已經張貼的StackOverflow – 2013-02-21 07:15:42

回答

2

例如:

var vlayers = []; 
function get_vlayers(){ 
    vlayers = [];  
    for (var i=0; i<map.layers.length; i+=1) { 
    if (map.layers[i].visibility) { 
     vlayers.push(map.layers[i]); 
    } 
    } 
} 
map.events.register('changelayer', null, get_vlayers) 
相關問題