| | |
| | | import leftNavsData from './pc/leftNavsData' |
| | | window.labelLayer = null; |
| | | window.divIcon = null; |
| | | |
| | | |
| | | const popupParams = { |
| | | state: { |
| | | ...leftNavsData.state, |
| | |
| | | addTagPopup: false, |
| | | addTagPosition: null, |
| | | |
| | | labelLayer: null, // 自定义标签图层 |
| | | // labelLayer: null, // 自定义标签图层 |
| | | addSignList: true, |
| | | myviewer: null, |
| | | nowlabelLayerData: {}, |
| | |
| | | state.addTagPosition = addTagPosition |
| | | }, |
| | | initLabelLayer(state, val) { |
| | | if (!state.labelLayer) { |
| | | state.labelLayer = new global.DC.HtmlLayer('labelLayer') |
| | | val.addLayer(state.labelLayer) |
| | | if (!window.labelLayer) { |
| | | window.labelLayer = new global.DC.HtmlLayer('labelLayer') |
| | | val.addLayer(window.labelLayer) |
| | | } |
| | | state.myviewer = val |
| | | }, |
| | | |
| | | clearLabelLayerIcon(state, val) { |
| | | if (state.labelLayer) { |
| | | state.labelLayer.clear() |
| | | if (window.labelLayer) { |
| | | window.labelLayer.clear() |
| | | } |
| | | }, |
| | | openLabelLayer(state, val) { |
| | |
| | | // item: item, |
| | | // }); |
| | | // }); |
| | | var popup = new global.DC.DivForms(state.viewer, { |
| | | new global.DC.DivForms(state.viewer, { |
| | | domId: 'divFormsDomBox', |
| | | position: [ |
| | | global.DC.Transform.transformWGS84ToCartesian( |
| | |
| | | // 弹窗使用方法 |
| | | |
| | | commit('CLEAR_ALL', null) |
| | | |
| | | commit('SET_MONITORPOPUP', false) |
| | | commit('SET_PANORAMAPOPUP', false) |
| | | commit('SET_STATENAME', value.item.mechanismname) |
| | | commit('SET_PANORAMAURL', value.item.panoramaurl) |
| | | commit('SET_INTRODUCETEXT', value.item.introduce) |
| | |
| | | commit, |
| | | dispatch |
| | | }, val) { |
| | | val.viewer.camera.setView({ |
| | | global.viewer.camera.setView({ |
| | | // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州 |
| | | // fromDegrees()方法,将经纬度和高程转换为世界坐标 |
| | | destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees( |
| | |
| | | }, val) { |
| | | const list = val.list |
| | | if (val.clear) { |
| | | // state.labelLayer.remove(); |
| | | state.labelLayer.clear() |
| | | // window.labelLayer.remove(); |
| | | window.labelLayer.clear() |
| | | } |
| | | if (val.add) { // 刷新列表 |
| | | state.addSignList = !state.addSignList |
| | |
| | | ` |
| | | ) |
| | | // 订阅事件 |
| | | divIcon.on(global.DC.MouseEventType.CLICK, (e) => { |
| | | window.divIcon.on(global.DC.MouseEventType.CLICK, (e) => { |
| | | // console.log(e); |
| | | // return; |
| | | // 定制化窗体 |
| | | const position = e.position |
| | | // const position = e.position |
| | | const lntLat = [e.overlay._position._lng, e.overlay._position._lat] |
| | | // console.log(position, lntLat, list[i], state.myviewer, "see") |
| | | new global.DC.DivForms(state.myviewer, { |
| | | new global.DC.DivForms(global.viewer, { |
| | | domId: 'labelLayerid', |
| | | position: [ |
| | | global.DC.Transform.transformWGS84ToCartesian( |
| | |
| | | ) |
| | | ] |
| | | }) |
| | | state.myviewer.camera.setView({ |
| | | global.viewer.camera.setView({ |
| | | // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州 |
| | | // fromDegrees()方法,将经纬度和高程转换为世界坐标 |
| | | destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees( |
| | |
| | | data: list[i] |
| | | }) |
| | | }) |
| | | state.labelLayer.addOverlay(divIcon) |
| | | window.labelLayer.addOverlay(window.divIcon) |
| | | } |
| | | }, |
| | | addLabelLayerIconMobelUse({ |
| | |
| | | dispatch |
| | | }, val) { |
| | | const list = val.list |
| | | if (!state.labelLayer) { |
| | | state.labelLayer = new global.DC.HtmlLayer('labelLayer') |
| | | val.mviewer.addLayer(state.labelLayer); |
| | | state.myviewer = val.mviewer; |
| | | if (!window.labelLayer) { |
| | | window.labelLayer = new global.DC.HtmlLayer('labelLayer') |
| | | global.viewer.addLayer(window.labelLayer) |
| | | // state.myviewer = val.mviewer |
| | | } |
| | | if (val.clear) { |
| | | // state.labelLayer.remove(); |
| | | state.labelLayer.clear() |
| | | // window.labelLayer.remove(); |
| | | window.labelLayer.clear() |
| | | } |
| | | if (val.add) { // 刷新列表 |
| | | state.addSignList = !state.addSignList |
| | | return |
| | | } |
| | | for (const i in list) { |
| | | const divIcon = new global.DC.DivIcon( |
| | | for (let i in list) { |
| | | window.divIcon = new global.DC.DivIcon( |
| | | new global.DC.Position( |
| | | Number(list[i].jd), |
| | | Number(list[i].wd), |
| | |
| | | ` |
| | | ) |
| | | // 订阅事件 |
| | | divIcon.on(global.DC.MouseEventType.CLICK, (e) => { |
| | | window.divIcon.on(global.DC.MouseEventType.CLICK, (e) => { |
| | | // console.log(e); |
| | | // return; |
| | | // 定制化窗体 |
| | | const position = e.position |
| | | // const position = e.position |
| | | const lntLat = [e.overlay._position._lng, e.overlay._position._lat] |
| | | // console.log(position, lntLat, list[i], state.myviewer, "see") |
| | | new global.DC.DivForms(state.myviewer, { |
| | | new global.DC.DivForms(global.viewer, { |
| | | domId: 'labelLayerid', |
| | | position: [ |
| | | global.DC.Transform.transformWGS84ToCartesian( |
| | |
| | | ) |
| | | ] |
| | | }) |
| | | state.myviewer.camera.setView({ |
| | | global.viewer.camera.setView({ |
| | | // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州 |
| | | // fromDegrees()方法,将经纬度和高程转换为世界坐标 |
| | | destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees( |
| | |
| | | data: list[i] |
| | | }) |
| | | }) |
| | | state.labelLayer.addOverlay(divIcon) |
| | | window.labelLayer.addOverlay(window.divIcon) |
| | | } |
| | | } |
| | | } |