向图层控件动态添加/删除FeatureGroup?

时间:2016-01-13 05:15:16

标签: leaflet

我目前正在使用leaflet.draw插件绘制多边形和线条。该插件依赖于FeatureGroup进行存储和编辑。我想管理这些几何图形(例如,打开或关闭它们的可见性),就像图层控件中那样。

最终,我希望能够添加和删除这些FeatureGroup。

这可以实现吗?

附加信息(感谢iH8的评论和抱歉缺乏细节):

这是我想要实现的目标: 1.将FeatureGroup视为动态图层(可以添加或删除或编辑)。这是我可以绘制几何图形和放置标记的地方 2.添加FeatureGroup时,它应位于图层控件中,因此用户可以打开或关闭可见性。

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。您可以向L.Control.Layers添加任何类型的图层,这也意味着对图层进行分组:

new L.Control.Layers(null, {
    'Markers': new L.FeatureGroup([
        new L.Marker([45, 0]),
        new L.Marker([-45, 0]),
        new L.Marker([0, 45]),
        new L.Marker([0, -45])
    ]),
    'Polylines': new L.FeatureGroup([
        new L.Polyline([[-45, -45], [45, 45]]),
        new L.Polyline([[45, -45], [-45, 45]])
    ])
}).addTo(map);

关于Plunker的工作示例:http://plnkr.co/edit/6mC6HTfPmzG9AblK1wyg?p=preview