Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Leaflet JS - проверка слоя на совпадение с переменной (https://javascript.ru/forum/css-html/75998-leaflet-js-proverka-sloya-na-sovpadenie-s-peremennojj.html)

PC_Principal 23.11.2018 15:08

Leaflet JS - проверка слоя на совпадение с переменной
 
Добрый день, уважаемые форумчане!

Возникла проблема с библиотекой Leaflet-js а именно, есть такая переменная:

var AllLayers = {
        "Локации":locations,
        "Сокровища":treasures,
    };


По идее, можно в дочерние разделы переменной получить доступ таким образом:

Alllayers.Локации

Но вот вопрос, в DOM - я получаю через другую переменную название совпадающее с ключом дочернего элемента объекта Alllayers

Хотел спросить как мне проверять его на соответствие для вывода слоев на карту Leaflet через другую переменную? Сейчас все это выглядит примерно так:

$("body").on('DOMSubtreeModified', ".filter-option.pull-left", function() {
        
        // Значение может совпадать с ключом дочернего элемента в AllLayers
        var domval = $(this).text();

        if(domval === 'Показать все маркеры') {
            $.each(AllLayers, function(i) {
                AllLayers[i].addTo(map);
            });
        } else if(domval === 'Скрыть все маркеры') {
            $.each(AllLayers, function(i) {
                map.removeLayer(AllLayers[i]);
            });
        } else {
            if(map.hasLayer(AllLayers.hasOwnProperty(domval))) {
                map.removeLayer(AllLayers[i]);
            } else {
                AllLayers[i].addTo(map);
            }
        }
    });


Часовой пояс GMT +3, время: 02:27.