From e2abcc58249920af74fc5fa04e90554274c208d5 Mon Sep 17 00:00:00 2001 From: WX <1377869194@qq.com> Date: 星期一, 24 七月 2023 17:11:20 +0800 Subject: [PATCH] 图层树默认 图层加载删除 --- src/assets/js/Map/server.js | 94 ++++++++++++++++++++++++++++------------------- 1 files changed, 56 insertions(+), 38 deletions(-) diff --git a/src/assets/js/Map/server.js b/src/assets/js/Map/server.js index d2f9b6c..6d534d1 100644 --- a/src/assets/js/Map/server.js +++ b/src/assets/js/Map/server.js @@ -1,33 +1,14 @@ import { getToken } from "@/utils/auth"; +//閰嶇疆鏂囦欢鍦板潃 +import config from "./config"; const server = { + layerList: [], addTreeData(treeNode) { - console.log(treeNode); - let _data = earthCtrl.ProjectTree.getObject(treeNode.id); - let pID = 0; - console.log(_data); - if (_data) { - earthCtrl.ProjectTree.setVisibility(treeNode.id, treeNode.checked); + if (!treeNode.checked) { + this.delLayer(treeNode.id); return; - } else { - // _data = _getTreeData(treeNode.id); - // if (_data) { - // _data.item && - // _data.item.setVisibility && - // _data.item.setVisibility(treeNode.checked); - // _data.item && - // _data.item.setVisible && - // _data.item.setVisible(treeNode.checked); - // _data.item && - // _data.item.show !== undefined && - // (_data.item.show = treeNode.checked); - // if (_data.datatype === "particle") { - // _data.item.forEach((item) => { - // item.show = treeNode.checked; - // }); - // } - // return; - // } } + // comment on table lf.sys_res is '璧勬簮琛�'; // comment on column lf.sys_res.id is '涓婚敭ID'; // comment on column lf.sys_res.pid is '鐖禝D锛�0-鏍硅妭鐐�'; @@ -75,15 +56,35 @@ this.addGisServer(treeNode); } }, + //娓呴櫎鍥惧眰 + delLayer(code) { + this.layerList.forEach((e, i) => { + if (e.id === code) { + switch (e.type) { + case "wmts": + window.Viewer.imageryLayers.remove(e.layerData); + break; + case "tms": + window.Viewer.imageryLayers.remove(e.layerData); + break; + case "dem": + window.Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider( + {} + ); + break; + } + this.layerList.splice(i, 1); + } + }); + }, addGisServer(treeNode) { - console.log(1111111111111111111, treeNode); // 0-URL锛�1-TMS锛�2-WMTS锛�3-WFS锛�4-Tileset'; switch (treeNode.type) { case 1: - this.AddTmsLayer(treeNode.useUrl); + this.AddTmsLayer(treeNode.useUrl, treeNode.id); break; case 2: - this.AddWmtesLayer(treeNode.useUrl); + this.AddWmtesLayer(treeNode.useUrl, treeNode.id); break; case 3: break; @@ -92,7 +93,6 @@ } }, addGeoServer(treeNode) { - console.log(222222222222222222222222222, treeNode); // 0-URL锛�1-TMS锛�2-WMTS锛�3-WFS锛�4-Tileset'; switch (treeNode.type) { case 1: @@ -108,11 +108,8 @@ }, //娣诲姞geoserver鏈嶅姟wms鏈嶅姟 AddGeoWmsLayer(url, id, tab) { - console.log(url); - - window.layerWMS = new SmartEarth.Cesium.WebMapServiceImageryProvider({ + let layer = new SmartEarth.Cesium.WebMapServiceImageryProvider({ // url: "http://192.168.22.198:8090/geoserver/moon/wms", - // id: id, url: url, layers: tab, parameters: { @@ -124,17 +121,18 @@ tileWidth: 512, tileHeight: 512, }); - layerWMS.name = "Wms_Layer"; + layer.name = `Wms_Layer${id}`; - Viewer.imageryLayers.addImageryProvider(window.layerWMS); + let img_layer = Viewer.imageryLayers.addImageryProvider(layer); + this.layerList.push({ id: id, layerData: img_layer, type: "wmts" }); }, //娣诲姞GisServer鏈嶅姟TMS鍒囩墖鏈嶅姟 - AddTmsLayer(url) { + AddTmsLayer(url, id) { // var urlTemplateImageryProvider = new SmartEarth.Cesium.UrlTemplateImageryProvider({ // url: url + "/{z}/{x}/{y}.png" // }); // Viewer.imageryLayers.addImageryProvider(urlTemplateImageryProvider); - earthCtrl.Creator.createUrlTemplateImageryProvider( + let img_layer = earthCtrl.Creator.createUrlTemplateImageryProvider( "tms鏈嶅姟", { url: Cesium.buildModuleUrl(url + "/{z}/{x}/{reverseY}.png"), @@ -144,8 +142,9 @@ true, "" ); + this.layerList.push({ id: id, layerData: img_layer, type: "tms" }); }, - AddWmtesLayer(url) { + AddWmtesLayer(url, id) { var urlTemplateImageryProvider = earthCtrl.factory.createImageryLayer({ sourceType: "wmts", url: url, @@ -178,6 +177,25 @@ ellipsoid: Cesium.Ellipsoid.MOON, }), }); + console.log(urlTemplateImageryProvider); + this.layerList.push({ + id: id, + layerData: urlTemplateImageryProvider._primitive, + type: "wmts", + }); + }, + AddDemLayer(url, id) { + var terrain = new Cesium.CesiumTerrainProvider({ + url: config.moonTerrain, + // url: url, + tilingScheme: new Cesium.GeographicTilingScheme({ + ellipsoid: Cesium.Ellipsoid.MOON, + }), + }); + window.Viewer.terrainProvider = terrain; + + // let img_layer = Viewer.imageryLayers.addImageryProvider(layer); + this.layerList.push({ id: id, type: "dem" }); }, }; export default server; -- Gitblit v1.9.3