From 7d9fb50b4e444ba3afec098ad031e93b4e9ee9ee Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Wed, 29 Nov 2023 10:20:26 +0800
Subject: [PATCH] 航线库修改/api打包后可修改
---
src/components/g-map/DroneControlPanel.vue | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 53 insertions(+), 3 deletions(-)
diff --git a/src/components/g-map/DroneControlPanel.vue b/src/components/g-map/DroneControlPanel.vue
index 51159b7..dbd425d 100644
--- a/src/components/g-map/DroneControlPanel.vue
+++ b/src/components/g-map/DroneControlPanel.vue
@@ -321,6 +321,7 @@
import { parseJsonFile } from '/@/utils/geo-utils'
import { cesiumOperation } from '/@/hooks/use-cesium-tsa'
import * as Cesium from 'cesium'
+import { start } from 'repl'
const props = defineProps<{
sn: string,
deviceInfo: DeviceInfoType,
@@ -524,9 +525,17 @@
// })
flyByArea(sn, dockPoint, jsonPath, radius, deviceSn, payloadIndex).then(res => {
- const targetPoint = res.data
+ const targetPoint = res.data || []
+ // 机场位置
+ const startPoint = {
+ lon: props.deviceInfo.dock.basic_osd.longitude,
+ lat: props.deviceInfo.dock.basic_osd.latitude
+ }
+ targetPoint.unshift(startPoint)
+ console.log('targetPoint====', targetPoint)
// 获取到点之后在图上绘点
- targetPoint.forEach((point, index) => {
+ targetPoint.forEach((point: { lon: number; lat: number }, index: number) => {
+ console.log(point)
const setting = {
longitude: point.lon,
latitude: point.lat,
@@ -546,8 +555,49 @@
},
id: 'target' + index,
}
-
cesiumFunc.addPoint(setting)
+ // 根据点画连线
+ let polylineSetting = {}
+ if (index === (targetPoint.length - 1)) {
+ polylineSetting = {
+ polyline: {
+ positions: Cesium.Cartesian3.fromDegreesArrayHeights([
+ point.lon,
+ point.lat,
+ 0,
+ targetPoint[0].lon,
+ targetPoint[0].lat,
+ 0
+ ]),
+ width: 10,
+ arcType: Cesium.ArcType.NONE,
+ material: new Cesium.PolylineArrowMaterialProperty(
+ Cesium.Color.RED
+ ),
+ },
+ id: 'fxTarget' + index
+ }
+ } else {
+ polylineSetting = {
+ polyline: {
+ positions: Cesium.Cartesian3.fromDegreesArrayHeights([
+ point.lon,
+ point.lat,
+ 0,
+ targetPoint[index + 1].lon,
+ targetPoint[index + 1].lat,
+ 0
+ ]),
+ width: 10,
+ arcType: Cesium.ArcType.NONE,
+ material: new Cesium.PolylineArrowMaterialProperty(
+ Cesium.Color.RED
+ ),
+ },
+ id: 'fxTarget' + index
+ }
+ }
+ cesiumFunc.addPolyline(polylineSetting)
})
})
}
--
Gitblit v1.9.3