From c2a6c53657baaf0830cd881e1a23a15af23ac6fa Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期四, 21 九月 2023 18:35:14 +0800 Subject: [PATCH] 代码更新 --- src/views/Tools/LayerTree.vue | 65 ++++++++++++++++++++++++++------ 1 files changed, 53 insertions(+), 12 deletions(-) diff --git a/src/views/Tools/LayerTree.vue b/src/views/Tools/LayerTree.vue index bfac89b..3a2e50f 100644 --- a/src/views/Tools/LayerTree.vue +++ b/src/views/Tools/LayerTree.vue @@ -40,7 +40,6 @@ :default-checked-keys="handleTreeCheck" :expand-on-click-node="false" :filter-node-method="filterNode" - draggable > <span class="slot-t-node" @@ -48,8 +47,8 @@ > <span v-show="!data.isEdit"> <span :class="[data.id >= 99 ? 'slot-t-node--label' : '']">{{ - node.label - }}</span> + node.label + }}</span> </span> <span v-show="data.isEdit"> <el-input @@ -105,6 +104,13 @@ > <i class="el-icon-download"></i> 鐡︾墖涓嬭浇 </div> + <div + class="edit" + v-show="shwoAnnex" + @click="annexDownload()" + > + <i class="el-icon-tickets"></i> 闄勪欢 + </div> </el-card> </div> </template> @@ -129,6 +135,7 @@ showOpacity: false, // 涓嶉�忔槑搴� shwoTileDown: false, // 鐡︾墖涓嬭浇 menuVisible: false, // 鑿滃崟 + shwoAnnex: false,//闄勪欢 levelArray: [ // 楂樼▼鏁扮粍 0, 40000000, 20000000, 10000000, 5000000, 2000000, 1000000, 500000, 250000, 200000, 100000, 50000, 17000, 9000, 5000, 2000, 1000, 500, 200, @@ -279,7 +286,7 @@ this.showOpacity = ["Tileset", "3DML"].indexOf(object.serveType) > -1; // 涓嶉�忔槑搴� this.shwoTileDown = ["TMS", "DOM"].indexOf(object.serveType) > -1 && object.pubid; // 鐡︾墖涓嬭浇 this.menuVisible = this.showProp || this.shwoHistogram || this.showLocal || this.showOpacity || this.shwoTileDown; // 鑿滃崟 - + this.shwoAnnex = ['DEM', 'TMS'].indexOf(object.serveType) > -1;//闄勪欢 this.$refs.card.$el.style.left = event.pageX + 20 + "px"; this.$refs.card.$el.style.top = event.pageY + "px"; }, @@ -295,6 +302,7 @@ // 瀹氫綅 async positioning() { this.rmListener(); + if (["Tileset", "3DML"].indexOf(this.currentData.serveType) > -1) { for (let i in Viewer.scene.primitives._primitives) { if (Viewer.scene.primitives._primitives[i].id == this.currentData.cnName) { @@ -311,14 +319,25 @@ let wkt = this.$wkt.parse(data.result.geom); let height = this.getHeight(wkt.coordinates[2]); Viewer.camera.flyTo({ - destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], height), // 2000 + destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], sceneConfig.extureHeight), // 2000 }); } return; } if ("Mpt" == this.currentData.serveType) { - viewer.camera.flyTo({ destination: Cesium.Cartesian3.fromDegrees(101.8, 37.9, 10000000.0) }); // 涓浗 + if (this.currentData.json) { + var json = JSON.parse(this.currentData.json); + if (json.west) { + Viewer.camera.flyTo({ + destination: Cesium.Rectangle.fromDegrees(json.west, json.south, json.east, json.north) + }) + } + } else { + + Viewer.camera.flyTo({ destination: Cesium.Cartesian3.fromDegrees(101.8, 37.9, 10000000.0) }); // 涓浗 + } + } }, // 閽诲瓟鏌辩姸鍥� @@ -343,9 +362,14 @@ // 鑾峰彇楂樺害 getHeight(level) { if (level > -1 && level < 23) return this.levelArray[level]; - - return this.levelArray[this.levelArray.length - 1]; + var res = 7 + return this.levelArray[res]; }, + //闄勪欢涓嬭浇 + annexDownload() { + this.$bus.$emit('annexDownload', this.currentData) + }, + // 鐡︾墖涓嬭浇 tileDownload() { this.rmListener(); @@ -403,7 +427,7 @@ } } - if (obj.TMS.length) this.setChangeDEM(obj.DEM, checked); + if (obj.DEM.length) 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.Tileset.length) this.setChangeTileset(obj.Tileset, checked); @@ -542,6 +566,7 @@ }, // 娣诲姞TMS鍥惧眰 addTMSLayers(layers) { + for (let i in layers) { let res = layers[i]; res.url = res.url.indexOf("{host}") > -1 ? res.url.replace("{host}", iisHost) : res.url; @@ -556,8 +581,14 @@ maximumLevel: 22, enablePickFeatures: false }), 1); + layer.id = res.id; layer.name = res.cnName; + if (is_production) { + Viewer.imageryLayers.raiseToTop(layer);//灏嗗浘灞備笂绉讳竴灞� + Viewer.imageryLayers.lower(layer);//灏嗗浘灞備笂绉讳竴灞� + } + } }, // 鍒囨崲Mpt @@ -585,12 +616,18 @@ for (let i in layers) { let res = layers[i]; if (res.url.indexOf("{host}") > -1) res.url = res.url.replace("{host}", iisHost); - let urls = res.url.split(';') - let layer = sgworld.Creator.createImageryProvider(res.cnName, "wms", { + let urls = res.url.split(';'); + var ops = { url: urls[0], layers: urls[1] - }, "0", undefined, true, ""); + }; + if (res && res.json) { + var rs = JSON.parse(res.json); + ops.rectangle = Cesium.Rectangle.fromDegrees(rs.west, rs.south, rs.east, rs.north); + } + + let layer = sgworld.Creator.createImageryProvider(res.cnName, "wms", ops, "0", undefined, true, ""); this.mptLayer.push(layer); } }, @@ -684,6 +721,10 @@ let layer = Viewer.imageryLayers.addImageryProvider(provider, 1); layer.name = res.cnName; + if (is_production) { + Viewer.imageryLayers.raiseToTop(layer);//灏嗗浘灞備笂绉讳竴灞� + Viewer.imageryLayers.lower(layer);//灏嗗浘灞備笂绉讳竴灞� + } // if (data.result.geom) { // let wkt = this.$wkt.parse(data.result.geom); // Viewer.camera.flyTo({ -- Gitblit v1.9.3