From 0f16db42e4e331bfaf084c27ca602c275e87668d Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Tue, 28 Oct 2025 18:07:42 +0800
Subject: [PATCH] feat:渲染数据
---
src/hooks/useRouteLine/useRouteLine.js | 50 +++++++++++++++++++++++++++++---------------------
1 files changed, 29 insertions(+), 21 deletions(-)
diff --git a/src/hooks/useRouteLine/useRouteLine.js b/src/hooks/useRouteLine/useRouteLine.js
index 296846d..6e4f50e 100644
--- a/src/hooks/useRouteLine/useRouteLine.js
+++ b/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
@@ -44,6 +47,8 @@
}
async function renderPreviewLine (kmzUrl, wayline_type, cb = () => { }, infos = {}) {
+
+
resetCurRouteLineData()
const { pointPlacemark, polygonList, templateType, startPoint, execute_height_mode, auto_flight_speed } =
@@ -141,14 +146,15 @@
pointList.shift()
- let dronePosition = {}
- if (JSON.stringify(curRouteLineData.value.infos) != '{}') dronePosition = {
- longitude: curRouteLineData.value.infos[0].longitude,
- latitude: curRouteLineData.value.infos[0].latitude,
- height: curRouteLineData.value.infos[0].height || 0,
+ if (JSON.stringify(curRouteLineData.value.infos) != '{}') {
+ pointList.unshift({
+ longitude: curRouteLineData.value.infos[0].longitude,
+ latitude: curRouteLineData.value.infos[0].latitude,
+ height: curRouteLineData.value.infos[0].height || 0,
+ })
}
- const routePositions = [dronePosition, ...pointList].map(i => Cesium.Cartesian3.fromDegrees(Number(i.longitude), Number(i.latitude), Number(i.height)))
+ const routePositions = pointList.map(i => Cesium.Cartesian3.fromDegrees(Number(i.longitude), Number(i.latitude), Number(i.height)))
previewDataSource.entities.add({
polyline: {
@@ -159,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({
@@ -188,12 +194,14 @@
height: 50,
},
})
-
- flyVisual(
- pointList.map(i => [Number(i.longitude), Number(i.latitude), Number(i.height)]),
+ // 获取最后一点高度
+ console.log(pointList, '查看数组最后一点高度')
+ store.commit('setLastHeight', Number(pointList[pointList.length - 1].height))
+ flyVisual({
+ positionsData:pointList.map(i => [Number(i.longitude), Number(i.latitude), Number(i.height)]),
viewer,
- 20
- )
+ multiple: 20
+ })
}
function removePreviewLine () {
@@ -229,4 +237,4 @@
removePreviewLine,
resetCurRouteLineData
}
-}
\ No newline at end of file
+}
--
Gitblit v1.9.3