| | |
| | | import $store from '../index' |
| | | const mobile = { |
| | | state: { |
| | | mviewer: null,//地图实体类 |
| | | mBigPopup: false,//全屏弹窗 |
| | | popupOurOpenData: [],//全屏弹窗中下拉菜单数据 |
| | | popupTableName: [],//全屏弹窗标签页数据 |
| | | mBigPopupAfter: false,////全屏弹窗之前的弹窗 |
| | | ips: '',//获取的ip |
| | | iconHide: false,//右侧伸缩状态 |
| | | mviewer: null, // 地图实体类 |
| | | mBigPopup: false, // 全屏弹窗 |
| | | popupOurOpenData: [], // 全屏弹窗中下拉菜单数据 |
| | | popupTableName: [], // 全屏弹窗标签页数据 |
| | | mBigPopupAfter: false, /// /全屏弹窗之前的弹窗 |
| | | ips: '', // 获取的ip |
| | | iconHide: false, // 右侧伸缩状态 |
| | | // DC: '',//DC全局保存 |
| | | MobileWindowsHide: true,//改变点击窗口的显示状态 |
| | | MobileWindowChangeData: false,//改变点击窗口的数据 |
| | | popupsDom: '',//mobileDivForms的实体类 |
| | | query: {},//传输数据 |
| | | openmobileGoTo: false,//测试 |
| | | ccDataState: false,//测试 |
| | | openmobilePanorama: false,//实景显影 |
| | | MobileWindowsHideFixed: true,//改变点击窗口的显示状态--固定窗口 |
| | | MobileWindowChangeDataFixed: false,//改变点击窗口的数据--固定窗口 |
| | | //在每次飞行弹窗中 加入自己的点 |
| | | MobileWindowsHide: true, // 改变点击窗口的显示状态 |
| | | MobileWindowChangeData: false, // 改变点击窗口的数据 |
| | | popupsDom: '', // mobileDivForms的实体类 |
| | | query: {}, // 传输数据 |
| | | openmobileGoTo: false, // 测试 |
| | | ccDataState: false, // 测试 |
| | | openmobilePanorama: false, // 实景显影 |
| | | MobileWindowsHideFixed: true, // 改变点击窗口的显示状态--固定窗口 |
| | | MobileWindowChangeDataFixed: false, // 改变点击窗口的数据--固定窗口 |
| | | // 在每次飞行弹窗中 加入自己的点 |
| | | pointLayer: null, |
| | | pointLayerData: { |
| | | flag: false, |
| | | label: "选择点", |
| | | img: "/img/leftnav/way.png", |
| | | normal: "/img/leftnav/way.png", |
| | | checked: "/img/leftnav/way-checked.png", |
| | | layer: "pointLayer", |
| | | label: '选择点', |
| | | img: '/img/leftnav/way.png', |
| | | normal: '/img/leftnav/way.png', |
| | | checked: '/img/leftnav/way-checked.png', |
| | | layer: 'pointLayer' |
| | | }, |
| | | //默认起始点函数 |
| | | // 默认起始点函数 |
| | | startPointFn: '', |
| | | <<<<<<< HEAD |
| | | dimension: "2.5D",// 维度 |
| | | dimensionData: {// 维度镜头数据 |
| | | heading: 0, |
| | |
| | | }, |
| | | perspectiveControl: '',//视角控制:高度、角度 ()=>{} |
| | | perspectiveControls: '',//视角控制:高度、角度 ()=>{} |
| | | ======= |
| | | dimension: '2D', // 维度 |
| | | perspectiveControl: '' // 视角控制:高度、角度 ()=>{} |
| | | >>>>>>> 19621635052322005f31579f7f3d481750898d7c |
| | | }, |
| | | mutations: { |
| | | MSET_VIEWER(state, viewer) { |
| | | state.mviewer = viewer |
| | | }, |
| | | MSET_BIGPOPUP(state, viewer) { |
| | | state.mBigPopup = viewer; |
| | | $store.dispatch("closeMobileWindowsDom"); //关闭弹窗 |
| | | state.mBigPopup = viewer |
| | | $store.dispatch('closeMobileWindowsDom') // 关闭弹窗 |
| | | }, |
| | | MSET_BIGPOPUPAFTER(state, viewer) { |
| | | state.mBigPopupAfter = viewer; |
| | | $store.dispatch("closeMobileWindowsDom"); //关闭弹窗 |
| | | state.mBigPopupAfter = viewer |
| | | $store.dispatch('closeMobileWindowsDom') // 关闭弹窗 |
| | | }, |
| | | MSET_POPUPOUROPENDATA(state, viewer) { |
| | | state.popupOurOpenData = viewer; |
| | | state.popupOurOpenData = viewer |
| | | }, |
| | | MSET_ICONHIDE(state, viewer) { |
| | | state.iconHide = viewer |
| | |
| | | MSET_POPUPTABLENAME(state, viewer) { |
| | | state.popupTableName = viewer |
| | | }, |
| | | MSET_MOBILEWINDOWSHIDE(state, viewer) {//随地图移动窗口 |
| | | state.MobileWindowChangeData = !state.MobileWindowChangeData; |
| | | MSET_MOBILEWINDOWSHIDE(state, viewer) { // 随地图移动窗口 |
| | | state.MobileWindowChangeData = !state.MobileWindowChangeData |
| | | state.MobileWindowsHide = viewer |
| | | }, |
| | | MSETCC_SETCC(state, viewer) { |
| | | state.ccDataState = !state.ccDataState;//专门测试 |
| | | state.query = viewer; |
| | | state.ccDataState = !state.ccDataState// 专门测试 |
| | | state.query = viewer |
| | | }, |
| | | MSET_POPUPDOM(state, viewer) { |
| | | state.popupsDom = viewer |
| | |
| | | MSET_OPENMOBILEPANORAMA(state, viewer) { |
| | | state.openmobilePanorama = viewer |
| | | }, |
| | | MSET_MOBILEWINDOWSHIDEFIXED(state, viewer) {//固定窗口 |
| | | state.MobileWindowChangeDataFixed = !state.MobileWindowChangeDataFixed; |
| | | MSET_MOBILEWINDOWSHIDEFIXED(state, viewer) { // 固定窗口 |
| | | state.MobileWindowChangeDataFixed = !state.MobileWindowChangeDataFixed |
| | | state.MobileWindowsHideFixed = viewer |
| | | console.log(state.MobileWindowChangeDataFixed); |
| | | console.log(state.MobileWindowChangeDataFixed) |
| | | }, |
| | | //默认位置 |
| | | // 默认位置 |
| | | MSET_MORENWEIZHI(state, data) { |
| | | state.startPointFn = data; |
| | | state.startPointFn = data |
| | | }, |
| | | //开关飞入点图标 |
| | | // 开关飞入点图标 |
| | | MSET_OPENPOINTEL(state, val) { |
| | | if (val) { |
| | | state.pointLayerData.img = state.pointLayerData.checked; |
| | | state[state.pointLayerData.layer].show = true; |
| | | state.pointLayerData.img = state.pointLayerData.checked |
| | | state[state.pointLayerData.layer].show = true |
| | | } else { |
| | | state.pointLayerData.img = state.pointLayerData.normal; |
| | | state[state.pointLayerData.layer].show = false; |
| | | state.pointLayerData.img = state.pointLayerData.normal |
| | | state[state.pointLayerData.layer].show = false |
| | | } |
| | | }, |
| | | //切换2D和2.5D |
| | |
| | | }, |
| | | actions: { |
| | | MSET_CREADE({ state, commit, dispatch }) { |
| | | state.pointLayer = new global.DC.VectorLayer("pointLayer");//创建图标实体类 |
| | | state.mviewer.addLayer(state.pointLayer);//添加到地图 |
| | | state.pointLayer = new global.DC.VectorLayer('pointLayer')// 创建图标实体类 |
| | | state.mviewer.addLayer(state.pointLayer)// 添加到地图 |
| | | }, |
| | | setMobileWindows({ state, commit, dispatch }, data) {//打开随地图移动窗口 |
| | | setMobileWindows({ state, commit, dispatch }, data) { // 打开随地图移动窗口 |
| | | // 关闭前一个弹窗? |
| | | dispatch("closeMobileWindowsDom"); |
| | | let clas, Flys; |
| | |
| | | nowHeight, |
| | | ] |
| | | clas = [ |
| | | data.from == "PopupOurOnce" ? +data.lntLat[0] : +data.lntLat[0], |
| | | data.from == "PopupOurOnce" ? +data.lntLat[1] - 0.00108 : +data.lntLat[1], |
| | | data.from == "PopupOurOnce" ? 0 : 0, |
| | | data.from == 'PopupOurOnce' ? +data.lntLat[0] : +data.lntLat[0], |
| | | data.from == 'PopupOurOnce' ? +data.lntLat[1] - 0.00108 : +data.lntLat[1], |
| | | data.from == 'PopupOurOnce' ? 0 : 0 |
| | | ] |
| | | |
| | | } else if (state.dimension == "2.5D") { |
| | | } else if (state.dimension == '2.5D') { |
| | | Flys = [ |
| | | +data.lntLat[0] + 0.01197, |
| | | +data.lntLat[1] - 0.0022, |
| | | 330, |
| | | 330 |
| | | ] |
| | | clas = [ |
| | | data.from == "PopupOurOnce" ? +data.lntLat[0] : +data.lntLat[0], |
| | | data.from == "PopupOurOnce" ? +data.lntLat[1] - 0.00108 : +data.lntLat[1] - 0.00048, |
| | | data.from == "PopupOurOnce" ? 0 : 90.648862227, |
| | | data.from == 'PopupOurOnce' ? +data.lntLat[0] : +data.lntLat[0], |
| | | data.from == 'PopupOurOnce' ? +data.lntLat[1] - 0.00108 : +data.lntLat[1] - 0.00048, |
| | | data.from == 'PopupOurOnce' ? 0 : 90.648862227 |
| | | ] |
| | | } |
| | | |
| | | |
| | | if (data.useJWD) { |
| | | var ellipsoid = state.mviewer.scene.globe.ellipsoid; |
| | | var ellipsoid = state.mviewer.scene.globe.ellipsoid |
| | | var cartographic = global.DC.Namespace.Cesium.Cartographic.fromDegrees( |
| | | // data.lntLat[0], |
| | | // data.lntLat[1] - 0.00048,//数值增大是下 |
| | | // "90.648862227" |
| | | // clnt, clat, calt |
| | | ...clas |
| | | ); |
| | | data.position = ellipsoid.cartographicToCartesian(cartographic); |
| | | ) |
| | | data.position = ellipsoid.cartographicToCartesian(cartographic) |
| | | } |
| | | // 传递响应数据 |
| | | commit("MSET_QUERY", data); |
| | | commit('MSET_QUERY', data) |
| | | // 定制化窗体 |
| | | let popupsDom = new global.DC.mobileDivForms(state.mviewer, { |
| | | domId: "mobilePopup", |
| | | title: data.query.name || "成教楼 ", |
| | | className: "mobilePopup", |
| | | content: document.getElementById("mobile-map_content_content"), |
| | | position: [data.position], |
| | | }); |
| | | const popupsDom = new global.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)//显示弹窗 |
| | | // dispatch("CHANGETOC3", { // 转换坐标 |
| | | // lnt: data.lntLat[0], |
| | |
| | | // }).then(res => { |
| | | // console.log(res) |
| | | |
| | | //基于高度基础设置 |
| | | // 基于高度基础设置 |
| | | // h:1530 |
| | | // lnt: + 0.01187 x轴 大是向左 |
| | | // Lat: - 0.0108 y轴 减是上 |
| | |
| | | // data.query.from == "地图点击" ? 330 : 330, |
| | | // ] |
| | | |
| | | |
| | | let Position = new global.DC.Position(//转坐标 |
| | | const Position = new global.DC.Position(// 转坐标 |
| | | // +data.lntLat[0] + 0.01197, |
| | | // +data.lntLat[1] - 0.0021, |
| | | // 330, |
| | |
| | | lntLat: [Position.lng, Position.lat, Position.alt], |
| | | heading: Position.heading, |
| | | pitch: Position.pitch, |
| | | roll: Position.roll, |
| | | roll: Position.roll |
| | | }) |
| | | // }) |
| | | commit("MSET_POPUPDOM", popupsDom) |
| | | commit('MSET_POPUPDOM', popupsDom) |
| | | }, |
| | | closeMobileWindowsDom({ state, commit }) { |
| | | if (!state.MobileWindowsHide && state.popupsDom) { |
| | | state.popupsDom.closeOur(); |
| | | commit("MSET_MOBILEWINDOWSHIDE", true); |
| | | state.popupsDom.closeOur() |
| | | commit('MSET_MOBILEWINDOWSHIDE', true) |
| | | } |
| | | }, |
| | | CHANGETOC3({ state, commit }, data) {// //转换经纬度坐标 成世界坐标cartesian3 |
| | | var ellipsoid = state.mviewer.scene.globe.ellipsoid; |
| | | CHANGETOC3({ state, commit }, data) { // //转换经纬度坐标 成世界坐标cartesian3 |
| | | var ellipsoid = state.mviewer.scene.globe.ellipsoid |
| | | var cartographic = global.DC.Namespace.Cesium.Cartographic.fromDegrees( |
| | | data.lnt, |
| | | data.lat - 0.00006, |
| | | data.alt || "90.648862227" |
| | | ); |
| | | var position = ellipsoid.cartographicToCartesian(cartographic); |
| | | return position; |
| | | data.alt || '90.648862227' |
| | | ) |
| | | var position = ellipsoid.cartographicToCartesian(cartographic) |
| | | return position |
| | | }, |
| | | SET_OPENWIDOWFIXED({ state, commit }, data) { |
| | | // 传递响应数据 |
| | | commit("MSET_QUERY", data); |
| | | //显示窗口 |
| | | commit("MSET_MOBILEWINDOWSHIDEFIXED", false) |
| | | //移动地图位置 |
| | | commit('MSET_QUERY', data) |
| | | // 显示窗口 |
| | | commit('MSET_MOBILEWINDOWSHIDEFIXED', false) |
| | | // 移动地图位置 |
| | | state.mviewer.zoomToPosition( |
| | | new global.DC.Position(data.lntLat[0], data.lntLat[1] - 0.012, 1530, 0, -45) |
| | | ); |
| | | ) |
| | | }, |
| | | CLOSE_WIDOWFIXED({ state, commit }) { |
| | | //隐藏窗口 |
| | | // 隐藏窗口 |
| | | if (!state.MobileWindowsHideFixed) { |
| | | console.log(state.MobileWindowsHideFixed) |
| | | commit("MSET_MOBILEWINDOWSHIDEFIXED", true) |
| | | commit('MSET_MOBILEWINDOWSHIDEFIXED', true) |
| | | } |
| | | }, |
| | | //加入当时的选点 |
| | | // 加入当时的选点 |
| | | JOIN_POINT({ state, commit }, data) { |
| | | |
| | | }, |
| | | //flyTo |
| | | // flyTo |
| | | mapFlyTo({ state, commit, dispatch }, data) { |
| | | state.mviewer.camera.flyTo({ |
| | | destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees( |
| | |
| | | // pitch: data.pitch, |
| | | roll: data.roll |
| | | }, |
| | | duration: 1.6, //定位的时间间隔 |
| | | complete: () => {//完成后的回调 |
| | | if (data.fn) {//自定义回调 |
| | | duration: 1.6, // 定位的时间间隔 |
| | | complete: () => { // 完成后的回调 |
| | | if (data.fn) { // 自定义回调 |
| | | setTimeout(() => { |
| | | data.fn() |
| | | }, 500); |
| | | }, 500) |
| | | } |
| | | if (!data.noOpen) { |
| | | setTimeout(() => { |
| | | // dispatch("MSET_POINTDATA", data.lntLat);//传入标记点 |
| | | !state.MobileWindowsHide || |
| | | commit("MSET_MOBILEWINDOWSHIDE", false)//显示弹窗 |
| | | }, 0); |
| | | commit('MSET_MOBILEWINDOWSHIDE', false)// 显示弹窗 |
| | | }, 0) |
| | | } |
| | | } |
| | | }); |
| | | //官网flyto使用方法 |
| | | }) |
| | | // 官网flyto使用方法 |
| | | // 1. Fly to a position with a top-down view |
| | | // viewer.camera.flyTo({ |
| | | // destination : Cesium.Cartesian3.fromDegrees(-117.16, 32.71, 15000.0) |
| | |
| | | }, |
| | | // 飞入点加入位置 |
| | | MSET_POINTDATA({ state, commit, dispatch }, data) { |
| | | //加入坐标 |
| | | const positions = new global.DC.Position(data[0] - 0.0119, data[1] + 0.0111, 0); |
| | | // 加入坐标 |
| | | const positions = new global.DC.Position(data[0] - 0.0119, data[1] + 0.0111, 0) |
| | | const billboard = new global.DC.Billboard( |
| | | positions, |
| | | "/img/leftnav/map-panorama.png" |
| | | ); |
| | | billboard.size = [16, 16]; |
| | | //订阅事件3 |
| | | '/img/leftnav/map-panorama.png' |
| | | ) |
| | | billboard.size = [16, 16] |
| | | // 订阅事件3 |
| | | billboard.on(DC.MouseEventType.CLICK, (e) => { |
| | | // 定制化窗体 |
| | | console.log(e) |
| | | let query = { name: "选择点" }, |
| | | intLat = [e.wgs84Position.lng, e.wgs84Position.lat]; |
| | | let d = { |
| | | const query = { name: '选择点' } |
| | | const intLat = [e.wgs84Position.lng, e.wgs84Position.lat] |
| | | const d = { |
| | | position: null, |
| | | lntLat: intLat, |
| | | query: { ...(query || {}), introduce: null, address: intLat }, |
| | | useJWD: true, //仅使用经纬度 |
| | | }; |
| | | dispatch("setMobileWindows", d); |
| | | }); |
| | | state.pointLayer.addOverlay(billboard); //实景 |
| | | useJWD: true // 仅使用经纬度 |
| | | } |
| | | dispatch('setMobileWindows', d) |
| | | }) |
| | | state.pointLayer.addOverlay(billboard) // 实景 |
| | | // commit("MSET_OPENPOINTEL", true); |
| | | }, |
| | | MSET_LOCKPERSPECTIVEL({ state, commit, dispatch }, val) { |
| | | //锁定 |
| | | // 锁定 |
| | | state.mviewer.camera.lookAtTransform(global.DC.Namespace.Cesium.Matrix4.IDENTITY) |
| | | // console.log(global.DC.Namespace.Cesium.Matrix4.IDENTITY) |
| | | }, |