【发布时间】:2021-04-12 14:56:42
【问题描述】:
我在 OpenLayers 中有两个叠加层,我不希望它们同时显示。这是我正在使用的代码,因此当有人使用图层切换器时,另一层会关闭。问题是这段代码再次触发了“changeLayer”事件监听器,函数隐藏了两个层。
还有其他方法可以强制用户一次只查看一个图层吗?理想情况下,我希望图层切换器框中的单选按钮而不是复选框。
var mapLayerChanged = function(event) {
if (event.layer.name == "Sea Cells") {
$('.toolbar .view-options').show();
map.layers[1].setVisibility(false);
} else if (event.layer.name == "Coast Cells") {
$('.toolbar .view-options').hide();
map.layers[2].setVisibility(false);
}
}
map = new OpenLayers.Map( {
div : 'map',
panDuration : 100,
numZoomLevels : 18,
maxResolution : maxResolution,
maxExtent : maxExtent,
displayProjection : new OpenLayers.Projection( "EPSG:2193" ),
controls : [],
eventListeners: {
"changelayer" : mapLayerChanged
}
} );
【问题讨论】:
标签: javascript openlayers