From 703703929e97b94ca1c1c5e35a578e5fe9d4cfea Mon Sep 17 00:00:00 2001 From: suerprisePlus <15810472099@163.com> Date: 星期一, 30 九月 2024 09:58:04 +0800 Subject: [PATCH] 代码修改 --- src/assets/js/mapSdk/index.js | 198 +++++++++++++++++++++++++++++-------------------- 1 files changed, 116 insertions(+), 82 deletions(-) diff --git a/src/assets/js/mapSdk/index.js b/src/assets/js/mapSdk/index.js index e1610a9..48cf46c 100644 --- a/src/assets/js/mapSdk/index.js +++ b/src/assets/js/mapSdk/index.js @@ -1,87 +1,121 @@ -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/', - }); - // 鍒濆鍖朇esium - window.Cesium = SmartEarth.Cesium; - // 鍒濆鍖朧iewer - 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, + 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 + // // 鍒濆鍖朇esium + // window.Cesium = SmartEarth.Cesium; + // // 鍒濆鍖朧iewer + // 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() { + // 涓簐iewer娣诲姞榧犳爣鐐瑰嚮浜嬩欢鐩戝惉 + window.Viewer.screenSpaceEventHandler.setInputAction(event => { + // 鑾峰彇鐐瑰嚮浣嶇疆鐨勪笘鐣屽潗鏍� + var pickedFeature = window.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] }); - - 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() { - // 涓簐iewer娣诲姞榧犳爣鐐瑰嚮浜嬩欢鐩戝惉 - 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); - } - } - } + store.dispatch("mapLayers/changeMapInfo", []); + if (arr.length > 0) { + store.dispatch("mapLayers/changeMapInfo", arr); } - }, Cesium.ScreenSpaceEventType.LEFT_CLICK); - }, + } + } + } + }, Cesium.ScreenSpaceEventType.LEFT_CLICK); + } }; export default mapInit; -- Gitblit v1.9.3