From aaf1f998766b27ac10094d29de552178418c0b14 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Mon, 14 Mar 2022 15:05:51 +0800
Subject: [PATCH] 处理内存泄漏的问题

---
 src/pcviews/specialmap/welcome.vue |   30 +++++++++++++++---------------
 1 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/src/pcviews/specialmap/welcome.vue b/src/pcviews/specialmap/welcome.vue
index 78c2e4f..f1cb15d 100644
--- a/src/pcviews/specialmap/welcome.vue
+++ b/src/pcviews/specialmap/welcome.vue
@@ -80,6 +80,9 @@
 import { getWelcome } from '@/api/pc/public/specialmap'
 import { mapGetters } from 'vuex'
 
+let pathLayer = null
+let pointLayer = null
+
 export default {
     data () {
         return {
@@ -92,8 +95,6 @@
             pathList: [],
             pointNameList: [],
             pointList: [],
-            pathLayer: null,
-            pointLayer: null,
             panoramaUrlOne: '',
             panoramaUrl: '',
             audioSource: '',
@@ -123,7 +124,6 @@
     },
     computed: {
         ...mapGetters([
-            'viewer',
             // 校区内导航的显示关闭
             'campusNavFlag',
             'orgNavBarFlag',
@@ -165,11 +165,11 @@
                     this.pathList.push(k)
                 })
 
-                this.pathLayer = new global.DC.VectorLayer('pathLayer')
-                this.viewer.addLayer(this.pathLayer)
+                pathLayer = new global.DC.VectorLayer('pathLayer')
+                global.viewer.addLayer(pathLayer)
 
-                this.pointLayer = new global.DC.HtmlLayer('pointLayer')
-                this.viewer.addLayer(this.pointLayer)
+                pointLayer = new global.DC.HtmlLayer('pointLayer')
+                global.viewer.addLayer(pointLayer)
 
                 this.pathList.forEach((item) => {
                     this.drawPolyline(item)
@@ -180,13 +180,13 @@
                 })
                 if (this.pointList.length > 0) {
                     this.$store.dispatch('pcMoveView', {
-                        viewer: this.viewer,
+                        viewer: global.viewer,
                         jd: +this.pointList[0].split(',')[0] - 0.0005,
                         wd: this.pointList[0].split(',')[1]
                     })
                 } else {
                     this.$store.dispatch('pcMoveView', {
-                        viewer: this.viewer,
+                        viewer: global.viewer,
                         jd: +this.pathList[0].split(';')[0].split(',')[0] - 0.0005,
                         wd: this.pathList[0].split(';')[0].split(',')[1]
                     })
@@ -208,7 +208,7 @@
                 clampToGround: true
             })
 
-            this.pathLayer.addOverlay(polyline)
+            pathLayer.addOverlay(polyline)
         },
         drawPoint (item, name) {
             const divIcon = new global.DC.DivIcon(
@@ -224,7 +224,7 @@
                     </div>
                 `
             )
-            this.pointLayer.addOverlay(divIcon)
+            pointLayer.addOverlay(divIcon)
         },
         audioPlay () {
             if (this.audioFlag == false) {
@@ -243,8 +243,8 @@
             }
         },
         closeModel () {
-            this.viewer.removeLayer(this.pathLayer)
-            this.viewer.removeLayer(this.pointLayer)
+            global.viewer.removeLayer(pathLayer)
+            global.viewer.removeLayer(pointLayer)
 
             this.audioSynth.cancel()
             this.audioFlag = false
@@ -260,8 +260,8 @@
     },
     destroyed () {
         this.audioSynth.cancel()
-        this.viewer.removeLayer(this.pathLayer)
-        this.viewer.removeLayer(this.pointLayer)
+        global.viewer.removeLayer(pathLayer)
+        global.viewer.removeLayer(pointLayer)
         // console.log("关闭", "see1");
     }
 }

--
Gitblit v1.9.3