将键/值对附加到Leaflet中的L.Control.layer

时间:2017-06-27 18:58:43

标签: javascript leaflet controls layer

以下是我的“问题”的简化示例。

我有一个像这样的键/值对列表:

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

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

等...........

我可以使用此代码添加到我的对象列表中:

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

我在控制台上验证它是否已添加到overlayMaps列表中。

问题:它没有像地图一样显示在地图一侧的框中。它们放在一个盒子里,带有很少的勾号,可以打开和关闭它们。我错过了一些代码吗?好像我需要一种刷新图层组列表的方法。

1 个答案:

答案 0 :(得分:1)

假设您的其余代码与documentation中的示例相同。

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

问题是你失去了对控件实例的引用,因为它没有将它分配给任何东西。由于addTo方法是可链接的,因此它将为您提供控制。

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

现在,您可以在代码中访问它并运行其方法,如layerControl。addBaseLayer