Leaflet 支持使用 CircleMarker 实现更大的点击半径

问题描述 投票:0回答:3

Leaflet 是否支持一种方法,允许创建的 CircleMarker 的半径为 5,但允许对单击事件敏感的标记的纬度/经度的半径(显示绑定的弹出窗口)为 15 ?

我目前创建了第二个更大的不透明度为 0 的圆圈来实现此目的,但希望有一个“更干净”的解决方案(如果存在的话)。

click leaflet
3个回答
4
投票

自 Leaflet 版本 1.3.0 起,

tolerance
可以指定为
Renderer
。此属性定义“围绕地图上的路径/对象扩展点击容差多少”:

var map = L.map('map', {
    renderer: L.canvas({ tolerance: 15 })
});

2
投票

Leaflet 没有您正在寻找的点击容差选项。它使用 DOM 元素作为标记,并使用常规事件处理来捕获点击事件。

您添加透明圆圈或边框的方法是一种合理的方法,如果我处于您的位置,我可能会使用这种方法。请记住,在较高的缩放级别下,标记周围 10 个额外像素非常重要,并且如果标记靠近或重叠,可能会使用户对意外行为感到困惑。


0
投票

如果有人搜索此内容并且不想添加两个标记,则此设置可以解决问题

 {weight: 15, opacity: 0, fillOpacity: 1,

© www.soinside.com 2019 - 2024. All rights reserved.