Вот упрощенный пример моей "проблемы".
У меня есть список пар ключ/значение, например:
var baseMaps = {"thing1": thing1,
"thing2": thing2};
var overlayMaps = {"OverLay1": link to overlay2
"Overlay2": link to overlay2};
так далее...........
Я могу использовать этот код для добавления в список объектов:
overlayMaps["New Item"] = link to new item;
Я проверяю на консоли, что он добавлен в список overlayMaps.
Проблема: она не отображается в поле со стороны карты, как и все остальные. Они находятся в коробке с маленькими галочками, чтобы включать и выключать их. Не хватает ли кода для этого? Кажется, мне нужен способ обновить список групп слоев.
Предполагая, что остальная часть вашего кода соответствует примеру в документации.
L.control.layers(baseLayers, overlays).addTo(map);
Проблема в том, что вы потеряли ссылку на экземпляр элемента управления, потому что не назначили его чему-либо. Поскольку метод addTo является цепным, он даст вам контроль.
var layerControl = L.control.layers(baseLayers, overlays).addTo(map);
Теперь вы можете получить доступ к нему в своем коде и запустить его методы, такие как layerControl. addBaseLayer