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