From 01b792fb98a3f7f468018fffa64f2c48cda3f91f Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Tue, 15 Apr 2025 20:50:27 +0800
Subject: [PATCH] feat:选择机巢清除原地图图层---处理完善
---
src/hooks/useMapAggregation/useMapAggregation.js | 23 +++++++++++++++--------
1 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/src/hooks/useMapAggregation/useMapAggregation.js b/src/hooks/useMapAggregation/useMapAggregation.js
index d92d63c..41d33ee 100644
--- a/src/hooks/useMapAggregation/useMapAggregation.js
+++ b/src/hooks/useMapAggregation/useMapAggregation.js
@@ -248,6 +248,8 @@
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