Показать сообщение отдельно
  #1 (permalink)  
Старый 23.11.2018, 15:08
Новичок на форуме
Отправить личное сообщение для PC_Principal Посмотреть профиль Найти все сообщения от PC_Principal
 
Регистрация: 23.11.2018
Сообщений: 1

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);
            }
        }
    });
Ответить с цитированием