From b9a8505f8f5e72f8113f995886cda2e4c9cc0eb3 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Tue, 03 Dec 2024 12:58:44 +0800
Subject: [PATCH] 地图销毁相关优化

---
 src/components/global/MapContainer.vue |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/src/components/global/MapContainer.vue b/src/components/global/MapContainer.vue
index 60f5182..a10c733 100644
--- a/src/components/global/MapContainer.vue
+++ b/src/components/global/MapContainer.vue
@@ -2,7 +2,7 @@
  * @Author: shuishen 1109946754@qq.com
  * @Date: 2024-10-25 15:07:51
  * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-11-27 19:29:23
+ * @LastEditTime: 2024-12-03 12:21:28
  * @FilePath: \bigScreen\src\components\global\MapContainer.vue
  * @Description: 
  * 
@@ -63,8 +63,24 @@
 })
 
 onUnmounted(() => {
+  window.$viewer?.entities.removeAll()
+  window.$viewer?.imageryLayers.removeAll()
+  window.$viewer?.dataSources.removeAll()
+  let gl = window.$viewer.scene.context._originalGLContext
+  gl.canvas.width = 1
+  gl.canvas.height = 1
+
   window.$viewer && window.$viewer.destroy()
+  window.$viewer = null
   delete window.$viewer
+  window.$Cesium = null
+  delete window.$Cesium
+  window.$turf = null
+  delete window.$turf
+  var cesiumContainer = document.getElementById('viewer-container')
+  if (cesiumContainer) {
+    cesiumContainer.remove() // 移除与地图相关的DOM元素
+  }
   store.setLoadMap(false)
 })
 </script>

--
Gitblit v1.9.3