shuishen
2022-03-18 bf58722dfd03ea1513f3acc7331d4d4403fca76e
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: {},
@@ -97,16 +101,16 @@
            state.addTagPosition = addTagPosition
        },
        initLabelLayer(state, val) {
            if (!state.labelLayer) {
                state.labelLayer = new global.DC.HtmlLayer('labelLayer')
                val.addLayer(state.labelLayer)
            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()
            if (window.labelLayer) {
                window.labelLayer.clear()
            }
        },
        openLabelLayer(state, val) {
@@ -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(
@@ -176,7 +180,8 @@
            // 弹窗使用方法
            commit('CLEAR_ALL', null)
            commit('SET_MONITORPOPUP', false)
            commit('SET_PANORAMAPOPUP', false)
            commit('SET_STATENAME', value.item.mechanismname)
            commit('SET_PANORAMAURL', value.item.panoramaurl)
            commit('SET_INTRODUCETEXT', value.item.introduce)
@@ -202,7 +207,7 @@
            commit,
            dispatch
        }, val) {
            val.viewer.camera.setView({
            global.viewer.camera.setView({
                // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
                // fromDegrees()方法,将经纬度和高程转换为世界坐标
                destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
@@ -237,8 +242,8 @@
        }, 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
@@ -263,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(
@@ -282,7 +287,7 @@
                            )
                        ]
                    })
                    state.myviewer.camera.setView({
                    global.viewer.camera.setView({
                        // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
                        // fromDegrees()方法,将经纬度和高程转换为世界坐标
                        destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
@@ -303,7 +308,7 @@
                        data: list[i]
                    })
                })
                state.labelLayer.addOverlay(divIcon)
                window.labelLayer.addOverlay(window.divIcon)
            }
        },
        addLabelLayerIconMobelUse({
@@ -312,21 +317,21 @@
            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),
@@ -344,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(
@@ -363,7 +368,7 @@
                            )
                        ]
                    })
                    state.myviewer.camera.setView({
                    global.viewer.camera.setView({
                        // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
                        // fromDegrees()方法,将经纬度和高程转换为世界坐标
                        destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
@@ -384,7 +389,7 @@
                        data: list[i]
                    })
                })
                state.labelLayer.addOverlay(divIcon)
                window.labelLayer.addOverlay(window.divIcon)
            }
        }
    }