From 26739237e2d93460eb869067a6004bfa63a1bdb8 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期一, 27 六月 2022 10:16:21 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/wvp-28181-2.0' into commercial --- web_src/src/components/map.vue | 38 +++++++++++++++++++++++++++++++++----- 1 files changed, 33 insertions(+), 5 deletions(-) diff --git a/web_src/src/components/devicePosition.vue b/web_src/src/components/map.vue similarity index 89% rename from web_src/src/components/devicePosition.vue rename to web_src/src/components/map.vue index db19677..e9e8628 100644 --- a/web_src/src/components/devicePosition.vue +++ b/web_src/src/components/map.vue @@ -49,7 +49,7 @@ import queryTrace from './dialog/queryTrace.vue' export default { - name: "devicePosition", + name: "map", components: { MapComponent, DeviceTree, @@ -183,12 +183,27 @@ this.clean() this.closeInfoBox() let params = []; + let longitudeStr; + let latitudeStr; + if (window.mapParam.coordinateSystem == "GCJ-02") { + longitudeStr = "longitudeGcj02"; + latitudeStr = "latitudeGcj02"; + }else if (window.mapParam.coordinateSystem == "WGS84") { + longitudeStr = "longitudeWgs84"; + latitudeStr = "latitudeWgs84"; + }else { + longitudeStr = "longitude"; + latitudeStr = "latitude"; + } + for (let i = 0; i < channels.length; i++) { - if (channels[i].longitude * channels[i].latitude === 0) { + let longitude = channels[i][longitudeStr]; + let latitude = channels[i][latitudeStr]; + if (longitude * latitude === 0) { continue; } let item = { - position: [channels[i].longitude, channels[i].latitude], + position: [longitude, latitude], image: { src: this.getImageByChannel(channels[i]), anchor: [0.5, 1] @@ -202,7 +217,7 @@ this.layer = this.$refs.map.addLayer(params, this.featureClickEvent) console.log(4) if (params.length === 1) { - this.$refs.map.panTo([channels[0].longitude, channels[0].latitude], mapParam.maxZoom) + this.$refs.map.panTo([channels[0][longitudeStr], channels[0][latitudeStr]], mapParam.maxZoom) } else if (params.length > 1) { this.$refs.map.fit(this.layer) } else { @@ -251,7 +266,20 @@ this.channel = channels[0] } this.$nextTick(() => { - this.infoBoxId = this.$refs.map.openInfoBox([this.channel.longitude, this.channel.latitude], this.$refs.infobox, [0, -50]) + let longitudeStr; + let latitudeStr; + if (window.mapParam.coordinateSystem == "GCJ-02") { + longitudeStr = "longitudeGcj02"; + latitudeStr = "latitudeGcj02"; + }else if (window.mapParam.coordinateSystem == "WGS84") { + longitudeStr = "longitudeWgs84"; + latitudeStr = "latitudeWgs84"; + }else { + longitudeStr = "longitude"; + latitudeStr = "latitude"; + } + let position = [this.channel[longitudeStr], this.channel[latitudeStr]]; + this.infoBoxId = this.$refs.map.openInfoBox(position, this.$refs.infobox, [0, -50]) }) }, closeInfoBox: function () { -- Gitblit v1.8.0