From 1de23a596f1457db2ea9861645a568e779d7664f Mon Sep 17 00:00:00 2001
From: lixuliang <lixuliang_hd@126.com>
Date: 星期五, 19 一月 2024 17:33:52 +0800
Subject: [PATCH] 20240119

---
 src/components/sideMenu/layerMenu/layerPanel.vue |   53 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 45 insertions(+), 8 deletions(-)

diff --git a/src/components/sideMenu/layerMenu/layerPanel.vue b/src/components/sideMenu/layerMenu/layerPanel.vue
index 741b953..efcbde4 100644
--- a/src/components/sideMenu/layerMenu/layerPanel.vue
+++ b/src/components/sideMenu/layerMenu/layerPanel.vue
@@ -117,7 +117,6 @@
 </template>
 
 <script>
-let tdglLayer;
 import {
   loadHXQ,
   loadJKQ,
@@ -252,6 +251,7 @@
       curFuncIndex: -1,
       curZTIndex: -1,
       state: store.thematicLayer,
+      basicMapChecked: store.basicMapChecked.val,
     };
   },
   mounted() {
@@ -268,10 +268,14 @@
           1
         );
         loadEnterprise();
-      }, 1000);
+      }, 2000);
     });
   },
   methods: {
+    changeLayerView(max, enableTilt) {
+      window.Viewer.scene.screenSpaceCameraController.maximumZoomDistance = max;
+      window.Viewer.scene.screenSpaceCameraController.enableTilt = enableTilt;
+    },
     handleMapClick(result, index) {
       const val = layers.filter((res) => {
         if (res.name == result.name) {
@@ -300,6 +304,13 @@
     },
     // 浜岀淮搴曞浘閫夋嫨
     handleEMapClick(result, index) {
+      // 璁剧疆鐩告満
+      if (result.name == "浜岀淮鍦板浘") {
+        this.changeLayerView(25000, false);
+      } else if (result.name == "褰卞儚鍦板浘") {
+        this.changeLayerView(50000, false);
+      }
+      // 鍒囨崲鍥惧眰
       const val = layers.filter((res) => {
         if (res.name == result.name) {
           return res;
@@ -325,6 +336,13 @@
     },
     // 涓夌淮妯″瀷閫夋嫨
     handleSMapClick(result, index) {
+      // 璁剧疆鐩告満
+      if (result.name == "3D鍩庡競") {
+        this.changeLayerView(45000, true);
+      } else if (result.name == "涓夌淮妯″瀷") {
+        this.changeLayerView(80000, true);
+      }
+      // 鍒囨崲鍥惧眰
       const val = layers.filter((res) => {
         if (res.name == result.name) {
           return res;
@@ -468,8 +486,8 @@
         }
         this.curFuncIndex = -1;
         window.clusterLayer && window.clusterLayer.clear();
-        if (tdglLayer) {
-          sgworld.Creator.DeleteObject(tdglLayer);
+        if (window.tdglLayer) {
+          sgworld.Creator.DeleteObject(window.tdglLayer);
         }
       } else {
         // 闅愯棌搴曢儴鍥惧眰闈㈢増
@@ -481,7 +499,7 @@
         this.curFuncIndex = index;
         switch (index) {
           case 0:
-            tdglLayer = sgworld.Creator.createImageryProvider(
+            window.tdglLayer = sgworld.Creator.createImageryProvider(
               layers[8].name,
               "tms",
               {
@@ -504,12 +522,13 @@
               ""
             );
             store.setTdglFlag(true);
+            
             break;
           case 1:
             this.curFuncIndex = -1;
             store.setTdglFlag(false);
-            if (tdglLayer) {
-              sgworld.Creator.DeleteObject(tdglLayer);
+            if (window.tdglLayer) {
+              sgworld.Creator.DeleteObject(window.tdglLayer);
             }
             store.setHistoryShow(true);
             break;
@@ -523,7 +542,6 @@
   watch: {
     "state.itemId": {
       handler: function (newVal, oldVal) {
-        debugger;
         let that = this;
         if (newVal == "") {
           this.curAreaTypeIndex = -1;
@@ -542,6 +560,25 @@
         }
       },
     },
+    // 鍩虹鍥惧眰
+    "basicMapChecked.val": {
+      handler: function (newVal, oldVal) {
+        if (newVal == "涓夌淮妯″瀷") {
+          this.handleSMapClick(
+            {
+              id: "swmx",
+              name: "涓夌淮妯″瀷",
+              active: false,
+              type: "san",
+              src: require("@/assets/img/layer/swmx.png"),
+            },
+            1
+          );
+        }
+      },
+      immediate: true, //鍒锋柊鍔犺浇 绔嬮┈瑙﹀彂涓�娆andler
+      deep: true, // 鍙互娣卞害妫�娴嬪埌 obj 瀵硅薄鐨勫睘鎬у�肩殑鍙樺寲
+    },
   },
 };
 </script>

--
Gitblit v1.9.3