From 0d2edb0421b6aaf586a9df317e6076231f00d919 Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Tue, 25 Feb 2025 09:57:08 +0800
Subject: [PATCH] 修改航线和提交安装组件
---
src/views/hooks/droneFly.ts | 112 +++++++++++++++++++++++++++----------------------------
1 files changed, 55 insertions(+), 57 deletions(-)
diff --git a/src/views/hooks/droneFly.ts b/src/views/hooks/droneFly.ts
index a42f788..f75d3b7 100644
--- a/src/views/hooks/droneFly.ts
+++ b/src/views/hooks/droneFly.ts
@@ -127,65 +127,63 @@
}
}
const imgRightBlue = new URL('@/assets/images/arrow-right-pink.png', import.meta.url).href
- // 暂时把航线屏蔽
// 无人机路线轨迹,判断是否存在drone_route_remove
- // if (getEntityById('drone_route_remove')) {
- // window.cesiumViewer.entities.add({
- // name: 'drone_route_remove',
- // id: 'drone_route_remove',
- // polyline: {
- // width: 7,
- // positions: previousPositions,
- // material: new ImageTrailMaterial({
- // color: globalCesium.Color.ORANGE,
- // speed: 10,
- // image: imgRightBlue,
- // repeat: { x: 1, y: 0 },
- // }),
- // clampToGround: false,
- // },
- // })
- // }
+ if (getEntityById('drone_route_remove')) {
+ window.cesiumViewer.entities.add({
+ name: 'drone_route_remove',
+ id: 'drone_route_remove',
+ polyline: {
+ width: 7,
+ positions: previousPositions,
+ material: new ImageTrailMaterial({
+ color: globalCesium.Color.ORANGE,
+ speed: 10,
+ image: imgRightBlue,
+ repeat: { x: 1, y: 0 },
+ }),
+ clampToGround: false,
+ },
+ })
+ }
- // if (data.deviceInfo[data.currentSn].mode_code && [3, 4, 5, 9, 10].includes(deviceInfo.mode_code)) {
- // if (switchSaving) return (switchSaving = false)
- // // console.log('5555', data.deviceInfo[data.currentSn].longitude)
- // const newPositions = globalCesium.Cartesian3.fromDegrees(
- // data.deviceInfo[data.currentSn].longitude,
- // data.deviceInfo[data.currentSn].latitude,
- // Math.floor(viewDroneInfo.elevation),
- // )
- // //若刷新,恢复无人机之前的路线轨迹
- // const dataIndexedDB = await IndexedDBService.getDataById(wId)
- // if (previousPositions.length == 0 && dataIndexedDB) {
- // previousPositions = previousPositions.concat(dataIndexedDB?.temporaryflightData)
- // } else {
- // previousPositions = previousPositions.concat(newPositions)
- // }
- // // 保存无人机当前执行的路线,防止刷新数据丢失
- // if (!dataIndexedDB) {
- // await IndexedDBService.addData({
- // id: wId,
- // temporaryflightData: previousPositions,
- // })
- // } else {
- // await IndexedDBService.updateData(wId, {temporaryflightData: previousPositions})
- // }
- // // 更新线段的位置
- // const drone_route_remove = getEntityById('drone_route_remove')
- // if (!drone_route_remove) return
- // drone_route_remove.polyline.positions = previousPositions
- // drone_route_remove.polyline._material._repeat._value.x = Math.floor(previousPositions.length / 7)
- // } else if ([0, 14].includes(deviceInfo.mode_code)) {
- // previousPositions = []
- // await IndexedDBService.deleteData(wId)
- // const drone_route_remove = getEntityById('drone_route_remove')
- // if (!drone_route_remove) return
- // drone_route_remove.polyline.positions = previousPositions
- // removeById('drone_route_remove')
- // viewInfoFrustum?.clear()
- // viewInfoFrustum = null
- // }
+ if (data.deviceInfo[data.currentSn].mode_code && [3, 4, 5, 9, 10].includes(deviceInfo.mode_code)) {
+ if (switchSaving) return (switchSaving = false)
+ const newPositions = globalCesium.Cartesian3.fromDegrees(
+ data.deviceInfo[data.currentSn].longitude,
+ data.deviceInfo[data.currentSn].latitude,
+ Math.floor(viewDroneInfo.elevation),
+ )
+ //若刷新,恢复无人机之前的路线轨迹
+ const dataIndexedDB = await IndexedDBService.getDataById(wId)
+ if (previousPositions.length == 0 && dataIndexedDB) {
+ previousPositions = previousPositions.concat(dataIndexedDB?.temporaryflightData)
+ } else {
+ previousPositions = previousPositions.concat(newPositions)
+ }
+ // 保存无人机当前执行的路线,防止刷新数据丢失
+ if (!dataIndexedDB) {
+ await IndexedDBService.addData({
+ id: wId,
+ temporaryflightData: previousPositions,
+ })
+ } else {
+ await IndexedDBService.updateData(wId, {temporaryflightData: previousPositions})
+ }
+ // 更新线段的位置
+ const drone_route_remove = getEntityById('drone_route_remove')
+ if (!drone_route_remove) return
+ drone_route_remove.polyline.positions = previousPositions
+ drone_route_remove.polyline._material._repeat._value.x = Math.floor(previousPositions.length / 7)
+ } else if ([0, 14].includes(deviceInfo.mode_code)) {
+ previousPositions = []
+ await IndexedDBService.deleteData(wId)
+ const drone_route_remove = getEntityById('drone_route_remove')
+ if (!drone_route_remove) return
+ drone_route_remove.polyline.positions = previousPositions
+ removeById('drone_route_remove')
+ viewInfoFrustum?.clear()
+ viewInfoFrustum = null
+ }
}
if (data.currentType === EDeviceTypeName.Dock && data.dockInfo[data.currentSn]) {
if (!deviceInfo?.basic_osd?.longitude || !deviceInfo?.basic_osd?.latitude) return
--
Gitblit v1.9.3