以下是我的“问题”的简化示例。
我有一个像这样的键/值对列表:
var baseMaps = {"thing1": thing1,
"thing2": thing2};
var overlayMaps = {"OverLay1": link to overlay2
"Overlay2": link to overlay2};
等...........
我可以使用此代码添加到我的对象列表中:
overlayMaps["New Item"] = link to new item;
我在控制台上验证它是否已添加到overlayMaps列表中。
问题:它没有像地图一样显示在地图一侧的框中。它们放在一个盒子里,带有很少的勾号,可以打开和关闭它们。我错过了一些代码吗?好像我需要一种刷新图层组列表的方法。
答案 0 :(得分:1)
假设您的其余代码与documentation中的示例相同。
L.control.layers(baseLayers, overlays).addTo(map);
问题是你失去了对控件实例的引用,因为它没有将它分配给任何东西。由于addTo方法是可链接的,因此它将为您提供控制。
var layerControl = L.control.layers(baseLayers, overlays).addTo(map);
现在,您可以在代码中访问它并运行其方法,如layerControl。addBaseLayer