在openLayers中,默认有一个DoubleClickZoom事件,双击会缩放地图。当需要双击做一些其他操作的时候,效果就会冲突。
解决办法是把这个默认事件删掉。
import { Map, View, Feature, Collection } from 'ol'
import { DoubleClickZoom } from 'ol/interaction'
const map = new Map({
view: new View({
center: [0, 0],
projection: 'EPSG:4326', // EPSG:4326格式的经纬度
zoom: 15, // 地图默认缩放级别
maxZoom: 19, // 地图最大缩放级别
minZoom: 11, // 地图最小缩放级别
}),
target: 'map', // 地图容器id
controls: defaults({
zoom: false,
})
})
// 删除默认的双击事件
const dblClickInteraction = map
.getInteractions()
.getArray()
.find(interaction => {
return interaction instanceof DoubleClickZoom
})
map.removeInteraction(dblClickInteraction)