| | |
| | | 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", |
| | | }, |
| | | }, |
| | | mutations: { |
| | | MSET_VIEWER(state, viewer) { |
| | |
| | | state.MobileWindowsHideFixed = viewer |
| | | console.log(state.MobileWindowChangeDataFixed); |
| | | }, |
| | | //开关飞入点图标 |
| | | MSET_OPENPOINTEL(state, val) { |
| | | if (val) { |
| | | 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; |
| | | } |
| | | } |
| | | }, |
| | | actions: { |
| | | MSET_CREADE({ state, commit, dispatch }) { |
| | | state.pointLayer = new global.DC.VectorLayer("pointLayer");//创建图标实体类 |
| | | state.mviewer.addLayer(state.pointLayer);//添加到地图 |
| | | }, |
| | | setMobileWindows({ state, commit, dispatch }, data) {//打开随地图移动窗口 |
| | | // 关闭前一个弹窗? |
| | | dispatch("closeMobileWindowsDom"); |
| | |
| | | //基于高度基础设置 |
| | | // h:1530 |
| | | // lnt: + 0.01187 x轴 |
| | | // Lat + 0.0108 y轴 |
| | | // Lat: - 0.0108 y轴 |
| | | // h:4000 |
| | | // lnt: + 0.01187 x轴 |
| | | // Lat: - 0.0308y轴 |
| | | let Position = new global.DC.Position(//转坐标 |
| | | +data.lntLat[0] + 0.01187, |
| | | +data.lntLat[1] - 0.0108, |
| | |
| | | // pitch: data.pitch, |
| | | roll: data.roll |
| | | }, |
| | | duration: 2, //定位的时间间隔 |
| | | duration: 1.6, //定位的时间间隔 |
| | | complete: () => {//完成后的回调 |
| | | setTimeout(() => { |
| | | !state.MobileWindowsHide || |
| | | commit("MSET_MOBILEWINDOWSHIDE", false)//显示弹窗 |
| | | }, 0); |
| | | if (!data.noOpen) { |
| | | setTimeout(() => { |
| | | // dispatch("MSET_POINTDATA", data.lntLat);//传入标记点 |
| | | !state.MobileWindowsHide || |
| | | commit("MSET_MOBILEWINDOWSHIDE", false)//显示弹窗 |
| | | }, 0); |
| | | } |
| | | } |
| | | }); |
| | | //官网flyto使用方法 |
| | |
| | | // roll : 0.0 |
| | | // } |
| | | // }); |
| | | } |
| | | }, |
| | | // 飞入点加入位置 |
| | | MSET_POINTDATA({ state, commit, dispatch }, data) { |
| | | //加入坐标 |
| | | 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 |
| | | billboard.on(DC.MouseEventType.CLICK, (e) => { |
| | | // 定制化窗体 |
| | | console.log(e) |
| | | let query = { name: "选择点" }, |
| | | intLat = [e.wgs84Position.lng, e.wgs84Position.lat]; |
| | | let d = { |
| | | position: null, |
| | | lntLat: intLat, |
| | | query: { ...(query || {}), introduce: null, address: intLat }, |
| | | useJWD: true, //仅使用经纬度 |
| | | }; |
| | | dispatch("setMobileWindows", d); |
| | | }); |
| | | state.pointLayer.addOverlay(billboard); //实景 |
| | | // commit("MSET_OPENPOINTEL", true); |
| | | }, |
| | | } |
| | | } |
| | | |