通过使用变量而不是图层名称本身来更改图层的可见性

Posted

技术标签:

【中文标题】通过使用变量而不是图层名称本身来更改图层的可见性【英文标题】:Change the visibility of layer by using variable instead of layer's name itself 【发布时间】:2017-06-18 06:22:09 【问题描述】:

这是我的选择。

<select id="sel_dist" onChange="seldist();">
    <option value="layer1" selected=selected>None</option>
    <option value="layer2">1</option>
    <option value="layer3">2</option>
</select>

这是我在 Openlayers 中的图层

layer1 =  new OpenLayers.Layer.WMS("Map",serverWMS,
                                        layers: 'test:Layer1',transparent: true,
                                        isBaseLayer:false, visibility: false);

我想要做的是当我选择选项“第 1 层”时,第 1 层应该是可见的。

function seldist()

var layer_name=$("#sel_dist option:selected").val()
layer_name.setVisibility(true);

但是当我使用layer_name.setVisibility时,它假定'layer_name' 作为图层名称,但我只想将它用作变量。任何帮助将不胜感激。

【问题讨论】:

交叉发布为gis.stackexchange.com/q/244408/115 【参考方案1】:

已编辑:

eval(layer_name).setVisibility(true);

【讨论】:

它说“Uncaught TypeError: $(...).setVisibility is not a function at seldist” 非常感谢。成功了!!这个问题困扰我很久了。

以上是关于通过使用变量而不是图层名称本身来更改图层的可见性的主要内容,如果未能解决你的问题,请参考以下文章

AGS JS开发-动态图层全面解析一

gis怎么导出图层的坐标系并添加到另一个图层

使用 iOS6 中的新地图,是不是可以更改图层的颜色(公园、水、建筑物)

解决Arcgis动态图层Zoom值为-1的问题

减少图层数量(图层性能 15.4 )

以编程方式更改图层列表可绘制项的底部属性