husq
2023-09-13 01e5133c54adf39957213fcc3d5a79ef834acf14
src/hooks/use-center-point.ts
@@ -5,12 +5,12 @@
  // 删除地图中所有标识点
  viewer.entities.removeAll()
  if (longitudeList.length === 0) return
  longitudeList.forEach((item: { id:string, longitude: number; latitude: number, label: string }) => {
  longitudeList.forEach((item: { id: string, longitude: number; latitude: number, label: string }) => {
    addPoint(viewer, item.id, item.longitude, item.latitude, item.label)
  })
}
// 绘制点
function addPoint (viewer: any, id:string, longitude: number, latitude: number, label: string) {
function addPoint (viewer: any, id: string, longitude: number, latitude: number, label: string) {
  const entity = viewer.entities.add({
    position: Cesium.Cartesian3.fromDegrees(longitude, latitude),
    id,
@@ -37,7 +37,7 @@
    const pickedObject = viewer.scene.pick(click.position)
    console.log(pickedObject, 'pickObject')
    if (Cesium.defined(pickedObject)) {
      const list = longitudeList.filter((v: { id:string, longitude: number; latitude: number; }) => v.id === pickedObject.id.id)
      const list = longitudeList.filter((v: { id: string, longitude: number; latitude: number; }) => v.id === pickedObject.id.id)
      if (pickedObject.id.label) {
        pickedObject.id.label = null
      } else {
@@ -48,10 +48,19 @@
        }
      }
    //   const point = pickedObject.id.point
    //
      //   const point = pickedObject.id.point
      //
    }
  }
  , Cesium.ScreenSpaceEventType.LEFT_CLICK)
  // handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK)
}
// 飞到项目中心点
export function flyTo (viewer: any, longitude: number, latitude: number) {
  // console.log()
  const targetPosition = { longitude, latitude }
  viewer.camera.flyTo({
    destination: targetPosition,
  })
}