From ca62ae43d7614216e5d43dd905fde1fd4a260158 Mon Sep 17 00:00:00 2001 From: jihongshun <1151753686@qq.com> Date: 星期一, 28 七月 2025 17:25:33 +0800 Subject: [PATCH] 视锥体支持变倍 --- src/views/system/device/components/deviceDialog.vue | 25 ++++++++++++++++++------- 1 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/views/system/device/components/deviceDialog.vue b/src/views/system/device/components/deviceDialog.vue index fdf3e42..659407b 100644 --- a/src/views/system/device/components/deviceDialog.vue +++ b/src/views/system/device/components/deviceDialog.vue @@ -20,6 +20,9 @@ <el-input v-model="form.face" placeholder="璇疯緭鍏ユ湞鍚�" style="width:90%;"/> <i class="el-icon-map-location" @click="gettiles3dCam" title="棰勮"></i> </el-form-item> + <el-form-item label="娴锋嫈楂樺害" prop="altitude"> + <el-input v-model="form.altitude" placeholder="璇疯緭鍏ユ捣鎷旈珮搴�" /> + </el-form-item> </el-form> </template> <template slot="cesium"> @@ -74,19 +77,25 @@ this.resetForm("form"); if (ids) { + this.getModel() // 缂栬緫 this.$api.detail('/tower/device', ids).then(res => { + console.log(res) this.form = res.data this.open = true this.$nextTick(() => { + console.log(this.form) this.$refs.cesiumMapSelctPoint.showPickPoint({ longitude: +this.form.longitude, latitude: +this.form.latitude, - altitude: +this.form.altitude, + deviceHeight: +this.form.deviceHeight, }) + console.log(this.modelListData) let url = this.modelListData.filter(item=>item.id == this.form.modelId)[0].modelRoute + console.log(url) this.modelUrl = url - const position = Cesium.Cartesian3.fromDegrees(this.form.longitude, this.form.latitude, this.form.altitude); + const position = Cesium.Cartesian3.fromDegrees(this.form.longitude, this.form.latitude, this.form.deviceHeight); + console.log(position) // 璁剧疆妯″瀷鏂瑰悜锛堝彲閫夛級 let model = viewer.entities.getById("MyModel"); const heading = Cesium.Math.toRadians(this.form.face); // 鏈濅笢鍗楁柟鍚� @@ -122,20 +131,22 @@ } }, handleSelectAddress(data) { + console.log(data) this.$set(this.form, 'longitude', data.longitude) this.$set(this.form, 'latitude', data.latitude) - this.$set(this.form, 'altitude', data.altitude) + this.$set(this.form, 'deviceHeight', data.altitude) this.$refs.form.validateField('longitude') this.$refs.form.validateField('latitude') - this.$refs.form.validateField('altitude') + this.$refs.form.validateField('deviceHeight') }, submitForm() { this.$refs["form"].validate(valid => { console.log(this.form) this.form.longitude = Number(this.form.longitude) this.form.latitude = Number(this.form.latitude) - this.form.altitude = Number(this.form.altitude) + this.form.deviceHeight = Number(this.form.deviceHeight) this.form.face = Number(this.form.face) + this.form.altitude = Number(this.form.altitude) || 0 if (valid) { this.$api.save('tower/device/', 'id', Object.assign({}, this.form)).then(res => { this.form = {} @@ -178,13 +189,13 @@ this.$message.error("璇疯緭鍏ョ含搴�"); return; } - if (!this.form.altitude) { + if (!this.form.deviceHeight) { this.$message.error("璇疯緭鍏ラ珮搴�"); return; } //鍔ㄦ�佺粡绾害鏈濆悜 鍔犺浇妯″瀷浣嶇疆棰勮 // const position = Cesium.Cartesian3.fromDegrees(0, 0, 0); - const position = Cesium.Cartesian3.fromDegrees(this.form.longitude, this.form.latitude, this.form.altitude); + const position = Cesium.Cartesian3.fromDegrees(this.form.longitude, this.form.latitude, this.form.deviceHeight); // 璁剧疆妯″瀷鏂瑰悜锛堝彲閫夛級 // const heading = Cesium.Math.toRadians(135); // 鏈濅笢鍗楁柟鍚� let model = viewer.entities.getById("MyModel"); -- Gitblit v1.9.3