From 12d966546d0f5bc834728650011a21c19d0fbb72 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期一, 13 三月 2023 10:39:54 +0800
Subject: [PATCH] 二维图层管理,图层控制切换底图消失

---
 src/views/Tools/LayerTree.vue |   33 ++++++++++++++++++---------------
 1 files changed, 18 insertions(+), 15 deletions(-)

diff --git a/src/views/Tools/LayerTree.vue b/src/views/Tools/LayerTree.vue
index f9ff88d..04456b5 100644
--- a/src/views/Tools/LayerTree.vue
+++ b/src/views/Tools/LayerTree.vue
@@ -532,10 +532,10 @@
       console.log("tree drop: ", dropNode.label, dropType);
     },
     handleCheckChange(data, checked, indeterminate) {
+
       if (data.type != 2) return;
       var std = [];
       if (data.serveType == "WMS") {
-        var layers_ol = window.map.getAllLayers();
         for (var i = 0; i < window.Viewer.imageryLayers._layers.length; i++) {
           var val_id =
             window.Viewer.imageryLayers._layers[i].imageryProvider.name;
@@ -544,13 +544,6 @@
 
             const img_layer = window.Viewer.imageryLayers._layers[i];
             img_layer.show = checked;
-          }
-        }
-
-        for (var i in layers_ol) {
-          var layerOl = layers_ol[i];
-          if (layerOl.values_.name == data.cnName) {
-            layerOl.setVisible(checked); //鏄剧ず鍥惧眰
           }
         }
       } else if (data.serveType == "WFS") {
@@ -579,14 +572,24 @@
       }
       if (std.length == 0 && checked == true) {
         this.setAddLayers(data);
+      } else {
+        window.map.getLayers().getArray().forEach(item => {
+          if (item.get("name") == data.cnName) {
+            item.setVisible(checked);
+            debugger
+          }
+        });
       }
-      var layers_ol = window.map.getAllLayers();
-      for (var i in layers_ol) {
-        var layerOl = layers_ol[i];
-        if (layerOl.values_.name == data.label) {
-          layerOl.setVisible(checked); //鏄剧ず鍥惧眰
-        }
-      }
+
+
+
+      // var layers_ol = window.map.getAllLayers();
+      // for (var i in layers_ol) {
+      //   var layerOl = layers_ol[i];
+      //   if (layerOl.values_.name == data.label) {
+      //     layerOl.setVisible(checked); //鏄剧ず鍥惧眰
+      //   }
+      // }
     },
     setAddLayers(res) {
       if (res.serveType == "WMS") {

--
Gitblit v1.9.3