| | |
| | | import $store from '../index' |
| | | const mobile = { |
| | | state: { |
| | | mviewer: null |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | |