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