0

Richard Greenwood のおかげで、この関数は、layerswitcher コントロールで選択されていないレイヤーを表示します。

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

選択されていないレイヤーを変数配列に保存する方法を知りたいです。たとえば、レイヤースイッチャーにレイヤー「a」、「b」、「c」があるため、「a」は選択されておらず、「b」と「c」を myarray = [b,c] のような配列に保存します。次に、この配列をループして、レイヤー「b」と「c」のみを呼び出すいくつかのプロセスを実行できます。

これについていくつかのアイデアをいただければ幸いです。事前に感謝します。

4

1 に答える 1

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)
于 2013-02-21T05:56:07.840 に答える