From 35e41dcc089c06d400f3b13f88ce274882f7d854 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期日, 28 五月 2023 10:08:36 +0800
Subject: [PATCH] 1

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

diff --git a/src/views/Tools/LayerTree.vue b/src/views/Tools/LayerTree.vue
index d1577b4..6cb76d2 100644
--- a/src/views/Tools/LayerTree.vue
+++ b/src/views/Tools/LayerTree.vue
@@ -313,11 +313,11 @@
         }
       }
 
-      if (obj.WMS.length) this.setChangeWMS(obj.WMS, checked);
-      if (obj.Tileset.length) this.setChangeTileset(obj.Tileset, checked);
+      this.setChangeDEM(obj.DEM, checked);
       if (obj.TMS.length) this.setChangeTMS(obj.TMS, checked);
       if (obj.Mpt.length) this.setChangeMpt(obj.Mpt, checked);
-      if (obj.DEM.length) this.setChangeDEM(obj.DEM, checked);
+      if (obj.Tileset.length) this.setChangeTileset(obj.Tileset, checked);
+      if (obj.WMS.length) this.setChangeWMS(obj.WMS, checked);
     },
     // 鑾峰彇瀛愯妭鐐�
     getNodes (data, arr) {
@@ -505,36 +505,38 @@
     },
     // 鍒囨崲DEM
     setChangeDEM (layers, checked) {
-      let ids = this.getCheckNodesIds(), arr = [], isDel = false, useSG = false;
+      debugger
+      let ids = this.getCheckNodesIds(), arr = [];
       for (let i in layers) {
         let layer = layers[i];
         if (ids.indexOf(layer.id) != -1) {
           arr.push(layer.url);
           continue;
         }
-
-        if (window.Viewer.terrainProvider._layers[0].resource._url == layer.url) isDel = true; // 鍒犻櫎DEM
       }
 
-      if (!arr.length && isDel) useSG = true; // demLayer
-      if (arr.length) this.addDEMLayers(arr[0], useSG);
+      let url = arr.length ? arr[arr.length - 1] : null;
+      this.addDEMLayers(url, null == url);
     },
     // 娣诲姞DEM鍥惧眰
-    addDEMLayer (url, useSG) {
+    addDEMLayers (url, useSG) {
       if (useSG) {
+        if (Viewer.terrainProvider._isMPT) return;
+
         let option = {
           url: window.sceneConfig.SGUrl,
           layerName: window.sceneConfig.mptName,
           requestVertexNormals: true
         };
-        window.terrainLayer = sgworld.Creator.sfsterrainprovider("", option, "", true, "");
-      } else {
-        window.terrainLayer = new Cesium.CesiumTerrainProvider({
-          url: url,
-          requestVertexNormals: true
-        });
+        sgworld.Creator.sfsterrainprovider("", option, "", true, "");
+        return;
       }
-      Viewer.terrainProvider = terrainLayer;
+
+      if (url.indexOf("{host}") > -1) url = url.replace("{host}", iisHost);
+      Viewer.terrainProvider = new Cesium.CesiumTerrainProvider({
+        url: url,
+        requestVertexNormals: true
+      });
     },
     // 璁剧疆Tileset鍙傛暟
     async setTilesetArgs (tileset, res) {

--
Gitblit v1.9.3