From 56a3bc98cf8cfa03d55340dcbf0c51289fcf766a Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期五, 14 七月 2023 10:52:16 +0800 Subject: [PATCH] mpt裁剪 --- src/components/preview_map.vue | 90 ++++++++++++++++++++++++++++++++++++++------ 1 files changed, 77 insertions(+), 13 deletions(-) diff --git a/src/components/preview_map.vue b/src/components/preview_map.vue index c0a45e4..55b5e5c 100644 --- a/src/components/preview_map.vue +++ b/src/components/preview_map.vue @@ -42,25 +42,35 @@ <el-form-item> <el-button size="small" + v-if="$store.state.previewLayer.type =='mpt'" + @click="setcropping" + >瑁佸壀</el-button> + <el-button + size="small" + v-if="$store.state.previewLayer.type !='mpt'" @click="locateTo" >瀹氫綅</el-button> <el-button size="small" + v-if="$store.state.previewLayer.type !='mpt'" @click="showTileset" >鏄鹃殣</el-button> <el-button size="small" + v-if="$store.state.previewLayer.type !='mpt'" @click="setUndergroundMode" >鍦颁笅</el-button> <el-button v-if="$store.state.previewLayer.type != '3dml' && - $store.state.previewLayer.type !='cpt'" + $store.state.previewLayer.type !='cpt'&& + $store.state.previewLayer.type !='mpt'" size="small" @click="pickupCoords" >鎷惧彇</el-button> <el-button v-if="$store.state.previewLayer.type != '3dml' && - $store.state.previewLayer.type !='cpt'" + $store.state.previewLayer.type !='cpt'&& + $store.state.previewLayer.type !='mpt'" size="small" @click="reload" > @@ -68,13 +78,15 @@ </el-button> <el-button v-if="modelForm.modelid == null && $store.state.previewLayer.type != '3dml'&& - $store.state.previewLayer.type !='cpt'" + $store.state.previewLayer.type !='cpt'&& + $store.state.previewLayer.type !='mpt'" size="small" @click="getModeKeyId" >妯″瀷涓婚敭</el-button> <el-button v-if="$store.state.previewLayer.type != '3dml'&& - $store.state.previewLayer.type !='cpt'" + $store.state.previewLayer.type !='cpt' + " size="small" @click="resave" >淇濆瓨</el-button> @@ -83,7 +95,8 @@ <el-form-item label="缁忓害:" v-if="$store.state.previewLayer.type != '3dml'&& - $store.state.previewLayer.type !='cpt'" + $store.state.previewLayer.type !='cpt'&& + $store.state.previewLayer.type !='mpt'" > <el-input size="small" @@ -94,7 +107,8 @@ <el-form-item label="绾害:" v-if="$store.state.previewLayer.type != '3dml'&& - $store.state.previewLayer.type !='cpt'" + $store.state.previewLayer.type !='cpt'&& + $store.state.previewLayer.type !='mpt'" > <el-input size="small" @@ -105,7 +119,8 @@ <el-form-item label="楂樺害:" v-if="$store.state.previewLayer.type != '3dml'&& - $store.state.previewLayer.type !='cpt'" + $store.state.previewLayer.type !='cpt'&& + $store.state.previewLayer.type !='mpt'" > <el-input size="small" @@ -116,7 +131,8 @@ <el-form-item label="瑙掑害:" v-if="$store.state.previewLayer.type != '3dml'&& - $store.state.previewLayer.type !='cpt'" + $store.state.previewLayer.type !='cpt'&& + $store.state.previewLayer.type !='mpt'" > <el-input size="small" @@ -419,7 +435,8 @@ info: '', icon: '', bak: '', - Id: '' + Id: '', + }, options: [ { @@ -461,6 +478,10 @@ yaw: 0, alpha: 1, modelid: null, + west: null, + south: null, + east: null, + north: null, }, app: { tileset: null, @@ -477,6 +498,30 @@ this.init3DMap(); }, methods: { + //瑁佸壀 + setcropping() { + var that = this; + sgworld.Creator.SimpleGraphic.clear() + sgworld.Creator.SimpleGraphic.edit(false, { editProp: false }); + sgworld.Creator.createSimpleGraphic( + "rectangle", {}, + function (entity) { + that.modelForm.east = Cesium.Math.toDegrees( + entity.rectangle.coordinates.getValue().east + ); + that.modelForm.north = Cesium.Math.toDegrees( + entity.rectangle.coordinates.getValue().north + ); + that.modelForm.west = Cesium.Math.toDegrees( + entity.rectangle.coordinates.getValue().west + ); + that.modelForm.south = Cesium.Math.toDegrees( + entity.rectangle.coordinates.getValue().south + ); + + } + ); + }, setUndergroundMode() { if (window.UndergroundMode) { this.$refs && @@ -1004,12 +1049,25 @@ }); } else if (res.url.indexOf('.mpt') != -1) { + this.editModelFlag = true; + Viewer.imageryLayers.removeAll(); var url = res.url.split(';') - sgworld.Creator.createImageryProvider('mpt褰卞儚', "wms", { + + var ops = { url: url[0], layers: url[1] - }, "0", undefined, true, ""); + } + if (res.json && JSON.parse(res.json).west) { + var val = JSON.parse(res.json) + + ops.rectangle = Cesium.Rectangle.fromDegrees(val.west, val.south, val.east, val.north) + } + sgworld.Creator.createImageryProvider('mpt褰卞儚', "wms", ops, "0", undefined, true, ""); + + + + } else if (res.url.indexOf('menuLayer') != -1) { this.setShowModelLayer(); } @@ -1035,9 +1093,15 @@ }, async resave() { - if (!this.modelForm.modelid) { - return this.$message('鏈�夋嫨妯″瀷涓婚敭ID'); + + if (this.$store.state.previewLayer.type != "mpt") { + if (!this.modelForm.modelid) { + return this.$message('鏈�夋嫨妯″瀷涓婚敭ID'); + } + } else { + sgworld.Creator.SimpleGraphic.clear() } + this.$store.state.previewLayer.json = JSON.stringify(this.modelForm); if (this.$store.state.previewLayer.url) { -- Gitblit v1.9.3