From 81f54040c2cb65537c6c6e1db8358a39a57dea0d Mon Sep 17 00:00:00 2001
From: mayisheng <admin>
Date: Mon, 15 Aug 2022 16:14:01 +0800
Subject: [PATCH] 1

---
 src/components/arcNavBar/index.vue |  103 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 80 insertions(+), 23 deletions(-)

diff --git a/src/components/arcNavBar/index.vue b/src/components/arcNavBar/index.vue
index 10ec4dd..9c49b89 100644
--- a/src/components/arcNavBar/index.vue
+++ b/src/components/arcNavBar/index.vue
@@ -60,7 +60,8 @@
             // 全景地址
             'panoramaUrl',
             'arcNavBarTitle',
-            'arcNavBarCode'
+            'arcNavBarCode',
+            'twoOrThree'
         ])
     },
     created () {
@@ -88,6 +89,16 @@
         }
     },
     methods: {
+
+        coordinate (item) {
+            const arr = item.split(',')
+
+            return {
+                lng: arr[0],
+                lat: arr[1]
+            }
+        },
+
         topNavClick (item, index) {
             this.titleList.forEach((item) => {
                 item.flag = false
@@ -117,20 +128,16 @@
         mapPopup (param) {
             getChildNavDetail({ id: param.id }).then((res) => {
                 var result = res.data.data[0].list
+
                 this.$store.commit('CLEAR_ALL', null)
 
                 var imgArr = result.tpurl.split(',')
 
+                const position = this.coordinate(result.x)
+
                 this.$store.commit('SET_POPUPBGURL', imgArr[0])
                 this.$store.commit('SET_POPUPQRURL', result.codeurl)
-                this.$store.commit('SET_POINTPOSITION', [
-                    Number(result.jd),
-                    Number(result.wd),
-                    Number(result.gd),
-                    Number(result.heading),
-                    Number(result.pitch),
-                    Number(result.roll)
-                ])
+
                 this.$store.commit('SET_STATENAME', result.mechanismname)
                 this.$store.commit('SET_SITENAME', result.address)
                 this.$store.commit('SET_TELEPHONE', result.telephone)
@@ -154,26 +161,76 @@
                     this.$store.commit('SET_LIVELIST', [])
                 }
 
-                this.newPopup(result)
-                global.viewer.flyToPosition(
-                    new global.DC.Position(
-                        Number(result.jd),
-                        Number(result.wd),
-                        300,
+                this.newPopup(result, position)
+
+                if (this.twoOrThree == '三 维') {
+                    this.$store.commit('SET_POINTPOSITION', [
+                        Number(position.lng),
+                        Number(position.lat),
+                        Number(result.gd),
                         Number(result.heading),
                         Number(result.pitch),
                         Number(result.roll)
-                    ),
-                    function () { },
-                    3
-                )
+                    ])
+
+                    global.viewer.flyToPosition(
+                        new global.DC.Position(
+                            Number(position.lng),
+                            Number(position.lat),
+                            300,
+                            Number(result.heading),
+                            Number(result.pitch),
+                            Number(result.roll)
+                        ),
+                        function () { },
+                        3
+                    )
+                } else {
+                    this.$store.commit('SET_POINTPOSITION', [
+                        Number(result.jd),
+                        Number(result.wd),
+                        Number(result.gd),
+                        Number(result.heading),
+                        Number(result.pitch),
+                        Number(result.roll)
+                    ])
+
+                    global.viewer.flyToPosition(
+                        new global.DC.Position(
+                            Number(result.jd),
+                            Number(result.wd),
+                            300,
+                            Number(result.heading),
+                            Number(result.pitch),
+                            Number(result.roll)
+                        ),
+                        function () { },
+                        3
+                    )
+                }
             })
         },
 
-        newPopup (item) {
-            const position = global.DC.Transform.transformWGS84ToCartesian(
-                new global.DC.Position(Number(item.jd), Number(item.wd), Number(item.gd))
-            )
+        newPopup (item, positionArr) {
+            let position
+            if (this.twoOrThree == '三 维') {
+                position = global.DC.Transform.transformWGS84ToCartesian(
+                    new global.DC.Position(
+                        Number(positionArr.lng),
+                        Number(positionArr.lat),
+                        Number(item.alt)
+                    )
+                )
+            } else {
+                position = global.DC.Transform.transformWGS84ToCartesian(
+                    new global.DC.Position(
+                        Number(item.jd),
+                        Number(item.wd),
+                        Number(50)
+                    )
+                )
+            }
+
             // eslint-disable-next-line no-unused-vars
             var popup = new global.DC.DivForms(global.viewer, {
                 domId: 'divFormsDomBox',

--
Gitblit v1.9.3