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/sceneConfig/FormDiaLog.vue | 37 +++++++++++++++++++++++--------------
1 files changed, 23 insertions(+), 14 deletions(-)
diff --git a/applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue b/applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue
index f61f46d..199e92d 100644
--- a/applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue
+++ b/applications/drone-command/src/views/areaManage/sceneConfig/FormDiaLog.vue
@@ -2,7 +2,15 @@
<el-dialog class="command-page-map-view-dialog" v-model="visible" :show-close="false" :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">
<div class="header">
@@ -135,7 +143,7 @@
import { ElMessage } from 'element-plus'
import { fwDefenseSceneDetailApi, fwDefenseSceneSubmitApi } from './sceneConfigApi'
import { fieldRules, geomAnalysis, getDictLabel } from '@ztzf/utils'
-import { PublicCesium } from '@/utils/cesium/publicCesium'
+import CommonCesiumMap from '@/components/map-container/common-cesium-map.vue'
import * as Cesium from 'cesium'
import { fwAreaDivideListApi } from '../partition/partitionApi'
import { DrawPolygon } from '@/utils/cesium/DrawPolygon'
@@ -166,8 +174,10 @@
const areaList = ref([]) // 关联区域列表
const selectedAreaRows = ref([]) //选中列表
const dictObj = inject('dictObj')
+const mapRef = ref(null)
let viewer
let redPointEntity
+let leftClickBound = false
const rules = {
sceneName: fieldRules(true, 50),
@@ -285,19 +295,18 @@
let geometricSource
// 初始化地图实例
function initMap () {
- const publicCesiumInstance = new PublicCesium({
- dom: 'mapContainer',
- flatMode: false,
- terrain: true,
- layerMode: 4,
- boundary: false,
- })
- if (!readonly.value) {
- publicCesiumInstance.addLeftClickEvent(null, LeftClickEvent)
+ if (viewer) return
+ const map = mapRef.value?.getMap()
+ if (!map?.viewer) return
+ viewer = map.viewer
+ if (!readonly.value && !leftClickBound) {
+ map.publicCesium?.addLeftClickEvent?.(null, LeftClickEvent)
+ leftClickBound = true
}
- viewer = publicCesiumInstance.getViewer()
- geometricSource = new Cesium.CustomDataSource('geometricSource')
- viewer.dataSources.add(geometricSource)
+ if (!geometricSource) {
+ geometricSource = new Cesium.CustomDataSource('geometricSource')
+ viewer.dataSources.add(geometricSource)
+ }
}
function LeftClickEvent (click) {
--
Gitblit v1.9.3