import leftNavsData from './pc/leftNavsData' const popupParams = { state: { ...leftNavsData.state, popupBgUrl: null, pupupQRUrl: null, terminus: null, startingPoint: null, pointPosition: null, stateName: null, siteName: null, telephone: null, introduceText: null, detailsPopup: false, panoramaUrl: null, panoramaPopup: false, monitorUrl: null, monitorPopup: false, // 图集 popupImgAtlas: [], teachList: [], liveList: [], addTagPopup: false, addTagPosition: null, labelLayer: null, //自定义标签图层 addSignList: true, myviewer: null, nowlabelLayerData: {}, labelLayerDataShow: false, closeMapClick: false, //关闭地图点击,防止新增标签误触 }, mutations: { ...leftNavsData.mutations, SET_POPUPBGURL(state, popupBgUrl) { // console.log(popupBgUrl, "see33333") if (!popupBgUrl) { return; } state.popupBgUrl = popupBgUrl; }, SET_POPUPQRURL(state, pupupQRUrl) { state.pupupQRUrl = pupupQRUrl }, SET_TERMINUS(state, terminus) { state.terminus = terminus }, SET_STARTINGPOINT(state, startingPoint) { state.startingPoint = startingPoint }, SET_POINTPOSITION(state, pointPosition) { state.pointPosition = pointPosition }, SET_STATENAME(state, stateName) { state.stateName = stateName }, SET_SITENAME(state, siteName) { state.siteName = siteName }, SET_TELEPHONE(state, telephone) { state.telephone = telephone }, SET_INTRODUCETEXT(state, introduceText) { state.introduceText = introduceText }, SET_PANORAMAURL(state, panoramaUrl) { state.panoramaUrl = panoramaUrl }, SET_PANORAMAPOPUP(state, panoramaPopup) { state.panoramaPopup = panoramaPopup }, SET_MONITORURL(state, monitorUrl) { state.monitorUrl = monitorUrl }, SET_MONITORPOPUP(state, monitorPopup) { state.monitorPopup = monitorPopup }, SET_DETAILSPOPUP(state, detailsPopup) { state.detailsPopup = detailsPopup }, SET_POPUPIMGATLAS(state, popupImgAtlas) { state.popupImgAtlas = popupImgAtlas }, SET_TEACHLIST(state, teachList) { state.teachList = teachList }, SET_LIVELIST(state, liveList) { state.liveList = liveList }, SET_ADDTAGPOPUP(state, addTagPopup) { state.addTagPopup = addTagPopup }, SET_ADDTAGPOSITION(state, addTagPosition) { state.addTagPosition = addTagPosition }, initLabelLayer(state, val) { if (!state.labelLayer) { state.labelLayer = new global.DC.HtmlLayer("labelLayer"); val.addLayer(state.labelLayer); } state.myviewer = val; }, clearLabelLayerIcon(state, val) { if (state.labelLayer) { state.labelLayer.clear(); } }, openLabelLayer(state, val) { // console.log(val, "see") if (val.show) { state.nowlabelLayerData = val.data; state.labelLayerDataShow = true; } else { state.nowlabelLayerData = {}; state.labelLayerDataShow = false; } }, CLEAR_ALL(state, param) { state.siteName = param state.introduceText = param state.telephone = param state.panoramaUrl = param state.monitorUrl = param state.popupBgUrl = param state.teachList = [] state.liveList = [] }, set_closeMapClick(state, val) { state.closeMapClick = val; } }, actions: { ...leftNavsData.actions, openPopups({ state, commit, dispatch }, value) { // //订阅事件 // divIcon.on(global.DC.MouseEventType.CLICK, (e) => { // console.log(item); // that.openPopups({ // lng: e.overlay.position.lng, // lat: e.overlay.position.lat, // item: item, // }); // }); var popup = new global.DC.DivForms(state.viewer, { domId: "divFormsDomBox", position: [ global.DC.Transform.transformWGS84ToCartesian( new global.DC.Position( Number(value.lng), Number(value.lat), Number(value.alt || 0) ) ), ], }); dispatch("setOurDataInPoput", value); dispatch("pcFlyView", { jd: value.lng, wd: value.lat, viewer: this.viewer, }); }, setOurDataInPoput({ state, commit, dispatch }, value) { //弹窗使用方法 commit("CLEAR_ALL", null); commit("SET_STATENAME", value.item.mechanismname); commit("SET_PANORAMAURL", value.item.panoramaurl); commit("SET_INTRODUCETEXT", value.item.introduce); var imgArr = []; if (value.item.tpurl) { imgArr = value.item.tpurl.split(","); } commit("SET_POPUPBGURL", imgArr[0]); commit('SET_POPUPIMGATLAS', imgArr) commit("SET_POPUPQRURL", value.item.codeurl); commit("SET_POINTPOSITION", [ Number(value.lng), Number(value.lat), Number(0), Number(0), Number(-90), Number(0), ]); commit("SET_DETAILSPOPUP", true); }, pcMoveView({ state, commit, dispatch }, val) { console.log(val, "see1") val.viewer.camera.setView({ // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州 // fromDegrees()方法,将经纬度和高程转换为世界坐标 destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees( +val.jd, +val.wd, 400.0 ), orientation: { // 指向 heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0), // 视角 pitch: global.DC.Namespace.Cesium.Math.toRadians(-90), roll: 0.0, }, }); }, 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 () {}, 2 ) }, addLabelLayerIcon({ state, commit, dispatch }, val) { let list = val.list; if (val.clear) { // state.labelLayer.remove(); state.labelLayer.clear(); } if (val.add) { //刷新列表 state.addSignList = !state.addSignList; return; } for (let i in list) { const divIcon = new global.DC.DivIcon( new global.DC.Position( Number(list[i].jd), Number(list[i].wd), 0 ), `