1.arcgis api for js默认双击放大地图
2. view对象上添加一个事件监听器,当在地图上双击操作时,这个监听器就会被触发。
在监听器的回调函数中,event.stopPropagation()
这行代码的作用是阻止事件继续传播。通过调用 stopPropagation()
,阻止了这个默认行为,从而实现了“取消双击放大地图”的效果。
view.on("double-click", (event) => {
// 取消双击放大地图
event.stopPropagation();
});
3.项目完整示例:
<script setup>
import { onMounted } from "vue";
import WebScene from "@arcgis/core/WebScene";
import SceneView from "@arcgis/core/views/SceneView";
onMounted(() => {
MapInit();
});
function MapInit() {
let scene = new WebScene({
portalItem: {
id: "579f97b2f3b94d4a8e48a5f140a6639b",
portal: "https://www.arcgis.com",
},
ground: "flat",
layers: [],
});
let view = new SceneView({
container: "map_box",
map: scene,
camera: {
position: [118.29597977877853, 32.2673315514992, 210.6],
tilt: 75.6,
heading: 65,
},
});
// 关键代码如下:
// 注意:下方的"view"和上方创建地图实例所使用的变量名"view"一致
view.on("double-click", (event) => {
// 取消双击放大地图
event.stopPropagation();
});
}
</script>
<template>
<div id="map_box"></div>
</template>
<style scoped>
#map_box {
position: absolute;
left: 0vw;
top: 0vh;
height: 100vh;
width: 100vw;
background: rgba(255, 255, 255, 0);
}
</style>
(ps:如果文章有帮助到你,请点个小小的赞鼓励一下作者哟~~)