如何将事件从 OpenLayers 叠加层分派到地图

How to dispatch events from an OpenLayers overlay to the map

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

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

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

您可以使用指向 none 的指针事件作为覆盖目标 html 元素。

CSS

#marker {
  pointer-events: none;
}

JS

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

仅作记录:

因为我将其用于 JavaFX 集成 (mapjfx) 我捕获了车轮事件,将其发送到集成的 Java 端,in/decrease在那里缩放级别并将其发送回 Java 脚本。所以我不需要担心在Java脚本层处理它。