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