From 7366b0a279425cb6218bec8ba19774e5e8399b91 Mon Sep 17 00:00:00 2001
From: liuyg <liuyg@qq.com>
Date: Tue, 15 Mar 2022 14:34:37 +0800
Subject: [PATCH] +把DC拉出vue实例中,解决vue内存溢出问题
---
src/store/modules/popupParams.js | 124 +++++++++++++++++++++--------------------
1 files changed, 64 insertions(+), 60 deletions(-)
diff --git a/src/store/modules/popupParams.js b/src/store/modules/popupParams.js
index 6950f51..c01f5ec 100644
--- a/src/store/modules/popupParams.js
+++ b/src/store/modules/popupParams.js
@@ -1,4 +1,8 @@
import leftNavsData from './pc/leftNavsData'
+window.labelLayer = null;
+window.divIcon = null;
+
+
const popupParams = {
state: {
...leftNavsData.state,
@@ -23,7 +27,7 @@
addTagPopup: false,
addTagPosition: null,
- labelLayer: null, // 自定义标签图层
+ // labelLayer: null, // 自定义标签图层
addSignList: true,
myviewer: null,
nowlabelLayerData: {},
@@ -33,83 +37,83 @@
},
mutations: {
...leftNavsData.mutations,
- SET_POPUPBGURL (state, popupBgUrl) {
+ SET_POPUPBGURL(state, popupBgUrl) {
// console.log(popupBgUrl, "see33333")
if (!popupBgUrl) {
return
}
state.popupBgUrl = popupBgUrl
},
- SET_POPUPQRURL (state, pupupQRUrl) {
+ SET_POPUPQRURL(state, pupupQRUrl) {
state.pupupQRUrl = pupupQRUrl
},
- SET_TERMINUS (state, terminus) {
+ SET_TERMINUS(state, terminus) {
state.terminus = terminus
},
- SET_STARTINGPOINT (state, startingPoint) {
+ SET_STARTINGPOINT(state, startingPoint) {
state.startingPoint = startingPoint
},
- SET_POINTPOSITION (state, pointPosition) {
+ SET_POINTPOSITION(state, pointPosition) {
state.pointPosition = pointPosition
},
- SET_STATENAME (state, stateName) {
+ SET_STATENAME(state, stateName) {
state.stateName = stateName
},
- SET_SITENAME (state, siteName) {
+ SET_SITENAME(state, siteName) {
state.siteName = siteName
},
- SET_TELEPHONE (state, telephone) {
+ SET_TELEPHONE(state, telephone) {
state.telephone = telephone
},
- SET_INTRODUCETEXT (state, introduceText) {
+ SET_INTRODUCETEXT(state, introduceText) {
state.introduceText = introduceText
},
- SET_PANORAMAURL (state, panoramaUrl) {
+ SET_PANORAMAURL(state, panoramaUrl) {
state.panoramaUrl = panoramaUrl
},
- SET_PANORAMAPOPUP (state, panoramaPopup) {
+ SET_PANORAMAPOPUP(state, panoramaPopup) {
state.panoramaPopup = panoramaPopup
},
- SET_MONITORURL (state, monitorUrl) {
+ SET_MONITORURL(state, monitorUrl) {
state.monitorUrl = monitorUrl
},
- SET_MONITORPOPUP (state, monitorPopup) {
+ SET_MONITORPOPUP(state, monitorPopup) {
state.monitorPopup = monitorPopup
},
- SET_DETAILSPOPUP (state, detailsPopup) {
+ SET_DETAILSPOPUP(state, detailsPopup) {
state.detailsPopup = detailsPopup
},
- SET_POPUPIMGATLAS (state, popupImgAtlas) {
+ SET_POPUPIMGATLAS(state, popupImgAtlas) {
state.popupImgAtlas = popupImgAtlas
},
- SET_TEACHLIST (state, teachList) {
+ SET_TEACHLIST(state, teachList) {
state.teachList = teachList
},
- SET_LIVELIST (state, liveList) {
+ SET_LIVELIST(state, liveList) {
state.liveList = liveList
},
- SET_ADDTAGPOPUP (state, addTagPopup) {
+ SET_ADDTAGPOPUP(state, addTagPopup) {
state.addTagPopup = addTagPopup
},
- SET_ADDTAGPOSITION (state, addTagPosition) {
+ SET_ADDTAGPOSITION(state, addTagPosition) {
state.addTagPosition = addTagPosition
},
- initLabelLayer (state, val) {
- if (!state.labelLayer) {
- state.labelLayer = new global.DC.HtmlLayer('labelLayer')
- val.addLayer(state.labelLayer)
+ initLabelLayer(state, val) {
+ if (!window.labelLayer) {
+ window.labelLayer = new global.DC.HtmlLayer('labelLayer')
+ val.addLayer(window.labelLayer)
}
state.myviewer = val
},
- clearLabelLayerIcon (state, val) {
- if (state.labelLayer) {
- state.labelLayer.clear()
+ clearLabelLayerIcon(state, val) {
+ if (window.labelLayer) {
+ window.labelLayer.clear()
}
},
- openLabelLayer (state, val) {
+ openLabelLayer(state, val) {
// console.log(val, "see")
if (val.show) {
state.nowlabelLayerData = val.data
@@ -119,7 +123,7 @@
state.labelLayerDataShow = false
}
},
- CLEAR_ALL (state, param) {
+ CLEAR_ALL(state, param) {
state.siteName = param
state.introduceText = param
state.telephone = param
@@ -129,13 +133,13 @@
state.teachList = []
state.liveList = []
},
- set_closeMapClick (state, val) {
+ set_closeMapClick(state, val) {
state.closeMapClick = val
}
},
actions: {
...leftNavsData.actions,
- openPopups ({
+ openPopups({
state,
commit,
dispatch
@@ -149,7 +153,7 @@
// item: item,
// });
// });
- var popup = new global.DC.DivForms(state.viewer, {
+ new global.DC.DivForms(state.viewer, {
domId: 'divFormsDomBox',
position: [
global.DC.Transform.transformWGS84ToCartesian(
@@ -168,7 +172,7 @@
viewer: this.viewer
})
},
- setOurDataInPoput ({
+ setOurDataInPoput({
state,
commit,
dispatch
@@ -198,12 +202,12 @@
])
commit('SET_DETAILSPOPUP', true)
},
- pcMoveView ({
+ pcMoveView({
state,
commit,
dispatch
}, val) {
- val.viewer.camera.setView({
+ global.viewer.camera.setView({
// Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
// fromDegrees()方法,将经纬度和高程转换为世界坐标
destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
@@ -220,26 +224,26 @@
}
})
},
- pcFlyView ({
+ pcFlyView({
state,
commit,
dispatch
}, val) {
val.viewer.flyToPosition(
new global.DC.Position(Number(val.jd), Number(val.wd), Number(300), Number(0), Number(-90), Number(0)),
- function () { },
+ function () {},
2
)
},
- addLabelLayerIcon ({
+ addLabelLayerIcon({
state,
commit,
dispatch
}, val) {
const list = val.list
if (val.clear) {
- // state.labelLayer.remove();
- state.labelLayer.clear()
+ // window.labelLayer.remove();
+ window.labelLayer.clear()
}
if (val.add) { // 刷新列表
state.addSignList = !state.addSignList
@@ -264,14 +268,14 @@
`
)
// 订阅事件
- divIcon.on(global.DC.MouseEventType.CLICK, (e) => {
+ window.divIcon.on(global.DC.MouseEventType.CLICK, (e) => {
// console.log(e);
// return;
// 定制化窗体
- const position = e.position
+ // const position = e.position
const lntLat = [e.overlay._position._lng, e.overlay._position._lat]
// console.log(position, lntLat, list[i], state.myviewer, "see")
- new global.DC.DivForms(state.myviewer, {
+ new global.DC.DivForms(global.viewer, {
domId: 'labelLayerid',
position: [
global.DC.Transform.transformWGS84ToCartesian(
@@ -283,7 +287,7 @@
)
]
})
- state.myviewer.camera.setView({
+ global.viewer.camera.setView({
// Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
// fromDegrees()方法,将经纬度和高程转换为世界坐标
destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
@@ -304,30 +308,30 @@
data: list[i]
})
})
- state.labelLayer.addOverlay(divIcon)
+ window.labelLayer.addOverlay(window.divIcon)
}
},
- addLabelLayerIconMobelUse ({
+ addLabelLayerIconMobelUse({
state,
commit,
dispatch
}, val) {
const list = val.list
- if (!state.labelLayer) {
- state.labelLayer = new global.DC.HtmlLayer('labelLayer')
- val.mviewer.addLayer(state.labelLayer)
- state.myviewer = val.mviewer
+ if (!window.labelLayer) {
+ window.labelLayer = new global.DC.HtmlLayer('labelLayer')
+ global.viewer.addLayer(window.labelLayer)
+ // state.myviewer = val.mviewer
}
if (val.clear) {
- // state.labelLayer.remove();
- state.labelLayer.clear()
+ // window.labelLayer.remove();
+ window.labelLayer.clear()
}
if (val.add) { // 刷新列表
state.addSignList = !state.addSignList
return
}
- for (const i in list) {
- const divIcon = new global.DC.DivIcon(
+ for (let i in list) {
+ window.divIcon = new global.DC.DivIcon(
new global.DC.Position(
Number(list[i].jd),
Number(list[i].wd),
@@ -345,14 +349,14 @@
`
)
// 订阅事件
- divIcon.on(global.DC.MouseEventType.CLICK, (e) => {
+ window.divIcon.on(global.DC.MouseEventType.CLICK, (e) => {
// console.log(e);
// return;
// 定制化窗体
- const position = e.position
+ // const position = e.position
const lntLat = [e.overlay._position._lng, e.overlay._position._lat]
// console.log(position, lntLat, list[i], state.myviewer, "see")
- new global.DC.DivForms(state.myviewer, {
+ new global.DC.DivForms(global.viewer, {
domId: 'labelLayerid',
position: [
global.DC.Transform.transformWGS84ToCartesian(
@@ -364,7 +368,7 @@
)
]
})
- state.myviewer.camera.setView({
+ global.viewer.camera.setView({
// Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
// fromDegrees()方法,将经纬度和高程转换为世界坐标
destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
@@ -385,10 +389,10 @@
data: list[i]
})
})
- state.labelLayer.addOverlay(divIcon)
+ window.labelLayer.addOverlay(window.divIcon)
}
}
}
}
-export default popupParams
+export default popupParams
\ No newline at end of file
--
Gitblit v1.9.3