【问题标题】:Openlayers - Change layer visibility by its nameOpenlayers - 按名称更改图层可见性
【发布时间】:2014-07-11 19:07:59
【问题描述】:

有没有办法通过图层名称而不是变量名称来更改图层的可见性?

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

我想通过使用“Layer 1”而不是“mylayer”来更改可见性

谢谢!

【问题讨论】:

    标签: openlayers visibility layer


    【解决方案1】:

    你正在寻找地图类的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] 就可以了。

    【讨论】:

    • 不客气。如果它对您有所帮助,也许您可​​以考虑接受它:D
    • 当然!抱歉,我是新用户:)
    • 你只漏掉了一个细节:'map.getLayersByName' 返回一个数组,所以它对我的工作方式是'layer[0].setVisibility(false)'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多