吉安感知网项目-前端
shuishen
2026-02-03 89380e6260a75d1d3b94de687ebcc2f50d50659d
applications/task-work-order/src/components/map-container/common-cesium-map.vue
@@ -66,6 +66,22 @@
let initialized = false
let removeCameraListener = null
const preventDefault = event => {
   event.preventDefault()
   return
}
const cesiumContextMenu = (isAdd = true) => {
   let cesium = document.getElementById(mapId)
   if (!cesium) return
   if (isAdd) {
      cesium.addEventListener('contextmenu', preventDefault)
   } else {
      cesium.removeEventListener('contextmenu', preventDefault)
   }
}
const initMap = async () => {
   if (initialized) return
   initialized = true
@@ -77,6 +93,7 @@
      boundary: props.boundary,
      contour: props.contour,
   })
   cesiumContextMenu(true)
   viewer.value = viewInstance.value.getViewer()
   if (props.showAdminBoundary) {
      adminBoundarySources = await loadJaAdminBoundary(viewer.value, {
@@ -118,6 +135,7 @@
   if (removeCameraListener) removeCameraListener()
   removeJaAdminBoundary(viewer.value, adminBoundarySources)
   viewInstance.value?.viewerDestroy?.()
   cesiumContextMenu(false)
})
const getMap = () => ({ viewer: viewer.value, publicCesium: viewInstance.value })