From c53aab006b9db28e62381dba4fca4d77ec3566b0 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Sat, 17 Jan 2026 15:36:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 applications/drone-command/src/views/areaManage/partition/FormDiaLog.vue |   42 +++++++++++++++++++++++++++++++-----------
 1 files changed, 31 insertions(+), 11 deletions(-)

diff --git a/applications/drone-command/src/views/areaManage/partition/FormDiaLog.vue b/applications/drone-command/src/views/areaManage/partition/FormDiaLog.vue
index 0b11930..e46084d 100644
--- a/applications/drone-command/src/views/areaManage/partition/FormDiaLog.vue
+++ b/applications/drone-command/src/views/areaManage/partition/FormDiaLog.vue
@@ -3,7 +3,15 @@
 		:close-on-click-modal="false">
 		<div class="dialog-container">
 			<div class="left-container">
-				<div class="leftMap command-cesium" id="mapContainer"></div>
+				<CommonCesiumMap
+					ref="mapRef"
+					class="leftMap command-cesium"
+					:active="visible"
+					:flat-mode="false"
+					:terrain="true"
+					:layer-mode="4"
+					:boundary="false"
+				/>
 			</div>
 
 			<div class="right-container">
@@ -159,7 +167,7 @@
 import { ElMessage } from 'element-plus'
 import { fwAreaDivideDetailApi, fwAreaDivideSubmitApi } from './partitionApi'
 import { fieldRules, geomAnalysis, getDictLabel } from '@ztzf/utils'
-import { PublicCesium } from '@/utils/cesium/publicCesium'
+import CommonCesiumMap from '@/components/map-container/common-cesium-map.vue'
 import { DrawPolygon } from '@/utils/cesium/DrawPolygon'
 import { cartesian3Convert } from '@/utils/cesium/mapUtil'
 import * as turf from '@turf/turf'
@@ -197,6 +205,7 @@
 const policeStationOptions = ref([]) // 关联派出所
 const deviceOptions = ref([]) // 关联设备
 const dictObj = inject('dictObj')
+const mapRef = ref(null)
 let viewer
 let drawPolygonExample
 let pointList = []
@@ -265,14 +274,9 @@
 
 // 初始化地图实例
 function initMap () {
-	const publicCesiumInstance = new PublicCesium({
-		dom: 'mapContainer',
-		flatMode: false,
-		terrain: true,
-		layerMode: 4,
-		boundary: false,
-	})
-	viewer = publicCesiumInstance.getViewer()
+	if (viewer) return
+	const map = mapRef.value?.getMap()
+	viewer = map?.viewer || null
 }
 
 // 绘制完成回调
@@ -311,6 +315,22 @@
 		pointList.map(item => ({ lng: item.longitude, lat: item.latitude }))
 	)
 	drawPolygonExample.subscribe('getPolygonPositions', drawFinished)
+	if (pointList1.length) {
+		const result = pointList1.map(item => [item.longitude, item.latitude]).flat()
+		const tempEntity = viewer.entities?.add({
+			position: Cesium.Cartesian3.fromDegrees(result[0], result[1]),
+			polyline: {
+				positions: Cesium.Cartesian3.fromDegreesArray(result),
+				clampToGround: true,
+				width: 1,
+				material: Cesium.Color.TRANSPARENT,
+			},
+		})
+		if (tempEntity) {
+			viewer.flyTo(tempEntity, { duration: 0 })
+			viewer.entities.remove(tempEntity)
+		}
+	}
 }
 
 // 查看面
@@ -328,7 +348,7 @@
 			material: Cesium.Color.RED,
 		},
 	})
-	viewer.flyTo(mian)
+	viewer.flyTo(mian, { duration: 0 })
 }
 
 // 获取派出所列表

--
Gitblit v1.9.3