【问题标题】:How to unselect layers in layerswitcher and save in variable only the selected ones如何在图层切换器中取消选择图层并仅将所选图层保存在变量中
【发布时间】:2013-02-20 22:11:50
【问题描述】:

感谢 Richard Greenwood,此功能显示了图层切换器控件中未选择的图层。

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”的过程。

我会很感激对此的一些想法,在此先感谢,

【问题讨论】:

  • 这是一个通用的 JavaScript 编程问题,应该已经发布到 StackOverflow 上

标签: openlayers layer arrays


【解决方案1】:

例如:

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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 1970-01-01
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多