【问题标题】:How to dispatch events from an OpenLayers overlay to the map如何将事件从 OpenLayers 叠加层分派到地图
【发布时间】:2020-02-14 07:34:48
【问题描述】:

在 OpenLayers 中向地图添加叠加元素时,我可以将叠加层的 stopEvent 属性设置为 true。这使我能够处理覆盖元素上的不同事件,例如鼠标移动、点击等。

但我也希望一些事件不要停止,尤其是 wheel 事件。我希望传播此事件,以便即使鼠标悬停在叠加层上,地图的缩放行为也能正常工作。

我怎样才能做到这一点?我可以在叠加层中拦截 wheel 事件,如何将其发送到地图元素或触发 noemal 滚动行为所需的任何地方?

【问题讨论】:

  • 根据捕获的事件使用地图功能怎么样?

标签: javascript openlayers


【解决方案1】:

对于覆盖目标 html 元素,您可以使用指向无的指针事件。

CSS

#marker {
  pointer-events: none;
}

JS

new Overlayer({
    element: document.getElementById('marker')
})

【讨论】:

    【解决方案2】:

    仅作记录:

    当我将它用于 JavaFX 集成 (mapjfx) 时,我捕获了 wheel 事件,将其发送到集成的 Java 端,并在那里增加/降低缩放级别并将其发送回 Javascript。所以我不用担心在Javascript层处理它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-16
      相关资源
      最近更新 更多