【问题标题】:Dynamically adding/removing FeatureGroup to/from the Layer Control?从图层控件动态添加/删除 FeatureGroup?
【发布时间】:2016-01-13 05:15:15
【问题描述】:

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

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

这可以实现吗?

附加信息(感谢 iH8 的评论,对缺乏细节表示歉意):

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

【问题讨论】:

  • 欢迎来到 SO!如果您希望通过 Leaflet.draw 插件创建的所有功能位于同一功能组中,并且能够作为一个整体打开/关闭它,而不是单个功能,这很容易做到独立。否则,这将变得更加复杂。

标签: leaflet


【解决方案1】:

是的,这是可能的。您可以将任何类型的图层添加到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

【讨论】:

  • 我正在使用传单角度指令,并希望将 FeatureGroup 视为可以打开和关闭的“层”。我也想动态地做到这一点,即创建/删除 FeatureGroup 层
  • 好吧,您应该在问题中提到类似的事情。然后,当人们花时间和精力回答您的问题时,他们拥有所有事实和要求,因此他们不会将时间和精力浪费在对您无用的答案上。请参阅:stackoverflow.com/help/how-to-ask 问题是:您可以将要素组放入图层控件中吗?答案是肯定的,我什至给你举了一个例子。我建议您在一个新的正确问题上投入更多精力。
猜你喜欢
  • 2021-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 1970-01-01
  • 2020-08-23
  • 1970-01-01
相关资源
最近更新 更多