| | |
| | | let handler: Cesium.ScreenSpaceEventHandler |
| | | const dimension = ref(3) |
| | | const _init = () => { |
| | | if (viewer) return |
| | | // Cesium Token |
| | | const cesiumToken = import.meta.env.VITE_CESIUM_TOKEN |
| | | Cesium.Ion.defaultAccessToken = cesiumToken |
| | |
| | | dimension.value = 3 |
| | | } |
| | | } |
| | | |
| | | // 长按实现地图放大 |
| | | const zoonIn = (range:number) => { |
| | | // 获取当前视角的高度 |
| | | const cameraHeight = viewer?.camera.positionCartographic.height |
| | | const amout = Cesium.Math.sign(range) * cameraHeight / Math.log(cameraHeight) |
| | | viewer?.camera.zoomIn(amout) |
| | | } |
| | | // 长按实现地图缩小 |
| | | const zoonOut = (range:number) => { |
| | | const cameraHeight = viewer?.camera.positionCartographic.height |
| | | const amout = Cesium.Math.sign(range) * cameraHeight / Math.log(cameraHeight) |
| | | viewer?.camera.zoomOut(amout) |
| | | } |
| | | onMounted(() => { |
| | | if (viewer) return |
| | | _init() |
| | |
| | | }) |
| | | |
| | | // 销毁地图模型 |
| | | onUnmounted(() => { |
| | | viewer = null |
| | | }) |
| | | // onUnmounted(() => { |
| | | // // viewer = null |
| | | // }) |
| | | return { |
| | | addPoint, |
| | | removeAllPoint, |
| | | flyTo, |
| | | removeById, |
| | | switchModel, |
| | | dimension |
| | | dimension, |
| | | zoonIn, |
| | | zoonOut |
| | | } |
| | | } |