Добавить пару ключ / значение в L.Control.layer в Leaflet

1

Вот упрощенный пример моей "проблемы".

У меня есть список пар ключ/значение, например:

var baseMaps = {"thing1": thing1,
                 "thing2": thing2};

var overlayMaps = {"OverLay1": link to overlay2
                    "Overlay2": link to overlay2};

так далее...........

Я могу использовать этот код для добавления в список объектов:

overlayMaps["New Item"] = link to new item;

Я проверяю на консоли, что он добавлен в список overlayMaps.

Проблема: она не отображается в поле со стороны карты, как и все остальные. Они находятся в коробке с маленькими галочками, чтобы включать и выключать их. Не хватает ли кода для этого? Кажется, мне нужен способ обновить список групп слоев.

Теги:
leaflet
controls
layer

1 ответ

1
Лучший ответ

Предполагая, что остальная часть вашего кода соответствует примеру в документации.

L.control.layers(baseLayers, overlays).addTo(map);

Проблема в том, что вы потеряли ссылку на экземпляр элемента управления, потому что не назначили его чему-либо. Поскольку метод addTo является цепным, он даст вам контроль.

var layerControl = L.control.layers(baseLayers, overlays).addTo(map);

Теперь вы можете получить доступ к нему в своем коде и запустить его методы, такие как layerControl. addBaseLayer

Ещё вопросы

Сообщество Overcoder
Наверх
Меню