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
|