From a7e6761ba0cfccdf33ed552eb2d3b783c8e4ab4a Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Wed, 16 Apr 2025 20:49:12 +0800
Subject: [PATCH] feat:事件弹窗显示调整

---
 src/views/SignMachineNest/MachineRight/MachineStatus/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetailsMap.vue |   51 +++++++++++++++++++++++++++++----------------------
 1 files changed, 29 insertions(+), 22 deletions(-)

diff --git a/src/views/SignMachineNest/MachineRight/MachineStatus/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetailsMap.vue b/src/views/SignMachineNest/MachineRight/MachineStatus/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetailsMap.vue
index cef055c..bb9a920 100644
--- a/src/views/SignMachineNest/MachineRight/MachineStatus/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetailsMap.vue
+++ b/src/views/SignMachineNest/MachineRight/MachineStatus/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetailsMap.vue
@@ -8,8 +8,10 @@
 import { analyzeKmzFile, removeTextKey, XMLToJSON } from '@/utils/cesium/kmz'
 import ImageTrailMaterial from '@/utils/cesium/ImageTrailMaterial'
 import lineImg from '@/assets/images/arrow-right-blue.png'
-import uavImg from '@/assets/images/home/useUavHome/uavImg.png'
-import { getCenterPoint } from '@/utils/cesium/mapUtil'
+import rwqfdImg from '@/assets/images/signMachineNest/rwqfd.png'
+import endPointImg from '@/assets/images/EndPointicon.png'
+import { addBlueFilter } from '@/utils/cesium/common'
+import { flyVisual } from '@/utils/cesium/mapUtil'
 
 const props = defineProps(['detailsData'])
 
@@ -40,7 +42,15 @@
 		baseLayer: false,
 		fullscreenButton: false,
 	})
-	viewer.imageryLayers.addImageryProvider(imageryProvider_ammapSL)
+	const gdLayer = viewer.imageryLayers.addImageryProvider(imageryProvider_ammapSL)
+	const options = {
+		bInvertColor: true,
+		bFilterColor: true,
+		filterColor: '#4e70a6'
+	}
+	// 添加蓝色滤镜
+	addBlueFilter(options,viewer,gdLayer)
+
 	viewer.scene.morphTo2D(0)
 	//设置默认点
 	viewer.camera.setView({
@@ -54,14 +64,26 @@
 		const [lon, lat] = item.Point.coordinates.split(',')
 		return Cartesian3.fromDegrees(Number(lon), Number(lat))
 	})
+	// 起点
 	viewer.entities.add({
 		position: positions[0],
 		billboard: {
-			image: new Cesium.ConstantProperty(uavImg),
-			width: 24,
-			height: 24,
+			image: new Cesium.ConstantProperty(rwqfdImg),
+			width: 70,
+			height: 70,
 		},
 	})
+	// 终点
+	viewer.entities.add({
+		position: positions[positions.length-1],
+		billboard: {
+			image: new Cesium.ConstantProperty(endPointImg),
+			width: 30,
+			height: 30,
+			verticalOrigin: Cesium.VerticalOrigin.BOTTOM, // 底部对齐
+		},
+	})
+	// 路径线
 	viewer.entities.add({
 		polyline: {
 			width: 4,
@@ -74,20 +96,6 @@
 			}),
 			clampToGround: false,
 		},
-	})
-}
-
-// 飞到中心点
-function flyToPoints(lngLatArr) {
-	if (!Array.isArray(lngLatArr) || lngLatArr.length === 0) return
-	const positions = lngLatArr.map(([lon, lat]) =>
-		Cesium.Cartesian3.fromDegrees(Number(lon), Number(lat))
-	)
-	// 计算包围盒 BoundingSphere(所有点的外接球)
-	const boundingSphere = Cesium.BoundingSphere.fromPoints(positions)
-	viewer.camera.flyToBoundingSphere(boundingSphere, {
-		duration: 0,
-		offset: new Cesium.HeadingPitchRange(0, 0, boundingSphere.radius * 2),
 	})
 }
 
@@ -106,11 +114,10 @@
 const drawLine = async () => {
 	const res = await Promise.all(props.detailsData.way_lines.map(item => analysis(item.url)))
 	res.map(item => renderingLine(item))
-	console.log(res,'jiexi')
 	const allPoint = res
 		.flatMap(item => item.Placemark)
 		.map(item => item.Point.coordinates.split(','))
-	flyToPoints(allPoint)
+	flyVisual(allPoint,viewer)
 }
 
 const removeMap = () => {

--
Gitblit v1.9.3