Overlayer, ведущий себя как Baselayer - PullRequest
0 голосов
/ 20 марта 2020

Контрольные слои имеют 4 оверлея: layer1, layer2, layer3, layer4. Я хочу, чтобы эти оверлейные слои вели себя как базовый слой. Это означает, что один слой отмечен, остальные автоматически отключены. Когда отмечен, например, layer1, я хочу удалить с карты layer2, layer3 и layer4, а также их легенду. Код ниже показывает, что, однако, layer2, layer3 и layer4 удаляются с карты только тогда, когда I ZOOM IN и ZOOM OUT. И я хочу стереть или удалить слои прямо, когда флажок установлен. Любой намек на то, как мне этого добиться?

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)       
    };


});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...