| | |
| | | import mapConfig from './mapConfig'; |
| | | import mapData from './mapData'; |
| | | import mapServer from './mapServe'; |
| | | import * as turf from '@turf/turf'; |
| | | import store from '@/store'; |
| | | import mapConfig from "./mapConfig"; |
| | | import mapData from "./mapData"; |
| | | import mapServer from "./mapServe.js"; |
| | | import * as turf from "@turf/turf"; |
| | | import store from "@/store"; |
| | | const mapInit = { |
| | | async Init() { |
| | | window.earthCtrl = new SmartEarth.EarthCtrl('sdkContainer', { |
| | | // 隐藏默认底图 |
| | | defaultImagery: false, |
| | | // 隐藏logo |
| | | printLog: false, |
| | | // sceneMode: SmartEarth.Cesium.SceneMode.SCENE2D |
| | | StaticFileBaseUrl: '/CimSDK/', |
| | | }); |
| | | // 初始化Cesium |
| | | window.Cesium = SmartEarth.Cesium; |
| | | // 初始化Viewer |
| | | window.Viewer = earthCtrl.viewer; |
| | | //设置地球颜色 |
| | | Viewer.scene.globe.baseColor = Cesium.Color.fromCssColorString('#A9A9A9'); |
| | | Viewer.imageryLayers.removeAll() |
| | | // 地形加载 |
| | | const terrain = config.terrain; |
| | | if (terrain.isShow && terrain.isUrl) { |
| | | const terrainProvider = await Cesium.CesiumTerrainProvider.fromUrl(terrain.isUrl, { |
| | | requestWaterMask: true, |
| | | requestVertexNormals: true, |
| | | }); |
| | | |
| | | Viewer.terrainProvider = terrainProvider; |
| | | } |
| | | // Viewer.scene.screenSpaceCameraController.maximumZoomDistance =50000 |
| | | // 默认设置底图 |
| | | this.addImageLayer(); |
| | | // 添加鼠标点击事件 |
| | | this.addMapClick(); |
| | | |
| | | // window.earthCtrl = new SmartEarth.EarthCtrl( |
| | | // 'sdkContainer', |
| | | // { |
| | | // // 隐藏默认底图 |
| | | // defaultImagery: false, |
| | | // // 隐藏logo |
| | | // printLog: false, |
| | | // // sceneMode: SmartEarth.Cesium.SceneMode.SCENE2D |
| | | // StaticFileBaseUrl: '/CimSDK/', |
| | | // }, |
| | | // {}, |
| | | // {}, |
| | | // () => { |
| | | // debugger |
| | | // // 初始化Cesium |
| | | // window.Cesium = SmartEarth.Cesium; |
| | | // // 初始化Viewer |
| | | // window.Viewer = window.earthCtrl.Viewer; |
| | | // //设置地球颜色 |
| | | // window.Viewer.scene.globe.baseColor = Cesium.Color.fromCssColorString('#A9A9A9'); |
| | | // window.earthCtrl.Viewer.imageryLayers.removeAll(); |
| | | // // // 地形加载 |
| | | // // const terrain = config.terrain; |
| | | // // if (terrain.isShow && terrain.isUrl) { |
| | | // // const terrainProvider = await Cesium.CesiumTerrainProvider.fromUrl(terrain.isUrl, { |
| | | // // requestWaterMask: true, |
| | | // // requestVertexNormals: true, |
| | | // // }); |
| | | |
| | | // // window.Viewer.terrainProvider = terrainProvider; |
| | | // // } |
| | | // this.setStartViwer(); |
| | | // } |
| | | // ); |
| | | }, |
| | | // async setStartViwer() { |
| | | // // Viewer.scene.screenSpaceCameraController.maximumZoomDistance =50000 |
| | | // // 默认设置底图 |
| | | // this.addImageLayer(); |
| | | // // 添加鼠标点击事件 |
| | | // this.addMapClick(); |
| | | // }, |
| | | addImageLayer() { |
| | | const baseLayer = mapData.baseLayer; |
| | | // 添加天地图底图 |
| | |
| | | // serveType: 'tdMap', |
| | | // url: baseLayer.sUrl + baseLayer.vecLayer + baseLayer.lUrl, |
| | | // }); |
| | | |
| | | mapServer.addLayer({ |
| | | serveType: 'WMS', |
| | | url: config.geoServer.layers[1], |
| | | console.log(config.geoServer); |
| | | // console.log(mapServer); |
| | | // mapServer.addLayer({ |
| | | // serveType: "WMS", |
| | | // url: |
| | | // }); |
| | | const serverUrl = config.geoServer; |
| | | const layer = new Cesium.WebMapServiceImageryProvider({ |
| | | url:serverUrl.url + serverUrl.wms, |
| | | layers: serverUrl.layers[1], |
| | | parameters: { |
| | | transparent: true, |
| | | format: 'image/png', |
| | | srs: 'EPSG:4490', |
| | | styles: '', |
| | | cql_filter: '', |
| | | }, |
| | | tileWidth: 512, |
| | | tileHeight: 512, |
| | | }); |
| | | |
| | | window.Viewer.imageryLayers.addImageryProvider(layer); |
| | | // 添加天地图标注 |
| | | // mapServer.addLayer({ |
| | | // serveType: 'tdMap', |
| | | // url: baseLayer.sUrl + baseLayer.cvaLayer + baseLayer.lUrl, |
| | | // }); |
| | | |
| | | // 初始化视角 |
| | | this.setdefaultPerspective(); |
| | | }, |
| | |
| | | }, |
| | | addMapClick() { |
| | | // 为viewer添加鼠标点击事件监听 |
| | | Viewer.screenSpaceEventHandler.setInputAction((event) => { |
| | | window.Viewer.screenSpaceEventHandler.setInputAction(event => { |
| | | // 获取点击位置的世界坐标 |
| | | var pickedFeature = Viewer.scene.pick(event.position); |
| | | var pickedFeature = window.Viewer.scene.pick(event.position); |
| | | if (Cesium.defined(pickedFeature)) { |
| | | console.log(pickedFeature); |
| | | if (pickedFeature.id) { |
| | |
| | | for(var key in obj){ |
| | | arr.push({ |
| | | name: key, |
| | | val: obj[key], |
| | | val: obj[key] |
| | | }); |
| | | store.dispatch('mapLayers/changeMapInfo', []); |
| | | store.dispatch("mapLayers/changeMapInfo", []); |
| | | if (arr.length > 0) { |
| | | store.dispatch('mapLayers/changeMapInfo', arr); |
| | | store.dispatch("mapLayers/changeMapInfo", arr); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, Cesium.ScreenSpaceEventType.LEFT_CLICK); |
| | | }, |
| | | } |
| | | }; |
| | | export default mapInit; |