From e40ee62d3e9b71ffe3432d32a53a00c4097b5708 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 31 Dec 2021 09:03:28 +0800
Subject: [PATCH] +3d  2.5d

---
 src/components/mobileCortrol/index.vue |  134 ++++++++++++++++++++++++++++----------------
 1 files changed, 86 insertions(+), 48 deletions(-)

diff --git a/src/components/mobileCortrol/index.vue b/src/components/mobileCortrol/index.vue
index 689f8dc..f377287 100644
--- a/src/components/mobileCortrol/index.vue
+++ b/src/components/mobileCortrol/index.vue
@@ -1,7 +1,22 @@
 <template>
   <div class="m-left-control">
-    <div class="m-l-inbut" @click="zoomIn('+')">+</div>
-    <div class="m-l-inbut" @click="zoomIn('-')">-</div>
+    <div class="m-l-inbut zoom-in" @click="zoomIn()">
+      <i class="el-icon-refresh"></i>
+    </div>
+    <div
+      class="m-l-inbut zoom-in m-l-inbut-2d"
+      :class="{ active: dimension == '2D' }"
+      @click="zoomIn('2D')"
+    >
+      3D
+    </div>
+    <div
+      class="m-l-inbut zoom-in m-l-inbut-3d"
+      :class="{ active: dimension == '2.5D' }"
+      @click="zoomIn('2.5D')"
+    >
+      2.5
+    </div>
   </div>
 </template>
 
@@ -9,67 +24,58 @@
 import { mapGetters } from "vuex";
 export default {
   name: "mobileCortrol",
+  data() {
+    return {
+      DC: "",
+    };
+  },
   computed: {
-    ...mapGetters(["mviewer"]),
+    ...mapGetters(["mviewer", "startPointFn", "dimension"]),
+  },
+  created() {
+    this.DC = global.DC;
   },
   methods: {
     zoomIn(val) {
-      let camera = this.mviewer.camera;
-      // console.log(camera.moveStart());
-      // this.mviewer.getImageryLayerInfo().then((res) => {
-      //   console.log(res);
+      // this.$store.dispatch("mapFlyTo", {
+      //   //飞入
+      //   lntLat: [115.87988885, 28.72502592, 2100],
+      //   // lntLat: [115.87186406, 28.74449337, 1200],
+      //   // lntLat: [121.50492752204283, 31.21567802276832, 2530],
+      //   heading: 0,
+      //   pitch: -45,
+      //   roll: 0,
+      //   noOpen: true,
       // });
-      var ellipsoid = this.mviewer.scene.globe.ellipsoid;
-      var cartesian3 = DC.Namespace.Cesium.cartesian3(
-        camera.position.x,
-        camera.position.y,
-        camera.position.z
-      );
-      // // var cartographic = ellipsoid.cartesianToCartographic(cartesian3);
-      // // var lat = Cesium.Math.toDegrees(cartograhphic.latitude);
-      // // var lng = Cesium.Math.toDegrees(cartograhpinc.longitude);
-      // // var alt = cartographic.height;
-      console.log(cartesian3);
-      // let position = camera.position;
-      // for (let k in position) {
-      //   if (k == "x" || k == "y" || k == "z") {
-      //     console.log(k, " : ", position[k]);
-      //   }
-      // }
-      // if (val == "+") {
-      //   camera.position.x -= 614.8521;
-      //   camera.position.y -= 1002.9298;
-      //   camera.position.z += 682.3683;
-      // } else if (val == "-") {
-      //   camera.position.x += 614.8521;
-      //   camera.position.y += 1002.9298;
-      //   camera.position.z -= 682.3683;
-      // }
-      // camera.flyTo({
-      //   destination: position,
-      //   orientation: {
-      //     heading: camera.heading,
-      //     pitch: camera.pitch,
-      //     roll: camera.roll,
-      //   },
-      //   duration: 0.5,
-      //   convert: false,
-      // });
+      if (val) {
+        if (this.dimension != val) {
+          this.$store.dispatch("MSET_DIMENSIONS", val);
+        }
+        return;
+      }
+      this.startPointFn();
     },
   },
 };
 </script>
 
 <style scoped lang='scss'>
+@property --color {
+  syntax: "<color>";
+  inherits: false;
+  initial-value: 25%;
+}
 .m-left-control {
   position: fixed;
   left: 20px;
-  top: 20px;
-  z-index: 200;
+  top: 93px;
+  z-index: 20 !important;
   .m-l-inbut {
-    width: 32px;
-    height: 32px;
-    background-color: #c9302c;
+    width: 35px;
+    height: 35px;
+    background-color: rgb(33, 150, 243);
+    // stroke-width: 10;
+    // stroke: #fff;
     display: flex;
     align-items: center;
     justify-content: center;
@@ -78,5 +84,37 @@
     margin-bottom: 12px;
     border-radius: 5px;
   }
+  .m-l-inbut-2d {
+    position: relative;
+    top: 60px;
+    font-size: 16px;
+    // &:hover {
+    //   background-color: rgb(21, 136, 230);
+    //   box-shadow: -2px -2px 3px rgb(3, 74, 136) inset;
+    // }
+  }
+  .m-l-inbut-3d {
+    @extend .m-l-inbut-2d;
+    top: 55px;
+  }
+
+  .active {
+    // background-color: rgb(92, 181, 255);
+    box-shadow: -4px -4px 10px rgb(13, 98, 167) inset;
+    // color: rgb(0, 0, 0);
+    // box-shadow: -4px -4px 10px rgb(13, 98, 167) inset;
+
+    // position: relative;
+    // &::before {
+    //   top: 1px;
+    //   left: 1px;
+    //   position: absolute;
+    //   content: "";
+    //   width: 100%;
+    //   height: 100%;
+    //   box-shadow: -2px -2px 15px rgb(4, 95, 170) inset;
+    //   // border: 1px solid rgb(14, 54, 87);
+    // }
+  }
 }
 </style>

--
Gitblit v1.9.3