| | |
| | | } |
| | | } |
| | | |
| | | 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) { |
| | |
| | | }, |
| | | // 切换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) { |