| | |
| | | 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 |
| | |
| | | boundary: props.boundary, |
| | | contour: props.contour, |
| | | }) |
| | | cesiumContextMenu(true) |
| | | viewer.value = viewInstance.value.getViewer() |
| | | if (props.showAdminBoundary) { |
| | | adminBoundarySources = await loadJaAdminBoundary(viewer.value, { |
| | |
| | | if (removeCameraListener) removeCameraListener() |
| | | removeJaAdminBoundary(viewer.value, adminBoundarySources) |
| | | viewInstance.value?.viewerDestroy?.() |
| | | cesiumContextMenu(false) |
| | | }) |
| | | |
| | | const getMap = () => ({ viewer: viewer.value, publicCesium: viewInstance.value }) |