Openlayers - 按名称更改图层可见性

时间:2014-07-11 19:08:00

标签: openlayers visibility layer

有没有办法通过名称更改图层的可见性,而不是通过其var名称?

var mylayer=new Openlayers.Layer.Vector('Layer 1', ...

我想通过使用'第1层'来改变可见性。而不是' mylayer'

谢谢!

1 个答案:

答案 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]将起作用。