Mapbox GL JS是否具有渲染要素的"hit tolerance"属性?



通过"命中容差",我的意思是当鼠标指针在特征渲染位置的某个像素容差范围内时,用户可以选择/交互一个特征。OpenLayers在这里很好地展示了这个概念。

我在 Mapbox GL JS 文档中找不到任何与此功能匹配的内容。有什么好的解决方法吗?

据我所知,没有 - 或者至少,用户无法配置任何内容。

通常的解决方法是这样的:

  1. 创建另一个具有非常低的非零不透明度的图层,该图层在物理上大于可见对象。例如,具有较大line-width的线或具有较大circle-radius的圆。
  2. 将此图层放在可见图层下方。
  3. 检查可见层和几乎不可见层上的命中。

您可以在此处看到正在实现的示例。

">

功能"可以是mapbox中的很多东西。

如果您的上下文是 MapBox 标记,则在标记元素上增加 css 填充属性相当容易。这将达到您所寻求的效果。 例如

marker.getElement().style.padding = '10px';

好吧,至少我是这样解决的;)

最新更新