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() { // 默认设置底图 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; // 添加天地图底图 // mapServer.addLayer({ // serveType: 'tdMap', // url: baseLayer.sUrl + baseLayer.vecLayer + baseLayer.lUrl, // }); 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(); }, setdefaultPerspective() { mapConfig.sertCameraTo(mapData.defaultPerspective); }, addMapClick() { // 为viewer添加鼠标点击事件监听 window.Viewer.screenSpaceEventHandler.setInputAction(event => { // 获取点击位置的世界坐标 var pickedFeature = window.Viewer.scene.pick(event.position); if (Cesium.defined(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;