From cbc4fc2e4dce714c5d5723746368266915868007 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期二, 28 二月 2023 15:44:06 +0800 Subject: [PATCH] 项目管理界面优化,字典管理页面左侧树界面优化,数据上传版本显示错误优化,综合展示二三维切换效果优化 --- src/components/MapDiv.vue | 30 ++++++++++++++++++++++++++++++ 1 files changed, 30 insertions(+), 0 deletions(-) diff --git a/src/components/MapDiv.vue b/src/components/MapDiv.vue index 0454d57..d28f4f8 100644 --- a/src/components/MapDiv.vue +++ b/src/components/MapDiv.vue @@ -56,6 +56,7 @@ methods: { changeMap(res) { this.isSplitFlag = res + this.getMapViewCenter(this.isSplitFlag); switch (res) { case 1: this.isShowCeMap = true @@ -76,8 +77,11 @@ this.isShowDs = false this.isShowOlMap = false this.isOlMapFlag = true + var val = this.$store.state.Map3; setTimeout(function () { window.map.updateSize() + window.map.getView().setCenter([val[0], val[1]]) + window.map.getView().setZoom(val[2]) }, 300) break case 3: @@ -86,8 +90,32 @@ this.isShowOlMap = false this.isOlMapFlag = false this.isShowCeMap = false + var val = this.$store.state.Map3; + window.Viewer.camera.setView({ + destination: Cesium.Cartesian3.fromDegrees(val[0], val[1], val[2]), + }) + break } + }, + getMapViewCenter(res) { + switch (res) { + case 2: + var position = window.Viewer.camera.position + var ellipsoid = window.Viewer.scene.globe.ellipsoid + var cartographic = ellipsoid.cartesianToCartographic(position) + var lat = Cesium.Math.toDegrees(cartographic.latitude) + var lng = Cesium.Math.toDegrees(cartographic.longitude) + var level = this.getLevel(cartographic.height) + this.$store.state.Map3 = [lng, lat, level] + break; + case 3: + var position = window.map.getView().getCenter() + var level = this.getHeight(parseInt(window.map.getView().getZoom())) + this.$store.state.Map3 = [position[0], position[1], level] + break; + } + }, showSplitMap() { var that = this @@ -109,6 +137,7 @@ // var pos = transform(position, 'EPSG:3857', 'EPSG:4326'); var pos = position var level = that.getHeight(parseInt(window.map.getView().getZoom())) + window.Viewer.camera.setView({ destination: Cesium.Cartesian3.fromDegrees(pos[0], pos[1], level), }) @@ -171,6 +200,7 @@ var lat = Cesium.Math.toDegrees(cartographic.latitude) var lng = Cesium.Math.toDegrees(cartographic.longitude) var level = this.getLevel(cartographic.height) + var value // window.map // .getView() -- Gitblit v1.9.3