import $store from '../index' const mobile = { state: { mviewer: null,//地图实体类 mBigPopup: false,//全屏弹窗 mBigPopupAfter: false,////全屏弹窗之前的弹窗 ips: '',//获取的ip iconHide: false,//右侧伸缩状态 DC: '',//DC全局保存 MobileWindowsHide: true,//改变点击窗口的显示状态 MobileWindowChangeData: false,//改变点击窗口的数据 popupsDom: '',//mobileDivForms的实体类 query: {},//传输数据 openmobileGoTo: false,//测试 openmobilePanorama: false,//实景显影 }, mutations: { MSET_VIEWER(state, viewer) { state.mviewer = viewer }, MSET_BIGPOPUP(state, viewer) { state.mBigPopup = viewer; $store.dispatch("closeMobileWindowsDom"); //关闭弹窗 }, MSET_BIGPOPUPAFTER(state, viewer) { state.mBigPopupAfter = viewer; $store.dispatch("closeMobileWindowsDom"); //关闭弹窗 }, MSET_ICONHIDE(state, viewer) { state.iconHide = viewer }, MSET_DC(state, viewer) { state.DC = viewer }, MSET_MOBILEWINDOWSHIDE(state, viewer) { state.MobileWindowChangeData = !state.MobileWindowChangeData; state.MobileWindowsHide = viewer }, MSET_POPUPDOM(state, viewer) { state.popupsDom = viewer }, MSET_QUERY(state, viewer) { state.query = viewer }, MSET_OPENMOBILEGOTO(state, viewer) { state.openmobileGoTo = viewer }, MSET_OPENMOBILEPANORAMA(state, viewer) { state.openmobilePanorama = viewer } }, actions: { setMobileWindows({ state, commit, }, data) { if (data.useJWD) { var ellipsoid = state.mviewer.scene.globe.ellipsoid; var cartographic = state.DC.Namespace.Cesium.Cartographic.fromDegrees( data.lntLat[0], data.lntLat[1] - 0.00006, "90.648862227" ); data.position = ellipsoid.cartographicToCartesian(cartographic); } // 传递响应数据 commit("MSET_QUERY", data); // 定制化窗体 let popupsDom = new state.DC.mobileDivForms(state.mviewer, { domId: "mobilePopup", title: data.query.name || "成教楼 ", className: "mobilePopup", content: document.getElementById("mobile-map_content_content"), position: [data.position], }); commit("MSET_MOBILEWINDOWSHIDE", false) state.mviewer.zoomToPosition( new state.DC.Position(data.lntLat[0], data.lntLat[1] - 0.012, 1530, 0, -45) ); commit("MSET_POPUPDOM", popupsDom) }, closeMobileWindowsDom({ state, commit }) { if (!state.MobileWindowsHide && state.popupsDom) { state.popupsDom.closeOur(); commit("MSET_MOBILEWINDOWSHIDE", true); } }, CHANGETOC3({ state, commit }, data) {// //转换经纬度坐标 成世界坐标cartesian3 var ellipsoid = state.mviewer.scene.globe.ellipsoid; var cartographic = state.DC.Namespace.Cesium.Cartographic.fromDegrees( data.lnt, data.lat - 0.0004, data.alt || "90.648862227" ); var position = ellipsoid.cartographicToCartesian(cartographic); return position; } } } export default mobile