From 14187d2cfbdd4eb412914b9c7234bf93096120c5 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Wed, 16 Apr 2025 15:06:43 +0800
Subject: [PATCH] feat:位置调整

---
 src/hooks/useMapAggregation/useMapAggregation.js |   27 +++++++++++++++++----------
 1 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/src/hooks/useMapAggregation/useMapAggregation.js b/src/hooks/useMapAggregation/useMapAggregation.js
index d92d63c..46aeb4a 100644
--- a/src/hooks/useMapAggregation/useMapAggregation.js
+++ b/src/hooks/useMapAggregation/useMapAggregation.js
@@ -4,8 +4,8 @@
 import uavImg from '@/assets/images/home/useUavHome/uavImg.png'
 import eventSingle from '@/assets/images/home/useEventOperate/eventSingle.png'
 
-import DevicePopUpBox from '@/hooks/useMapAggregation/DevicePopUpBox.vue'
-import EventPopUpBox from '@/hooks/useMapAggregation/EventPopUpBox.vue'
+import DevicePopUpBox from '@/hooks/components/DevicePopUpBox.vue'
+import EventPopUpBox from '@/hooks/components/EventPopUpBox.vue'
 
 import { render } from 'vue'
 import { useStore } from 'vuex'
@@ -247,6 +247,8 @@
       clearMapEntity()
       return
     }
+
+    handlerInit()
 
     if (newValue.eventTimeType) {
       saveParams = { area_code: newValue.selectedAreaCode, date_enum: store.state.home.eventTimeParams }
@@ -519,6 +521,11 @@
 
   // 移除所有监听事件,变量置空
   const removeAll = () => {
+    clearMapEntity()
+    viewer = null
+  }
+
+  const clearMapEntity = () => {
     if (!viewer) return
     removeEntities()
     removeLabel()
@@ -526,16 +533,9 @@
     viewer.scene.postRender.removeEventListener(determineScaling)
     handler?.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK)
     handler?.destroy()
-    viewer = null
     active = null
     handler = null
     currentEntity = null
-  }
-
-  const clearMapEntity = () => {
-    if (!viewer) return
-    removeEntities()
-    removeLabel()
   }
 
   const init = () => {
@@ -544,10 +544,17 @@
     initMapData(selectedAreaCode.value || userAreaCode.value).then(() => {
       viewer.scene.postRender.addEventListener(determineScaling)
     })
+
+    handlerInit()
+  }
+
+  const handlerInit = () => {
+    if (handler) return
+
     handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas)
     handler.setInputAction(singleMachineEvent, Cesium.ScreenSpaceEventType.LEFT_CLICK)
-
   }
+
   onBeforeUnmount(() => { })
   // onMounted(() => {
   //   nextTick(() => {

--
Gitblit v1.9.3