【发布时间】:2014-07-11 19:07:59
【问题描述】:
有没有办法通过图层名称而不是变量名称来更改图层的可见性?
var mylayer=new Openlayers.Layer.Vector('Layer 1', ...
我想通过使用“Layer 1”而不是“mylayer”来更改可见性
谢谢!
【问题讨论】:
标签: openlayers visibility layer
有没有办法通过图层名称而不是变量名称来更改图层的可见性?
var mylayer=new Openlayers.Layer.Vector('Layer 1', ...
我想通过使用“Layer 1”而不是“mylayer”来更改可见性
谢谢!
【问题讨论】:
标签: openlayers visibility layer
你正在寻找地图类的getLayersByName,见the map docs.这个函数接受一个匹配参数,可以是正则表达式。
var layer=map.getLayersByName('Layer 1');
layer[0].setVisibility(false);
或者只是,
map.getLayersByName('Layer 1')[0].setVisibility(false);
编辑:在 OP 的 cmets 之后,应该注意 getLayersByName 返回匹配层的数组,因此有必要索引正确的层。假设只有一个,那么如上所述使用 layer[0] 就可以了。
【讨论】: