From dafcf3589fcb54287ff9119fc74946b4235952e1 Mon Sep 17 00:00:00 2001
From: liuyg <liuyg@qq.com>
Date: Mon, 28 Mar 2022 15:10:13 +0800
Subject: [PATCH] +活动底图的添加 控制 移动端

---
 src/components/mobileActivity/index.vue |   83 ++++++++++++++++++++++++++++-------------
 1 files changed, 56 insertions(+), 27 deletions(-)

diff --git a/src/components/mobileActivity/index.vue b/src/components/mobileActivity/index.vue
index 7c60640..074476d 100644
--- a/src/components/mobileActivity/index.vue
+++ b/src/components/mobileActivity/index.vue
@@ -68,6 +68,7 @@
 import moveWindow from "./move";
 import { getdetail } from "@/api/mobile/hd/hd";
 window.serviceMapSee = {};
+window.onceServiceMap = null;
 export default {
   name: "mobileActivity",
   computed: {
@@ -213,6 +214,16 @@
           //获取详细信息,来获取底图
           // console.log(this.showActivityData, "see");
           that.serviceMap = [];
+          // if (that.serviceMap.length > 0) {
+          //   for (let k in window.serviceMapSee) {
+          //     if (window.serviceMapSee[k].flag) {
+          //       global.viewer.imageryLayers.remove(
+          //         window.serviceMapSee[k].layer
+          //       );
+          //     }
+          //   }
+          // }
+          window.serviceMapSee = {};
           getdetail(this.showActivityData.opendata.id).then((res) => {
             let name = res.data.data.mapname.split(",");
             let url = res.data.data.url.split(",");
@@ -220,40 +231,43 @@
               let d = {
                 flag: true,
                 label: name[k],
-                img: "/img/leftnav/way-checked.png",
-                normal: "/img/leftnav/way.png",
-                checked: "/img/leftnav/way-checked.png",
-                layer: "wayLayer",
-                imgSrc: "img/mobile/green.png",
+                img: "/img/leftnav/monitor-checked.png",
+                normal: "/img/leftnav/monitor.png",
+                checked: "/img/leftnav/monitor-checked.png",
+                imgSrc: "/img/leftnav/map-monitor.png",
                 layer: "serviceMap" + that.serviceMap.length,
                 url: url[k],
                 to: "serviceMap",
               };
-              // this.leftNavData.shift(d);
+              this.serviceMap.push(d);
               // console.log(d, "see");
-              // that.serviceMap.push(d);
-              // window.serviceMapSee[d.layer] =
-              //   global.DC.ImageryLayerFactory.createArcGisImageryLayer({
-              //     url: url[k],
-              //   });
-              // global.viewer.addBaseLayer(window.serviceMapSee[d.layer], {
-              //   iconUrl: "examples/images/icon/elec.png",
-              //   name: d.layer,
-              // });
-            }
-            // const baselayer_shaded =
-            //   global.DC.ImageryLayerFactory.createArcGisImageryLayer({
-            //     url: "https://services.arcgisonline.com/arcgis/rest/services/World_Physical_Map/MapServer",
-            //   });
-            // global.viewer.addBaseLayer(baselayer_shaded, {
-            //   iconUrl: "examples/images/icon/elec.png",
-            //   name: "电子",
-            // });
 
-            // console.log(window.serviceMapSee, "see");
-            // }
+              window.onceServiceMap =
+                new global.DC.Namespace.Cesium.ArcGisMapServerImageryProvider({
+                  url: url[k],
+                });
+              window.serviceMapSee[d.layer] = {
+                flag: true,
+                layer: global.viewer.imageryLayers.addImageryProvider(
+                  window.onceServiceMap
+                ),
+                source: window.onceServiceMap,
+              };
+              window.onceServiceMap = null;
+            }
           });
         };
+      } else {
+        // console.log(this.showActivity, "see");
+        if (window.serviceMapSee != {}) {
+          for (let k in window.serviceMapSee) {
+            if (window.serviceMapSee[k].flag) {
+              //如果是显示状态 就让他关闭
+              global.viewer.imageryLayers.remove(window.serviceMapSee[k].layer);
+            }
+          }
+          window.serviceMapSee == {};
+        }
       }
     },
   },
@@ -335,7 +349,22 @@
         item.img = item.normal;
       }
       if (item.to == "serviceMap") {
-        console.log(item);
+        console.log(window.serviceMapSee[item.layer]);
+        //清除
+        if (!item.flag && window.serviceMapSee[item.layer].flag) {
+          window.serviceMapSee[item.layer].flag = false;
+          global.viewer.imageryLayers.remove(
+            window.serviceMapSee[item.layer].layer
+          );
+        }
+        // 显示
+        if (item.flag && !window.serviceMapSee[item.layer].flag) {
+          window.serviceMapSee[item.layer].flag = true;
+          window.serviceMapSee[item.layer].layer =
+            global.viewer.imageryLayers.addImageryProvider(
+              window.serviceMapSee[item.layer].source
+            );
+        }
         return;
       }
       this.$store.commit("showLineOrPoint", {

--
Gitblit v1.9.3