有没有办法通过名称更改图层的可见性,而不是通过其var名称?
var mylayer=new Openlayers.Layer.Vector('Layer 1', ...
我想通过使用'第1层'来改变可见性。而不是' mylayer'
谢谢!
答案 0 :(得分:1)
您正在寻找地图类的getLayersByName,请参阅the map docs.此函数采用匹配参数,该参数可以是正则表达式。
var layer=map.getLayersByName('Layer 1');
layer[0].setVisibility(false);
或只是,
map.getLayersByName('Layer 1')[0].setVisibility(false);
编辑:在OP的评论之后,应该注意getLayersByName返回匹配图层的数组,因此有必要索引正确的图层。假设只有一个,那么如上所述使用layer [0]将起作用。