From d3b8e4441dd556aebcd74b94d4639a59d0e81076 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Thu, 26 Feb 2026 11:16:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue | 34 ++++++++++++++++++++++++++++++++++
1 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue b/applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue
index 7ab4e00..b74affd 100644
--- a/applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue
+++ b/applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue
@@ -550,6 +550,19 @@
})
}
+// 生成圆形坐标点
+function buildCirclePositions(center, radius, segments = 120) {
+ const cartographic = Cesium.Cartographic.fromCartesian(center)
+ const positions = []
+ for (let i = 0; i < segments; i++) {
+ const angle = (i / segments) * 2 * Math.PI
+ const lat = cartographic.latitude + (radius / 6378137) * Math.cos(angle)
+ const lon = cartographic.longitude + (radius / (6378137 * Math.cos(cartographic.latitude))) * Math.sin(angle)
+ positions.push(Cesium.Cartesian3.fromRadians(lon, lat))
+ }
+ return positions
+}
+
// 渲染
function renderingAllDevice(list) {
list.forEach(item => {
@@ -576,6 +589,27 @@
pixelOffset: new Cesium.Cartesian2(0, -20),
},
})
+ // 覆盖范围 - 5km圆形区域
+ viewer.entities.add({
+ position: position,
+ ellipse: {
+ semiMajorAxis: 5000,
+ semiMinorAxis: 5000,
+ material: Cesium.Color.fromBytes(45, 140, 240, 80),
+ outline: false,
+ heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
+ },
+ })
+ // 覆盖范围描边线 - 贴地
+ const circlePositions = buildCirclePositions(position, 5000)
+ viewer.entities.add({
+ polyline: {
+ positions: [...circlePositions, circlePositions[0]],
+ clampToGround: true,
+ width: 2,
+ material: Cesium.Color.fromBytes(45, 140, 240, 255),
+ },
+ })
})
}
--
Gitblit v1.9.3