From a22aa1086eeef39a26cc161326ce09cd183185ea Mon Sep 17 00:00:00 2001
From: liuyg <liuyg@qq.com>
Date: Fri, 04 Mar 2022 15:57:47 +0800
Subject: [PATCH] 3.3 1.自定义标签,退出后自动清除 2.自定义标签,转换二维码的数据格式ok,移动端对接二维码ok, 3.自定义标签点击移动到指定位置 ok 4.面板自适应高度 4.更换定位依赖,自定义标签扫码入移动端可以定位并显示路线

---
 src/components/mobilemap/index.vue |   90 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 84 insertions(+), 6 deletions(-)

diff --git a/src/components/mobilemap/index.vue b/src/components/mobilemap/index.vue
index f1560f0..7a3821e 100644
--- a/src/components/mobilemap/index.vue
+++ b/src/components/mobilemap/index.vue
@@ -29,7 +29,7 @@
     <!-- 活动窗口 -->
     <mobileActivity></mobileActivity>
     <!-- 盖住左下角 -->
-    <div class="cover_mobileMap">智慧社区</div>
+    <div class="cover_mobileMap">智慧校区</div>
     <!-- 指示器 -->
     <!-- <div class="heights">{{ heights }}---{{ heights1 }}</div> -->
   </div>
@@ -87,6 +87,13 @@
         [116.41526036, 27.95352217, 100],
       ],
       areaLayer: null,
+      mapCenter: [115.871863, 28.743861, 400.0],
+      //控制4层缩放
+      onelayerNum: 80,
+      towlayerNum: 120,
+      threelayerNum: 160,
+      forlayerNum: 200,
+      frislayertHeight: 160, //默认高度
     };
   },
   computed: {
@@ -102,6 +109,7 @@
       "dimensionData",
       "areaLayer", //绿布
       "areaLayerSelect", //绿布颜色控制
+      "urlParameterData", //url 参数
     ]),
   },
   watch: {
@@ -118,6 +126,7 @@
     },
   },
   mounted() {
+    // return;
     var DC = global.DC;
     this.DC = DC;
 
@@ -284,8 +293,11 @@
         // if (height > 2000) {
         //   conBack(2000);
         // }
-        if (height <= 79 && isSet) {
-          conBack(79);
+        // if (height <= 79 && isSet) {
+        //   conBack(79);
+        // }
+        if (height <= that.onelayerNum - 1 && isSet) {
+          conBack(that.onelayerNum - 1);
         }
         // if (height > 220 && height <= 280 && isSet) {
         //   conBack(280);
@@ -296,8 +308,11 @@
         // if (height > 340 && height <= 400 && isSet) {
         //   conBack(400);
         // }
-        if (height > 200 && isSet) {
-          conBack(200);
+        // if (height > 200 && isSet) {
+        //   conBack(200);
+        // }
+        if (height > that.forlayerNum && isSet) {
+          conBack(that.forlayerNum);
         }
       });
 
@@ -328,6 +343,19 @@
               const height = Math.ceil(
                 viewer.camera.positionCartographic.height
               );
+              // if (height > 180) {
+              //   butSetViews(160);
+              //   return;
+              // }
+
+              // if (height > 140) {
+              //   butSetViews(120);
+              //   return;
+              // }
+
+              // if (height > 100) {
+              //   butSetViews(80);
+              // }
               if (height > 180) {
                 butSetViews(160);
                 return;
@@ -812,7 +840,7 @@
           };
           that.dimension == "2.5D"
             ? doit2(
-                [114.04020791, 27.62934732, 160.0],
+                [that.mapCenter[0], that.mapCenter[1], that.frislayertHeight],
                 // [114.04062292, 27.62666834, 220.0],
                 [
                   that.dimensionData.heading,
@@ -998,6 +1026,47 @@
     DC.ready(initViewer);
     setTimeout(() => {
       that.butbut();
+      //判断是否有url参数
+      // console.log(that.urlParameterData);
+      if (typeof that.urlParameterData != "string") {
+        // console.log(that.urlParameterData);
+        that.$store.commit("initurlParameterLayer"); //初始化自定义标签图层
+        if (that.urlParameterData.methods == "goto") {
+          //url有定位的参数
+          // alert(that.urlParameterData.jd);
+          // alert(that.urlParameterData.wd);
+          // 创建标记
+          let dsa = {
+            list: [
+              {
+                name: that.urlParameterData.name || "无标题",
+                jd: that.urlParameterData.jd,
+                wd: that.urlParameterData.wd,
+              },
+            ],
+            clear: true,
+          };
+          that.$store.dispatch("addurlParameterLayerIcon", dsa);
+          // that.flytos(
+          //   //飞入标记
+          //   +that.urlParameterData.jd + 0.012,
+          //   +that.urlParameterData.wd
+          // );
+
+          let d = {
+            position: {},
+            lntLat: [+that.urlParameterData.jd, +that.urlParameterData.wd],
+            query: {
+              introduce: "自定义标签",
+              address: "",
+              ...(that.urlParameterData || {}),
+              lntLat: [+that.urlParameterData.jd, +that.urlParameterData.wd],
+            },
+            useJWD: true, //仅使用经纬度
+          };
+          that.$store.dispatch("setMobileWindows", d);
+        }
+      }
     }, 0);
   },
   methods: {
@@ -1012,6 +1081,15 @@
       };
       that.$store.dispatch("setMobileWindows", d);
     },
+    flytos(jd, wd) {
+      this.$store.dispatch("mapFlyTo", {
+        lntLat: [jd, wd, 120], //114.04020791, 27.62934732
+        heading: 0,
+        pitch: -90,
+        roll: 0,
+        noOpen: true,
+      });
+    },
   },
 };
 </script>

--
Gitblit v1.9.3