From 88f106e0b85c4745c593886ea9b1912098a5dbb4 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Sat, 19 Apr 2025 19:44:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/components/CurrentTaskDetails/RealTimeMap.vue |   59 ++++-------------------------------------------------------
 1 files changed, 4 insertions(+), 55 deletions(-)

diff --git a/src/components/CurrentTaskDetails/RealTimeMap.vue b/src/components/CurrentTaskDetails/RealTimeMap.vue
index 207d811..625104c 100644
--- a/src/components/CurrentTaskDetails/RealTimeMap.vue
+++ b/src/components/CurrentTaskDetails/RealTimeMap.vue
@@ -6,9 +6,9 @@
 import AmapMercatorTilingScheme from '@/utils/cesium/AmapMercatorTilingScheme'
 import { Cartesian3, Terrain, Viewer } from 'cesium'
 import { addBlueFilter } from '@/utils/cesium/common'
-import CreateFrustum from '@/utils/cesium/frustum/CreateFrustum'
-import aircraftGltf from '@/assets/gltf/aircraft.gltf'
 import { useTaskWayline } from '@/hooks/useTaskWayline/useTaskWayline'
+
+const { init: initTaskWayline } = useTaskWayline()
 
 const imageryProvider_ammapSL = new Cesium.UrlTemplateImageryProvider({
 	url: 'https://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}',
@@ -55,60 +55,9 @@
 	taskDetailsViewer?.value.camera.setView({
 		destination: Cartesian3.fromDegrees(115.763819, 28.787374, 5000),
 	})
+
+	initTaskWayline(taskDetailsViewer.value, deviceOsdInfo, taskDetails)
 }
-
-let viewInfoFrustum
-// 设置视椎
-const setCreateFrustum = () => {
-	const host = deviceOsdInfo.value?.data?.host
-	if (!host) return
-	viewInfoFrustum?.clear()
-	if ([14, 0].includes(host.mode_code)) return
-	const attitude_head = 180 + host.attitude_head
-	const gimbal_pitch = 90 - Number(host?.payloads[0]?.gimbal_pitch) || 0
-	viewInfoFrustum = new CreateFrustum(taskDetailsViewer?.value, {
-		position: {
-			longitude: host.longitude,
-			latitude: host.latitude,
-			altitude: host.height,
-		},
-		width: 30,
-		height: 30,
-		fov: 20.0,
-		near: 3.0,
-		far: 250.0,
-		roll: gimbal_pitch,
-		pitch: 0,
-		heading: attitude_head,
-	})
-}
-
-function setAircraftGltf() {
-	const host = deviceOsdInfo.value?.data?.host
-	const aircraftEntity = taskDetailsViewer.value.entities.getById('aircraftGltf')
-	const position = Cesium.Cartesian3.fromDegrees(host.longitude, host.latitude, host.height)
-	if (aircraftEntity) {
-		aircraftEntity.position = new Cesium.ConstantPositionProperty(position)
-		return
-	}
-	taskDetailsViewer.value.entities.add({
-		id: 'aircraftGltf',
-		position,
-		model: {
-			uri: aircraftGltf, // 或 .glb
-			scale: 1.0, // 缩放比例
-			minimumPixelSize: 64, // 最小像素尺寸(保证模型远处可见)
-			maximumScale: 128, // 最大缩放(可选)
-		},
-	})
-}
-
-watch(deviceOsdInfo, () => {
-	setCreateFrustum()
-	setAircraftGltf()
-})
-
-useTaskWayline(taskDetailsViewer, taskDetails)
 
 const removeMap = () => {
 	taskDetailsViewer?.value.entities.removeAll()

--
Gitblit v1.9.3