From 3c41f41e2e279fb5fb60cdee67ef307b611d8147 Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Wed, 16 Apr 2025 09:44:46 +0800
Subject: [PATCH] feat;同上

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

diff --git a/src/hooks/useMapAggregation/useMapAggregation.js b/src/hooks/useMapAggregation/useMapAggregation.js
index d92d63c..b3316d1 100644
--- a/src/hooks/useMapAggregation/useMapAggregation.js
+++ b/src/hooks/useMapAggregation/useMapAggregation.js
@@ -137,14 +137,12 @@
       if (arr.length !== 0) {
         returnObj.childrens = arr
       }
-      console.log(returnObj, '111111')
       return returnObj
     })
   }
 
   // 获取事件聚合
   function getMapEventCount (params) {
-    console.log(5555555)
     return getMapEvents(params).then(res => {
       const resData = res?.data?.data
       if (resData?.data) {
@@ -258,6 +256,8 @@
 
     needFly = true
     if (!viewer) return
+    handlerInit()
+
     viewer.scene.postRender.removeEventListener(determineScaling)
 
     initMapData(newValue.selectedAreaCode).then(() => {
@@ -519,6 +519,11 @@
 
   // 移除所有监听事件,变量置空
   const removeAll = () => {
+    clearMapEntity()
+    viewer = null
+  }
+
+  const clearMapEntity = () => {
     if (!viewer) return
     removeEntities()
     removeLabel()
@@ -526,16 +531,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 +542,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