import mapConfig from './mapConfig'; import mapData from './mapData'; import mapServer from './mapServe'; 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(); }, addImageLayer() { const baseLayer = mapData.baseLayer; // 添加天地图底图 // mapServer.addLayer({ // serveType: 'tdMap', // url: baseLayer.sUrl + baseLayer.vecLayer + baseLayer.lUrl, // }); mapServer.addLayer({ serveType: 'WMS', url: config.geoServer.layers[1], }); // 添加天地图标注 // mapServer.addLayer({ // serveType: 'tdMap', // url: baseLayer.sUrl + baseLayer.cvaLayer + baseLayer.lUrl, // }); // 初始化视角 this.setdefaultPerspective(); }, setdefaultPerspective() { mapConfig.sertCameraTo(mapData.defaultPerspective); }, addMapClick() { // 为viewer添加鼠标点击事件监听 Viewer.screenSpaceEventHandler.setInputAction((event) => { // 获取点击位置的世界坐标 var pickedFeature = Viewer.scene.pick(event.position); if (Cesium.defined(pickedFeature)) { console.log(pickedFeature); if (pickedFeature.id) { const obj = pickedFeature.id; var arr=[]; for(var key in obj){ arr.push({ name: key, val: obj[key], }); store.dispatch('mapLayers/changeMapInfo', []); if (arr.length > 0) { store.dispatch('mapLayers/changeMapInfo', arr); } } } } }, Cesium.ScreenSpaceEventType.LEFT_CLICK); }, }; export default mapInit;