From 01f9c88fd0ee768155e5b341c2bb95a85bc11a08 Mon Sep 17 00:00:00 2001
From: liuyg <liuyg@qq.com>
Date: Sat, 05 Mar 2022 17:49:36 +0800
Subject: [PATCH] ++

---
 src/components/leftNav/index.vue |  796 ++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 483 insertions(+), 313 deletions(-)

diff --git a/src/components/leftNav/index.vue b/src/components/leftNav/index.vue
index c1be958..15ff06e 100644
--- a/src/components/leftNav/index.vue
+++ b/src/components/leftNav/index.vue
@@ -1,154 +1,145 @@
 <template>
-    <div class="left-nav">
-        <ul>
-            <li v-for="(item, index) in leftNavData"
-                :key="index"
-                @click="leftNavClick(item)">
-                <img :src="item.img"
-                     alt="">
-                <span>{{item.label}}</span>
-            </li>
-        </ul>
-    </div>
+  <div class="left-nav">
+    <ul>
+      <li
+        v-for="(item, index) in leftNavData"
+        :key="index"
+        @click="leftNavClick(item)"
+      >
+        <img :src="item.img" alt="" />
+        <span>{{ item.label }}</span>
+      </li>
+      <li class="addIcons" @click="addIcons">
+        <!-- <img :style="[imgStyle]" :src="item.img" alt="" /> -->
+        <span>+</span>
+      </li>
+    </ul>
+  </div>
 </template>
 
 <script>
-
-import { getLifeList, getMonitorList, getSceneList, getWayList, getTagList } from '@/api/pc/leftNav/index'
-
+import {
+  getLifeList,
+  getMonitorList,
+  getSceneList,
+  getWayList,
+  getTagList,
+} from "@/api/pc/leftNav/index";
+import { mapGetters } from "vuex";
 export default {
-    name: 'leftNav',
-    computed: {},
-    data () {
-        return {
-            leftNavData: [
-                {
-                    flag: false,
-                    label: '标签',
-                    img: '/img/leftnav/tag.png',
-                    normal: '/img/leftnav/tag.png',
-                    checked: '/img/leftnav/tag-checked.png',
-                    layer: 'tagLayer'
-                },
-                {
-                    flag: false,
-                    label: '道路',
-                    img: '/img/leftnav/way.png',
-                    normal: '/img/leftnav/way.png',
-                    checked: '/img/leftnav/way-checked.png',
-                    layer: 'wayLayer'
-                },
-                {
-                    flag: false,
-                    label: '实景',
-                    img: '/img/leftnav/scene.png',
-                    normal: '/img/leftnav/scene.png',
-                    checked: '/img/leftnav/scene-checked.png',
-                    layer: 'sceneLayer'
-                },
-                {
-                    flag: false,
-                    label: '监控',
-                    img: '/img/leftnav/monitor.png',
-                    normal: '/img/leftnav/monitor.png',
-                    checked: '/img/leftnav/monitor-checked.png',
-                    layer: 'monitorLayer'
-                },
-                // {
-                //     flag: false,
-                //     label: '活动',
-                //     img: '/img/leftnav/activity.png',
-                //     normal: '/img/leftnav/activity.png',
-                //     checked: '/img/leftnav/activity-checked.png',
-                //     layer: 'activityLayer'
-                // },
-                {
-                    flag: false,
-                    label: 'AED',
-                    img: '/img/leftnav/aed.png',
-                    normal: '/img/leftnav/aed.png',
-                    checked: '/img/leftnav/aed-checked.png',
-                    layer: 'aedLayer'
-                },
-                {
-                    flag: false,
-                    label: '停车',
-                    img: '/img/leftnav/park.png',
-                    normal: '/img/leftnav/park.png',
-                    checked: '/img/leftnav/park-checked.png',
-                    layer: 'parkLayer'
-                },
-                {
-                    flag: false,
-                    label: '出入',
-                    img: '/img/leftnav/come.png',
-                    normal: '/img/leftnav/come.png',
-                    checked: '/img/leftnav/come-checked.png',
-                    layer: 'comeLayer'
-                }
-            ],
-            viewer: null,
-            DC: null,
-            tagLayer: null,
-            wayLayer: null,
-            sceneLayer: null,
-            monitorLayer: null,
-            activityLayer: null,
-            aedLayer: null,
-            parkLayer: null,
-            comeLayer: null
-        }
-    },
-    created () {
-        this.DC = global.DC
-    },
-    mounted () {
-
-    },
-    methods: {
-        generatePosition (num) {
-            const list = []
-            for (let i = 0; i < num; i++) {
-                const lng = 115.86271917 + Math.random() * 0.01
-                const lat = 28.73615593 + Math.random() * 0.02
-                list.push(new this.DC.Position(lng, lat, 0))
-            }
-            return list
+  name: "leftNav",
+  computed: {
+    ...mapGetters([
+      "viewer",
+      "closeMapClick", // 关闭地图点击,防止新增标签误触
+      "addIconsLayerIconPopup", //传送关闭编辑窗口,刷新标签数据
+    ]),
+  },
+  data() {
+    return {
+      leftNavData: [
+        {
+          flag: true,
+          label: "标签",
+          img: "/img/leftnav/tag-checked.png",
+          normal: "/img/leftnav/tag.png",
+          checked: "/img/leftnav/tag-checked.png",
+          layer: "tagLayer",
         },
-        leftNavClick (item) {
-            item.flag = !item.flag
-            if (item.flag == true) {
-                item.img = item.checked
-                this[item.layer].show = true
-            } else {
-                item.img = item.normal
-                this[item.layer].show = false
-            }
+        {
+          flag: false,
+          label: "道路",
+          img: "/img/leftnav/way.png",
+          normal: "/img/leftnav/way.png",
+          checked: "/img/leftnav/way-checked.png",
+          layer: "wayLayer",
         },
-        initialize (viewer) {
-            var that = this
-            viewer.scene.globe.depthTestAgainstTerrain = false
-            this.viewer = viewer
-            this.tagLayer = new this.DC.HtmlLayer('tagLayer')
-            viewer.addLayer(this.tagLayer)
-            this.wayLayer = new this.DC.HtmlLayer('wayLayer')
-            viewer.addLayer(this.wayLayer)
-            this.sceneLayer = new this.DC.HtmlLayer('sceneLayer')
-            viewer.addLayer(this.sceneLayer)
-            this.monitorLayer = new this.DC.HtmlLayer('monitorLayer')
-            viewer.addLayer(this.monitorLayer)
-            this.aedLayer = new this.DC.VectorLayer('aedLayer')
-            viewer.addLayer(this.aedLayer)
-            this.parkLayer = new this.DC.HtmlLayer('parkLayer')
-            viewer.addLayer(this.parkLayer)
-            this.comeLayer = new this.DC.VectorLayer('comeLayer')
-            viewer.addLayer(this.comeLayer)
-
-            getTagList().then(res => {
-                res.data.data.forEach(item => {
-                    const divIcon = new this.DC.DivIcon(
-                        new that.DC.Position(Number(item.jd), Number(item.wd), 0),
-                        `
+        {
+          flag: false,
+          label: "实景",
+          img: "/img/leftnav/scene.png",
+          normal: "/img/leftnav/scene.png",
+          checked: "/img/leftnav/scene-checked.png",
+          layer: "sceneLayer",
+        },
+        {
+          flag: false,
+          label: "监控",
+          img: "/img/leftnav/monitor.png",
+          normal: "/img/leftnav/monitor.png",
+          checked: "/img/leftnav/monitor-checked.png",
+          layer: "monitorLayer",
+        },
+        // {
+        //     flag: false,
+        //     label: '活动',
+        //     img: '/img/leftnav/activity.png',
+        //     normal: '/img/leftnav/activity.png',
+        //     checked: '/img/leftnav/activity-checked.png',
+        //     layer: 'activityLayer'
+        // },
+        // {
+        //     flag: false,
+        //     label: 'AED',
+        //     img: '/img/leftnav/aed.png',
+        //     normal: '/img/leftnav/aed.png',
+        //     checked: '/img/leftnav/aed-checked.png',
+        //     layer: 'aedLayer'
+        // },
+        {
+          flag: false,
+          label: "停车",
+          img: "/img/leftnav/park.png",
+          normal: "/img/leftnav/park.png",
+          checked: "/img/leftnav/park-checked.png",
+          layer: "parkLayer",
+        },
+        {
+          flag: false,
+          label: "出入",
+          img: "/img/leftnav/come.png",
+          normal: "/img/leftnav/come.png",
+          checked: "/img/leftnav/come-checked.png",
+          layer: "comeLayer",
+        },
+      ],
+      viewer: null,
+      DC: null,
+      tagLayer: null,
+      wayLayer: null,
+      sceneLayer: null,
+      monitorLayer: null,
+      activityLayer: null,
+      aedLayer: null,
+      parkLayer: null,
+      comeLayer: null,
+    };
+  },
+  created() {
+    this.DC = global.DC;
+  },
+  mounted() {
+    //初始化新增标签图层
+    // this.$store.commit("createAddIconsLayerIconLayer", { viewer: this.viewer });
+  },
+  watch: {
+    addIconsLayerIconPopup() {
+      if (!this.addIconsLayerIconPopup) {
+        this.reself();
+      }
+    },
+  },
+  methods: {
+    reself() {
+      let that = this;
+      if (this.tagLayer) {
+        this.tagLayer.clear();
+      }
+      getTagList().then((res) => {
+        res.data.data.forEach((item) => {
+          const divIcon = new this.DC.DivIcon(
+            new that.DC.Position(Number(item.jd), Number(item.wd), 0),
+            `
                         <div class="tag-entitys-box">
                             <div class="tag-content">
                                 ${item.mechanismname}
@@ -158,19 +149,123 @@
                             </div>
                         </div>
                     `
-                    )
-                    this.tagLayer.addOverlay(divIcon)
-                })
-                this.tagLayer.show = false
-            })
+          );
+          //订阅事件
+          divIcon.on(global.DC.MouseEventType.CLICK, (e) => {
+            if (that.closeMapClick) {
+              return;
+            }
+            that.openPopups({
+              lng: e.overlay.position.lng,
+              lat: e.overlay.position.lat,
+              item: item,
+            });
+          });
+          this.tagLayer.addOverlay(divIcon);
+          if (!this.leftNavData[0].flag) {
+            this.tagLayer.show = false;
+          }
+        });
+      });
+    },
+    addIcons() {
+      if (this.closeMapClick) {
+        //若正在加标签,退出
+        return;
+      }
+      //加标签
+      console.log("addIcons", "see");
+      this.$store.dispatch("chouseAddIconsLayerIcon", {
+        //新增标签 选定位置
+        viewer: this.viewer,
+        fn: (lnglat) => {
+          //返回选定坐标
+          console.log(lnglat, "see");
+          //添加空白标签
+          this.$store.dispatch("addIconsLayerIcon", {
+            lnglat: lnglat,
+            viewer: this.viewer,
+          });
+        },
+      });
+    },
+    generatePosition(num) {
+      const list = [];
+      for (let i = 0; i < num; i++) {
+        const lng = 115.86271917 + Math.random() * 0.01;
+        const lat = 28.73615593 + Math.random() * 0.02;
+        list.push(new this.DC.Position(lng, lat, 0));
+      }
+      return list;
+    },
+    leftNavClick(item) {
+      item.flag = !item.flag;
+      if (item.flag == true) {
+        item.img = item.checked;
+        this[item.layer].show = true;
+      } else {
+        item.img = item.normal;
+        this[item.layer].show = false;
+      }
+    },
+    initialize(viewer) {
+      var that = this;
+      viewer.scene.globe.depthTestAgainstTerrain = false;
+      this.viewer = viewer;
+      this.tagLayer = new this.DC.HtmlLayer("tagLayer");
+      viewer.addLayer(this.tagLayer);
+      this.wayLayer = new this.DC.HtmlLayer("wayLayer");
+      viewer.addLayer(this.wayLayer);
+      this.sceneLayer = new this.DC.HtmlLayer("sceneLayer");
+      viewer.addLayer(this.sceneLayer);
+      this.monitorLayer = new this.DC.HtmlLayer("monitorLayer");
+      viewer.addLayer(this.monitorLayer);
+      this.aedLayer = new this.DC.VectorLayer("aedLayer");
+      viewer.addLayer(this.aedLayer);
+      this.parkLayer = new this.DC.HtmlLayer("parkLayer");
+      viewer.addLayer(this.parkLayer);
+      this.comeLayer = new this.DC.VectorLayer("comeLayer");
+      viewer.addLayer(this.comeLayer);
 
-            getWayList().then(res => {
-                res.data.data.forEach(item => {
-                    const divIcon = new this.DC.DivIcon(
-                        new that.DC.Position(Number(item.jd), Number(item.wd), 0),
-                        `
+      getTagList().then((res) => {
+        res.data.data.forEach((item) => {
+          const divIcon = new this.DC.DivIcon(
+            new that.DC.Position(Number(item.jd), Number(item.wd), 0),
+            `
+                        <div class="tag-entitys-box">
+                            <div class="tag-content">
+                                ${item.mechanismname}
+                            </div>
+                            <div class="tag-angle-content">
+                                <img src="https://map.hit.edu.cn/images/tarrow_xq.png">
+                            </div>
+                        </div>
+                    `
+          );
+          //订阅事件
+          divIcon.on(global.DC.MouseEventType.CLICK, (e) => {
+            if (that.closeMapClick) {
+              return;
+            }
+            // console.log(item, "see11111");
+            that.openPopups({
+              lng: e.overlay.position.lng,
+              lat: e.overlay.position.lat,
+              item: item,
+            });
+          });
+          this.tagLayer.addOverlay(divIcon);
+        });
+        // this.tagLayer.show = false
+      });
+
+      getWayList().then((res) => {
+        res.data.data.forEach((item) => {
+          const divIcon = new this.DC.DivIcon(
+            new that.DC.Position(Number(item.jd), Number(item.wd), 0),
+            `
                         <div  class="way-entitys-box">
-                            <div  class="way-title" style="border: white 1px solid; padding-left: 2px;font-size: 12px; background: #0066ff;  width: 12px;line-height: 13px; padding:2px 1px 2px 1px; color:white;">
+                            <div  class="way-title" style="border: white 1px solid; font-size: 0.875rem; background: #0066ff;  width: 18px; line-height: 14px; padding: 6px 2px 6px 2px; color: white; text-align: center;">
                                  ${item.roadname}
                             </div>
                             <div  class="way-sign-box">
@@ -178,108 +273,141 @@
                             </div>
                         </div>
                     `
-                    )
-                    this.wayLayer.addOverlay(divIcon)
-                })
-                this.wayLayer.show = false
-            })
+          );
+          this.wayLayer.addOverlay(divIcon);
+        });
+        this.wayLayer.show = false;
+      });
 
-            getMonitorList().then(res => {
-                res.data.data.forEach(item => {
-                    console.log(item, 456)
-                    const divIcon = new this.DC.DivIcon(
-                        new that.DC.Position(Number(item.jd), Number(item.wd), 0),
+      getMonitorList().then((res) => {
+        res.data.data.forEach((item) => {
+          const divIcon = new this.DC.DivIcon(
+            new that.DC.Position(Number(item.jd), Number(item.wd), 0),
+            `
+                        <div class="monitor-entitys-box">
+                            <div>${item.mechanismname}</div>
+                            <img class="monitor-entitys-box" src="/img/leftnav/map-monitor.png" alt="">
+                        </div>
                         `
-                        <img class="monitor-entitys-box" src="/img/leftnav/map-monitor.png" alt="">
+          );
+          divIcon.attrParams = item;
+          this.monitorLayer.addOverlay(divIcon);
+
+          divIcon.on(that.DC.MouseEventType.CLICK, (e) => {
+            this.$store.commit("SET_PANORAMAPOPUP", false);
+            this.$store.commit("SET_DETAILSPOPUP", false);
+            this.$store.commit(
+              "SET_STATENAME",
+              e.overlay.attrParams.mechanismname
+            );
+            this.$store.commit("SET_MONITORURL", e.overlay.attrParams.videourl);
+            // eslint-disable-next-line new-cap
+            var positions = this.DC.Transform.transformWGS84ToCartesian(
+              new this.DC.Position.fromArray([
+                Number(item.jd),
+                Number(item.wd),
+                0,
+                0,
+                -90,
+                0,
+              ])
+            );
+            this.viewer.scene.globe.depthTestAgainstTerrain = false;
+            // eslint-disable-next-line no-unused-vars
+            var monitor = new this.DC.PanoramaBox(this.viewer, {
+              domId: "MonitorBox",
+              position: [positions],
+            });
+
+            this.$store.commit("SET_MONITORPOPUP", true);
+          });
+        });
+
+        this.monitorLayer.show = false;
+      });
+
+      getSceneList().then((res) => {
+        res.data.data.forEach((item) => {
+          const divIcon = new this.DC.DivIcon(
+            new that.DC.Position(Number(item.jd), Number(item.wd), 0),
+            `
+                        <div class="scene-entitys-box">
+                            <div>${item.mechanismname}</div>
+                            <img src="/img/leftnav/map-panorama.png" alt="">
+                        </div>
                         `
-                    )
-                    divIcon.attrParams = item
-                    this.monitorLayer.addOverlay(divIcon)
+          );
+          divIcon.attrParams = item;
+          this.sceneLayer.addOverlay(divIcon);
 
-                    divIcon.on(that.DC.MouseEventType.CLICK, e => {
-                        this.$store.commit('SET_PANORAMAPOPUP', false)
-                        this.$store.commit('SET_DETAILSPOPUP', false)
-                        this.$store.commit('SET_STATENAME', e.overlay.attrParams.mechanismname)
-                        this.$store.commit('SET_MONITORURL', e.overlay.attrParams.videourl)
-                        // eslint-disable-next-line new-cap
-                        var positions = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position.fromArray([Number(item.jd), Number(item.wd), 0, 0, -90, 0]))
-                        this.viewer.scene.globe.depthTestAgainstTerrain = false
-                        // eslint-disable-next-line no-unused-vars
-                        var monitor = new this.DC.PanoramaBox(this.viewer, {
-                            domId: 'MonitorBox',
-                            position: [
-                                positions
-                            ]
-                        })
+          divIcon.on(that.DC.MouseEventType.CLICK, (e) => {
+            this.$store.commit("SET_DETAILSPOPUP", false);
+            this.$store.commit("SET_MONITORPOPUP", false);
+            this.$store.commit(
+              "SET_STATENAME",
+              e.overlay.attrParams.mechanismname
+            );
+            this.$store.commit(
+              "SET_PANORAMAURL",
+              e.overlay.attrParams.panoramaurl
+            );
+            // eslint-disable-next-line new-cap
+            var positions = this.DC.Transform.transformWGS84ToCartesian(
+              new this.DC.Position.fromArray([
+                Number(item.jd),
+                Number(item.wd),
+                0,
+                0,
+                -90,
+                0,
+              ])
+            );
+            this.viewer.scene.globe.depthTestAgainstTerrain = false;
+            // eslint-disable-next-line no-unused-vars
+            var panorama = new this.DC.PanoramaBox(this.viewer, {
+              domId: "PanoramaBox",
+              position: [positions],
+            });
 
-                        this.$store.commit('SET_MONITORPOPUP', true)
-                    })
-                })
+            this.$store.commit("SET_PANORAMAPOPUP", true);
+          });
+        });
 
-                this.monitorLayer.show = false
-            })
+        this.sceneLayer.show = false;
+      });
 
-            getSceneList().then(res => {
-                res.data.data.forEach(item => {
-                    console.log(item, 123)
-                    const divIcon = new this.DC.DivIcon(
-                        new that.DC.Position(Number(item.jd), Number(item.wd), 0),
-                        `
-                        <img class="scene-entitys-box" src="/img/leftnav/map-panorama.png" alt="">
-                        `
-                    )
-                    divIcon.attrParams = item
-                    this.sceneLayer.addOverlay(divIcon)
+      getLifeList({ lifetype: 9 }).then((res) => {
+        res.data.data.forEach((item) => {
+          const label = new this.DC.Label(
+            new that.DC.Position(Number(item.jd), Number(item.wd), 0),
+            item.mechanismname
+          );
+          label.setStyle({
+            fillColor: this.DC.Color.CRIMSON,
+            style: that.DC.Namespace.Cesium.LabelStyle.FILL_AND_OUTLINE,
+            outlineColor: that.DC.Color.WHITE, // 边框颜色
+            outlineWidth: 8, // 边框大小,
+            font: "14px sans-serif",
+            pixelOffset: { x: 0, y: -24 },
+          });
+          this.aedLayer.addOverlay(label);
 
-                    divIcon.on(that.DC.MouseEventType.CLICK, e => {
-                        this.$store.commit('SET_DETAILSPOPUP', false)
-                        this.$store.commit('SET_MONITORPOPUP', false)
-                        this.$store.commit('SET_STATENAME', e.overlay.attrParams.mechanismname)
-                        this.$store.commit('SET_PANORAMAURL', e.overlay.attrParams.panoramaurl)
-                        // eslint-disable-next-line new-cap
-                        var positions = this.DC.Transform.transformWGS84ToCartesian(new this.DC.Position.fromArray([Number(item.jd), Number(item.wd), 0, 0, -90, 0]))
-                        this.viewer.scene.globe.depthTestAgainstTerrain = false
-                        // eslint-disable-next-line no-unused-vars
-                        var panorama = new this.DC.PanoramaBox(this.viewer, {
-                            domId: 'PanoramaBox',
-                            position: [
-                                positions
-                            ]
-                        })
+          const billboard = new this.DC.Billboard(
+            new that.DC.Position(Number(item.jd), Number(item.wd), 0),
+            "/img/leftnav/map-aed.png"
+          );
+          billboard.size = [20, 20];
 
-                        this.$store.commit('SET_PANORAMAPOPUP', true)
-                    })
-                })
+          this.aedLayer.addOverlay(billboard);
+        });
+        this.aedLayer.show = false;
+      });
 
-                this.sceneLayer.show = false
-            })
-
-            getLifeList({ lifetype: 9 }).then(res => {
-                res.data.data.forEach(item => {
-                    const label = new this.DC.Label(new that.DC.Position(Number(item.jd), Number(item.wd), 0), item.mechanismname)
-                    label.setStyle({
-                        fillColor: this.DC.Color.CRIMSON,
-                        style: that.DC.Namespace.Cesium.LabelStyle.FILL_AND_OUTLINE,
-                        outlineColor: that.DC.Color.WHITE, // 边框颜色
-                        outlineWidth: 8, // 边框大小,
-                        font: '14px sans-serif',
-                        pixelOffset: { x: 0, y: -24 }
-                    })
-                    this.aedLayer.addOverlay(label)
-
-                    const billboard = new this.DC.Billboard(new that.DC.Position(Number(item.jd), Number(item.wd), 0), '/img/leftnav/map-aed.png')
-                    billboard.size = [20, 20]
-
-                    this.aedLayer.addOverlay(billboard)
-                })
-                this.aedLayer.show = false
-            })
-
-            getLifeList({ lifetype: 11 }).then(res => {
-                res.data.data.forEach(item => {
-                    const divIcon = new this.DC.DivIcon(
-                        new that.DC.Position(Number(item.jd), Number(item.wd), 0),
-                        `
+      getLifeList({ lifetype: 11 }).then((res) => {
+        res.data.data.forEach((item) => {
+          const divIcon = new this.DC.DivIcon(
+            new that.DC.Position(Number(item.jd), Number(item.wd), 0),
+            `
                         <div class="park-entitys-box">
                             <div class="park-title" alt="${item.mechanismname}">
                             </div>
@@ -293,80 +421,122 @@
                             </div>
                         </div>
                     `
-                    )
-                    this.parkLayer.addOverlay(divIcon)
-                })
-                this.parkLayer.show = false
-            })
+          );
+          this.parkLayer.addOverlay(divIcon);
+        });
+        this.parkLayer.show = false;
+      });
 
-            getLifeList({ lifetype: 12 }).then(res => {
-                res.data.data.forEach(item => {
-                    const label = new that.DC.Label(new that.DC.Position(Number(item.jd), Number(item.wd), 0), item.mechanismname)
-                    label.setStyle({
-                        fillColor: that.DC.Color.FUCHSIA,
-                        style: that.DC.Namespace.Cesium.LabelStyle.FILL_AND_OUTLINE,
-                        outlineColor: that.DC.Color.WHITE, // 边框颜色
-                        outlineWidth: 8, // 边框大小,
-                        font: '14px sans-serif',
-                        pixelOffset: { x: 0, y: -24 }
-                    })
-                    that.comeLayer.addOverlay(label)
+      getLifeList({ lifetype: 12 }).then((res) => {
+        res.data.data.forEach((item) => {
+          const label = new that.DC.Label(
+            new that.DC.Position(Number(item.jd), Number(item.wd), 0),
+            item.mechanismname
+          );
+          label.setStyle({
+            fillColor: that.DC.Color.FUCHSIA,
+            style: that.DC.Namespace.Cesium.LabelStyle.FILL_AND_OUTLINE,
+            outlineColor: that.DC.Color.WHITE, // 边框颜色
+            outlineWidth: 8, // 边框大小,
+            font: "14px sans-serif",
+            pixelOffset: { x: 0, y: -40 },
+          });
+          that.comeLayer.addOverlay(label);
 
-                    const billboard = new that.DC.Billboard(new that.DC.Position(Number(item.jd), Number(item.wd), 0), '/img/leftnav/map-activity.png')
-                    billboard.size = [20, 20]
+          const billboard = new that.DC.Billboard(
+            new that.DC.Position(Number(item.jd), Number(item.wd), 0),
+            "/img/leftnav/map-activity.png"
+          );
+          billboard.size = [20, 20];
+          billboard.setStyle({
+            pixelOffset: { x: 0, y: -16 },
+          });
 
-                    that.comeLayer.addOverlay(billboard)
-                })
-                this.comeLayer.show = false
-            })
-        }
-    }
-}
+          that.comeLayer.addOverlay(billboard);
+        });
+        this.comeLayer.show = false;
+      });
+    },
+    openPopups(value) {
+      var popup = new this.DC.DivForms(this.viewer, {
+        domId: "divFormsDomBox",
+        position: [
+          this.DC.Transform.transformWGS84ToCartesian(
+            new this.DC.Position(
+              Number(value.lng),
+              Number(value.lat),
+              Number(value.alt || 0)
+            )
+          ),
+        ],
+      });
+      // console.log(value, "see");
+      this.$store.dispatch("setOurDataInPoput", value);
+      this.$store.dispatch("pcFlyView", {
+        jd: value.lng,
+        wd: value.lat,
+        viewer: this.viewer,
+      });
+    },
+  },
+};
 </script>
 
-<style scoped lang='scss'>
+<style scoped lang="scss">
 .left-nav {
-    position: fixed;
-    top: 160px;
-    right: 30px;
-    // bottom: 20px;
-    // left: 0;
-    z-index: 1;
-    ul {
-        // display: flex;
-        li {
-            // margin: 0 8px;
-            margin-bottom: 12px;
-            font-weight: 400;
-            display: block;
-            width: 98px;
-            height: 33px;
-            line-height: 33px;
-            background-color: #fff;
-            border-radius: 17px;
-            text-align: center;
-            font-size: 0;
-            cursor: pointer;
+  position: fixed;
+  top: 160px;
+  right: 30px;
+  // bottom: 20px;
+  // left: 0;
+  z-index: 1;
+  ul {
+    // display: flex;
+    li {
+      // margin: 0 8px;
+      margin-bottom: 12px;
+      font-weight: 400;
+      display: block;
+      width: 98px;
+      height: 33px;
+      line-height: 33px;
+      background-color: #fff;
+      border-radius: 17px;
+      text-align: center;
+      font-size: 0;
+      cursor: pointer;
 
-            img {
-                width: 24px;
-                height: 24px;
-                vertical-align: middle;
-                margin-right: 10px;
-                image-rendering: -moz-crisp-edges;
-                image-rendering: -o-crisp-edges;
-                image-rendering: -webkit-optimize-contrast;
-                image-rendering: crisp-edges;
-                -ms-interpolation-mode: nearest-neighbor;
-            }
+      img {
+        width: 24px;
+        height: 24px;
+        vertical-align: middle;
+        margin-right: 10px;
+        image-rendering: -moz-crisp-edges;
+        image-rendering: -o-crisp-edges;
+        image-rendering: -webkit-optimize-contrast;
+        image-rendering: crisp-edges;
+        -ms-interpolation-mode: nearest-neighbor;
+      }
 
-            span {
-                display: inline-block;
-                vertical-align: middle;
-                font-size: 14px;
-                color: #2f2f2f;
-            }
-        }
+      span {
+        display: inline-block;
+        vertical-align: middle;
+        font-size: 14px;
+        color: #2f2f2f;
+      }
     }
+  }
+}
+.addIcons {
+  position: absolute;
+  top: 0;
+  left: -60px;
+  width: 50px !important;
+  span {
+    font-size: 25px !important;
+  }
+}
+.avtiveAddIcons {
+  background-color: aqua;
 }
 </style>

--
Gitblit v1.9.3