From 7d57b0fef0f220dfe7c868ce1113a7ce6eb6c468 Mon Sep 17 00:00:00 2001 From: suerprisePlus <15810472099@163.com> Date: 星期三, 21 八月 2024 11:23:06 +0800 Subject: [PATCH] 添加本地矢量地图服务,初始化视角切换 --- src/assets/js/mapSdk/index.js | 49 +++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 39 insertions(+), 10 deletions(-) diff --git a/src/assets/js/mapSdk/index.js b/src/assets/js/mapSdk/index.js index 972ec0b..e1610a9 100644 --- a/src/assets/js/mapSdk/index.js +++ b/src/assets/js/mapSdk/index.js @@ -2,6 +2,7 @@ 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', { @@ -18,6 +19,7 @@ window.Viewer = earthCtrl.viewer; //璁剧疆鍦扮悆棰滆壊 Viewer.scene.globe.baseColor = Cesium.Color.fromCssColorString('#A9A9A9'); + Viewer.imageryLayers.removeAll() // 鍦板舰鍔犺浇 const terrain = config.terrain; if (terrain.isShow && terrain.isUrl) { @@ -28,31 +30,58 @@ 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: 'sxpw:shanxitif', + // serveType: 'tdMap', + // url: baseLayer.sUrl + baseLayer.vecLayer + baseLayer.lUrl, // }); - // 娣诲姞澶╁湴鍥炬爣娉� + mapServer.addLayer({ - serveType: 'tdMap', - url: baseLayer.sUrl + baseLayer.cvaLayer + baseLayer.lUrl, + 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); + } + } + } + } + }, Cesium.ScreenSpaceEventType.LEFT_CLICK); + }, }; export default mapInit; -- Gitblit v1.9.3