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