我在 OpenLayers 中有一张地图,其中有许多带有标记的图层。每次用户缩放地图时,我都会调用一个对重叠标记进行分组的函数。这在使用普通缩放按钮进行缩放时效果很好,但我也想在用户使用鼠标滚轮缩放时调用此函数。
我想我必须使用OpenLayers.Handler.MouseWheel
来捕获这个事件,但我不知道如何。有没有人有这方面的例子?
我在 OpenLayers 中有一张地图,其中有许多带有标记的图层。每次用户缩放地图时,我都会调用一个对重叠标记进行分组的函数。这在使用普通缩放按钮进行缩放时效果很好,但我也想在用户使用鼠标滚轮缩放时调用此函数。
我想我必须使用OpenLayers.Handler.MouseWheel
来捕获这个事件,但我不知道如何。有没有人有这方面的例子?
zoomend
无论用户如何操作(按钮、双击或鼠标滚动),您都应该使用每次用户放大或缩小时触发的地图事件。
代码应如下所示:
map.events.on({ "zoomend": function(){
//Do whatever you need to do here
}});
使用最新版本的 Openlayers v6.5.0。我搞定了
this.map = new Map({
controls: [],
interactions: defaultInteractions({
shiftDragZoom: false,
doubleClickZoom: false,
pinchRotate: false,
mouseWheelZoom: false,
}).extend([
new MouseWheelZoom({
condition: platformModifierKeyOnly,
handleEvent: (event) => {
if (event.type !== "wheel") return;
if (event.originalEvent.deltaY <= -3) {
//mouse wheel up
} else {
//mouse wheel down
}
},
}),
]),
target: "map",
layers,
});