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/orgNavBar/index.vue | 168 +++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 135 insertions(+), 33 deletions(-)
diff --git a/src/components/orgNavBar/index.vue b/src/components/orgNavBar/index.vue
index bb43859..b5d59cb 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">
@@ -81,7 +93,7 @@
)
} else {
divIcon = new global.DC.DivIcon(
- new global.DC.Position(Number(item.longitude), Number(item.latitude), 150),
+ new global.DC.Position(Number(item.longitude), Number(item.latitude), 50),
`
<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,13 +124,14 @@
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 {
if (currentOrgLayer != null) {
currentOrgLayer.eachOverlay((item) => {
- item.position = new global.DC.Position(Number(item.position.lng), Number(item.position.lat), 150)
+ item.position = new global.DC.Position(Number(item.attr.params.jd), Number(item.attr.params.wd), 50)
})
}
}
@@ -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)
@@ -133,20 +157,25 @@
},
mapPopup (item) {
+ 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
+ }
+ }
+
this.$store.commit('CLEAR_ALL', null)
var imgArr = item.bgImg.split(',')
this.$store.commit('SET_POPUPBGURL', imgArr[0])
this.$store.commit('SET_POPUPQRURL', item.QRImg)
- this.$store.commit('SET_POINTPOSITION', [
- Number(item.longitude),
- Number(item.latitude),
- Number(item.alt),
- Number(item.heading),
- Number(item.pitch),
- Number(item.roll)
- ])
this.$store.commit('SET_STATENAME', item.navTitle)
this.$store.commit('SET_SITENAME', item.address)
this.$store.commit('SET_TELEPHONE', item.telephone)
@@ -156,29 +185,73 @@
this.$store.commit('SET_MONITORURL', item.videourl)
}
- this.newPopup(item)
- global.viewer.flyToPosition(
- new global.DC.Position(
- Number(item.longitude),
- Number(item.latitude),
- 300,
+ this.newPopup(item, obj)
+
+ if (this.twoOrThree == '三 维') {
+ this.$store.commit('SET_POINTPOSITION', [
+ Number(obj.lng),
+ Number(obj.lat),
+ Number(item.alt),
Number(item.heading),
Number(item.pitch),
Number(item.roll)
- ),
- function () { },
- 3
- )
- },
-
- newPopup (item) {
- const position = global.DC.Transform.transformWGS84ToCartesian(
- new global.DC.Position(
+ ])
+ global.viewer.flyToPosition(
+ new global.DC.Position(
+ Number(obj.lng),
+ Number(obj.lat),
+ 300,
+ Number(item.heading),
+ Number(item.pitch),
+ Number(item.roll)
+ ),
+ function () { },
+ 3
+ )
+ } else {
+ this.$store.commit('SET_POINTPOSITION', [
Number(item.longitude),
Number(item.latitude),
- Number(item.alt)
+ Number(50),
+ Number(item.heading),
+ Number(item.pitch),
+ Number(item.roll)
+ ])
+ global.viewer.flyToPosition(
+ new global.DC.Position(
+ Number(item.longitude),
+ Number(item.latitude),
+ 300,
+ Number(item.heading),
+ Number(item.pitch),
+ Number(item.roll)
+ ),
+ function () { },
+ 3
)
- )
+ }
+ },
+
+ newPopup (item, obj) {
+ let position
+ if (this.twoOrThree == '三 维') {
+ position = global.DC.Transform.transformWGS84ToCartesian(
+ new global.DC.Position(
+ Number(obj.lng),
+ Number(obj.lat),
+ Number(item.alt)
+ )
+ )
+ } else {
+ position = global.DC.Transform.transformWGS84ToCartesian(
+ new global.DC.Position(
+ Number(item.longitude),
+ Number(item.latitude),
+ Number(50)
+ )
+ )
+ }
+
// eslint-disable-next-line no-unused-vars
var popup = new global.DC.DivForms(global.viewer, {
domId: 'divFormsDomBox',
@@ -206,15 +279,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">
@@ -228,7 +316,7 @@
)
} else {
divIcon = new global.DC.DivIcon(
- new global.DC.Position(Number(param.longitude), Number(param.latitude), 150),
+ new global.DC.Position(Number(param.longitude), Number(param.latitude), 50),
`
<div class="tag-entitys-box layer-entity-animation">
<div class="tag-content">
@@ -246,15 +334,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">
@@ -268,7 +370,7 @@
)
} else {
divIcon = new global.DC.DivIcon(
- new global.DC.Position(Number(param.longitude), Number(param.latitude), 150),
+ new global.DC.Position(Number(param.longitude), Number(param.latitude), 50),
`
<div class="tag-entitys-box">
<div class="tag-content">
--
Gitblit v1.9.3