首页 > 解决方案 > Overlayer 表现为 Baselayer

问题描述

控制层有 4 个 Overlayers:layer1、layer2、layer3、layer4。我希望这些覆盖层充当基础层。这意味着其中一个图层已选中,而其他图层将自动取消选中。例如,当检查Layer1时,我想从Map Layer2,Layer3和Layer4及其传说中删除。下面的代码显示,只有当我放大和缩小时才会从地图中删除 layer2、layer3 和 layer4。我想在选中复选框时立即清除或删除图层。关于我如何实现这一目标的任何提示?

layer1.on('loading', function () {
    $('#layer1')[0].textContent = 'myVar'
    $('#legend-layer1')[0].setAttribute('style', 'visibility: show')
    $('#legend-layer2')[0].setAttribute('style', 'visibility: hidden')
    $('#legend-layer3')[0].setAttribute('style', 'visibility: hidden')
    $('#legend-layer4')[0].setAttribute('style', 'visibility: hidden')
    if (map.hasLayer(layer2) || map.hasLayer(layer3)|| map.hasLayer(layer4)) {
        map.removeLayer(layer2)
        map.removeLayer(layer3)
        map.removeLayer(layer4)       
    };


});

标签: javascripthtmlleafletmappinggis

解决方案


推荐阅读