From 58060e64e1fa9cf3ffcf5e29f09c4c2edf8f2126 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 21 Jul 2022 17:25:34 +0800
Subject: [PATCH] 数据显示更换

---
 src/components/orgNavBar/index.vue |   61 ++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 4 deletions(-)

diff --git a/src/components/orgNavBar/index.vue b/src/components/orgNavBar/index.vue
index bb43859..e27987b 100644
--- a/src/components/orgNavBar/index.vue
+++ b/src/components/orgNavBar/index.vue
@@ -64,10 +64,22 @@
                     global.viewer.addLayer(currentOrgLayer)
 
                     newData.forEach((item, index) => {
+                        let obj = {}
+                        if (item.x && item.x != '') {
+                            const position = this.coordinate(item.x)
+                            obj = {
+                                lng: position.lng, lat: position.lat
+                            }
+                        } else {
+                            obj = {
+                                lng: item.longitude, lat: item.latitude
+                            }
+                        }
+
                         let divIcon = null
                         if (this.twoOrThree == '三 维') {
                             divIcon = new global.DC.DivIcon(
-                                new global.DC.Position(Number(item.longitude), Number(item.latitude), 0),
+                                new global.DC.Position(Number(obj.lng), Number(obj.lat), 0),
                                 `
                                 <div class="tag-entitys-box">
                                     <div class="tag-content">
@@ -97,6 +109,8 @@
 
                         divIcon.attr.name = item.navTitle
 
+                        divIcon.attr.params = item
+
                         currentOrgLayer.addOverlay(divIcon)
                     })
                 } else {
@@ -110,7 +124,8 @@
                 if (newData == '三 维') {
                     if (currentOrgLayer != null) {
                         currentOrgLayer.eachOverlay((item) => {
-                            item.position = new global.DC.Position(Number(item.position.lng), Number(item.position.lat), 0)
+                            const position = this.coordinate(item.attr.params.x)
+                            item.position = new global.DC.Position(Number(position.lng), Number(position.lat), 0)
                         })
                     }
                 } else {
@@ -125,6 +140,15 @@
         }
     },
     methods: {
+        coordinate (item) {
+            const arr = item.split(',')
+
+            return {
+                lng: arr[0],
+                lat: arr[1]
+            }
+        },
+
         removeLayer () {
             if (currentOrgLayer != null) {
                 global.viewer.removeLayer(currentOrgLayer)
@@ -206,15 +230,30 @@
             this.$store.commit('SET_MONITORPOPUP', false)
             this.removeLayer()
         },
+
         flickerStart (param, name) {
             const layerIcon = currentOrgLayer.getOverlaysByAttr('name', name)
 
             currentOrgLayer.removeOverlay(layerIcon[0])
 
             let divIcon = null
+
+            let obj = {}
+
+            if (param.x && param.x != '') {
+                const position = this.coordinate(param.x)
+                obj = {
+                    lng: position.lng, lat: position.lat
+                }
+            } else {
+                obj = {
+                    lng: param.longitude, lat: param.latitude
+                }
+            }
+
             if (this.twoOrThree == '三 维') {
                 divIcon = new global.DC.DivIcon(
-                    new global.DC.Position(Number(param.longitude), Number(param.latitude), 0),
+                    new global.DC.Position(Number(obj.lng), Number(obj.lat), 0),
                     `
                                 <div class="tag-entitys-box layer-entity-animation">
                                     <div class="tag-content">
@@ -246,15 +285,29 @@
 
             currentOrgLayer.addOverlay(divIcon)
         },
+
         flickerEnd (param, name) {
             const layerIcon = currentOrgLayer.getOverlaysByAttr('name', name)
 
             currentOrgLayer.removeOverlay(layerIcon[0])
 
             let divIcon = null
+
+            let obj = {}
+
+            if (param.x && param.x != '') {
+                const position = this.coordinate(param.x)
+                obj = {
+                    lng: position.lng, lat: position.lat
+                }
+            } else {
+                obj = {
+                    lng: param.longitude, lat: param.latitude
+                }
+            }
             if (this.twoOrThree == '三 维') {
                 divIcon = new global.DC.DivIcon(
-                    new global.DC.Position(Number(param.longitude), Number(param.latitude), 0),
+                    new global.DC.Position(Number(obj.lng), Number(obj.lat), 0),
                     `
                                 <div class="tag-entitys-box">
                                     <div class="tag-content">

--
Gitblit v1.9.3