From aec00ecc093be803860c8675cbe1c4c776a7cb4e Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Tue, 19 Mar 2024 17:49:21 +0800
Subject: [PATCH] update: 新建航线、事件编辑、kmz文件问题修改

---
 src/components/g-map/DroneControlPanel.vue |   78 ++++++++++++++++++++++++++++++++-------
 1 files changed, 64 insertions(+), 14 deletions(-)

diff --git a/src/components/g-map/DroneControlPanel.vue b/src/components/g-map/DroneControlPanel.vue
index 51159b7..c09cc48 100644
--- a/src/components/g-map/DroneControlPanel.vue
+++ b/src/components/g-map/DroneControlPanel.vue
@@ -14,56 +14,56 @@
                             {{ flightController ? '退出控制' : '进入控制' }}
                         </Button>
 
-                      <Button  size="small" @click="flyByPoints">
-                        图斑飞行
-                      </Button>
+<!--                      <Button  size="small" @click="flyByPoints">-->
+<!--                        图斑飞行-->
+<!--                      </Button>-->
                     </div>
                 </div>
                 <div class="row">
                     <div class="drone-control-direction">
-                        <Button size="small" ghost @mousedown="onMouseDown(KeyCode.KEY_Q)" @onmouseup="onMouseUp">
+                        <Button size="small" ghost @mousedown="onMouseDown(KeyCode.KEY_Q)" @mouseup="onMouseUp">
                             <template #icon>
                                 <UndoOutlined/>
                             </template>
                             <span class="word">Q</span>
                         </Button>
-                        <Button size="small" ghost @mousedown="onMouseDown(KeyCode.KEY_W)" @onmouseup="onMouseUp">
+                        <Button size="small" ghost @mousedown="onMouseDown(KeyCode.KEY_W)" @mouseup="onMouseUp">
                             <template #icon>
                                 <UpOutlined/>
                             </template>
                             <span class="word">W</span>
                         </Button>
-                        <Button size="small" ghost @mousedown="onMouseDown(KeyCode.KEY_E)" @onmouseup="onMouseUp">
+                        <Button size="small" ghost @mousedown="onMouseDown(KeyCode.KEY_E)" @mouseup="onMouseUp">
                             <template #icon>
                                 <RedoOutlined/>
                             </template>
                             <span class="word">E</span>
                         </Button>
-                        <Button size="small" ghost @mousedown="onMouseDown(KeyCode.ARROW_UP)" @onmouseup="onMouseUp">
+                        <Button size="small" ghost @mousedown="onMouseDown(KeyCode.ARROW_UP)" @mouseup="onMouseUp">
                             <template #icon>
                                 <ArrowUpOutlined/>
                             </template>
                         </Button>
                         <br/>
-                        <Button size="small" ghost @mousedown="onMouseDown(KeyCode.KEY_A)" @onmouseup="onMouseUp">
+                        <Button size="small" ghost @mousedown="onMouseDown(KeyCode.KEY_A)" @mouseup="onMouseUp">
                             <template #icon>
                                 <LeftOutlined/>
                             </template>
                             <span class="word">A</span>
                         </Button>
-                        <Button size="small" ghost @mousedown="onMouseDown(KeyCode.KEY_S)" @onmouseup="onMouseUp">
+                        <Button size="small" ghost @mousedown="onMouseDown(KeyCode.KEY_S)" @mouseup="onMouseUp">
                             <template #icon>
                                 <DownOutlined/>
                             </template>
                             <span class="word">S</span>
                         </Button>
-                        <Button size="small" ghost @mousedown="onMouseDown(KeyCode.KEY_D)" @onmouseup="onMouseUp">
+                        <Button size="small" ghost @mousedown="onMouseDown(KeyCode.KEY_D)" @mouseup="onMouseUp">
                             <template #icon>
                                 <RightOutlined/>
                             </template>
                             <span class="word">D</span>
                         </Button>
-                        <Button size="small" ghost @mousedown="onMouseDown(KeyCode.ARROW_DOWN)" @onmouseup="onMouseUp">
+                        <Button size="small" ghost @mousedown="onMouseDown(KeyCode.ARROW_DOWN)" @mouseup="onMouseUp">
                             <template #icon>
                                 <ArrowDownOutlined/>
                             </template>
@@ -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