如何使用传单中的自定义控件切换可单击的标记属性

How do I toggle clickable marker property using custom control in Leaflet?

本文关键字:单击 属性 何使用 单中 自定义控件      更新时间:2023-09-26

正如我所看到的,标记不包含更改可点击属性(真/假(的方法。并且我需要在所有标记创建后多次更改此属性(我知道我可以基于旧标记创建一个新标记,但这确实是开销,我想避免它(到这个时候,我尝试了这种方法来处理自定义按钮上的 onclick 事件:

function makeMarkersClickable() {
  for (var id in myMarkers) {
    var marker = myMarkers[id];
    marker.options.clickable = true;
    marker.clickable = true;
  }
}

显然它没有用。似乎应该有一种方法来更新整个地图或类似的东西来解决问题。

此问题有两种解决方案:

  • "我知道我可以基于旧标记创建一个新标记,但这确实是开销,我想避免它":你会这样做。这是更好的解决方案,您不应该过早地优化它。不可设置的选项是有原因的。
  • clickable设置为始终true,并添加和删除事件侦听器。