husq
2023-10-09 2c680fa0913b9ff1e8e7a4f8bc3dd49543fc97b5
src/hooks/use-cesium-tsa.ts
@@ -34,7 +34,6 @@
  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
@@ -160,6 +159,20 @@
        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()
@@ -169,15 +182,17 @@
  })
  // 销毁地图模型
  onUnmounted(() => {
    viewer = null
  })
  // onUnmounted(() => {
  //   // viewer = null
  // })
  return {
    addPoint,
    removeAllPoint,
    flyTo,
    removeById,
    switchModel,
    dimension
    dimension,
    zoonIn,
    zoonOut
  }
}