无人机管理后台前端(已迁走)
罗广辉
2025-10-10 8bfd657326eb9d4bd9b63920cfe3bd362cea4445
src/hooks/useRouteLine/useRouteLine.js
@@ -13,6 +13,8 @@
import { ArrowLineMaterialProperty } from '@/utils/cesium/Material'
import { flyVisual } from '@/utils/cesium/mapUtil'
import { useStore } from 'vuex'
let arrowLineMaterialProperty = new ArrowLineMaterialProperty({
   color: new Cesium.Color(128 / 255, 215 / 255, 255 / 255, 1),
   directionColor: new Cesium.Color(1, 1, 1, 1),
@@ -22,6 +24,7 @@
})
export function useRouteLine () {
   const store = useStore()
   let viewer = null
   let previewDataSource = null
@@ -162,15 +165,15 @@
         },
      })
         // 落点线
         ; (pointList || [])?.forEach((item, index) => {
            const topPosition = Cesium.Cartesian3.fromDegrees(Number(item.longitude), Number(item.latitude), Number(item.height))
            let setting = {
               position: topPosition,
               polyline: getPolyLine(viewer, { value: pointList }, index),
            }
            previewDataSource.entities.add(setting)
         })
      // 落点线
      ; (pointList || [])?.forEach((item, index) => {
         const topPosition = Cesium.Cartesian3.fromDegrees(Number(item.longitude), Number(item.latitude), Number(item.height))
         let setting = {
            position: topPosition,
            polyline: getPolyLine(viewer, { value: pointList }, index),
         }
         previewDataSource.entities.add(setting)
      })
      // 终点
      previewDataSource.entities.add({
@@ -191,6 +194,8 @@
            height: 50,
         },
      })
      // 获取最后一点高度
      store.commit('setLastHeight', Number(pointList[pointList.length - 1].height))
      flyVisual({
         positionsData:pointList.map(i => [Number(i.longitude), Number(i.latitude), Number(i.height)]),
         viewer,