xieb
2023-11-29 951aacd10e070d3c9867dbb19404bc470f2e3aad
src/hooks/use-cesium-tsa.ts
@@ -46,7 +46,7 @@
// 定义全局的viewer变量防止重复生成
// eslint-disable-next-line no-var
var viewer: Cesium.Viewer | null = null
export function cesiumOperation() {
export function cesiumOperation () {
  let handler: Cesium.ScreenSpaceEventHandler
  const TDT_Token = 'c6eea7dad4fa1e2d1e32ec0e7c9735db'
  // 天地图Key
@@ -184,9 +184,8 @@
      }
    })
  }
  let leftClickHandler: Cesium.ScreenSpaceEventHandler
  // 添加点击事件
  let leftClickHandler: Cesium.ScreenSpaceEventHandler
  const addClickEvent = (sid: string, cb: Function) => {
    if (leftClickHandler) {
      removeClickEvent()
@@ -194,7 +193,7 @@
    leftClickHandler = new Cesium.ScreenSpaceEventHandler(viewer?.scene.canvas)
    leftClickHandler.setInputAction(function (click: { position: Cesium.Cartesian2 }) {
      const pick = viewer?.scene.pick(click.position)
      if (pick && pick.id._id === sid) {
      if (pick && (pick.id._id === sid || pick.id._id.includes(sid))) {
        cb(click, pick, viewer, handler)
      }
    }, Cesium.ScreenSpaceEventType.LEFT_CLICK)
@@ -213,7 +212,7 @@
  }
  // 通过点ID删除
  function removeById(id: string) {
  function removeById (id: string) {
    viewer?.entities.removeById(id)
    const pointEntity = viewer?.entities.getById(id)
    if (pointEntity && pointEntity !== undefined) {
@@ -221,12 +220,12 @@
    }
  }
  // 通过点ID获取实体
  function getEntityById(id: string) {
  function getEntityById (id: string) {
    const pointEntity = viewer?.entities.getById(id)
    return pointEntity
  }
  // 更新图片实体位置
  function updateEntityPosition(longitude: number, latitude: number, id: string, params?: any) {
  function updateEntityPosition (longitude: number, latitude: number, id: string, params?: any) {
    const entity = getEntityById(id) as Cesium.Entity
    const position = Cesium.Cartesian3.fromDegrees(longitude, latitude)
    const heading = Cesium.Math.toRadians(-params.heading)