From 7c99f16331b22b46b3992f28f10afcdcc4f1f2c0 Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Wed, 25 Oct 2023 14:47:53 +0800
Subject: [PATCH] fix:实时风场图点击弹窗修改
---
src/components/Wind/Map.vue | 1552 ++++++++++++++++++++++++++++++++++------------------------
1 files changed, 906 insertions(+), 646 deletions(-)
diff --git a/src/components/Wind/Map.vue b/src/components/Wind/Map.vue
index d6f260c..f62f064 100644
--- a/src/components/Wind/Map.vue
+++ b/src/components/Wind/Map.vue
@@ -5,7 +5,9 @@
element-loading-text="���������"
element-loading-background="rgba(0, 0, 0, 0.6)"
>
- <div v-if="noneData" class="noneData">������������������������������</div>
+ <div v-if="noneData" class="noneData">
+ ������������������������������
+ </div>
<div class="top">
<span
v-for="(item, index) in params"
@@ -13,8 +15,7 @@
class="left"
:class="{ click: changeColor === index }"
@click="change(index)"
- >{{ item }}</span
- >
+ >{{ item }}</span>
<!-- <span class="middle" @click="toggleWindState()">{{ windStateText }}</span> -->
<span class="right">{{ times }}���</span>
<span class="dropDown">
@@ -23,170 +24,175 @@
:src="require('@/assets/images/regionalOverview/realTimeImg.png')"
alt=""
@click="turnState"
- />
+ >
<span class="text_Time">{{ dateFormat }}</span>
- <img class="drop-icon" :src="turnImg" alt="" @click="turnState" />
+ <img
+ class="drop-icon"
+ :src="turnImg"
+ alt=""
+ @click="turnState"
+ >
</span>
</div>
<div class="topDate" style="height: 60px">
- <div class="jdt" id="eventPro">
+ <div id="eventPro" class="jdt">
<div class="mouseDiv">
- <span class="inText"></span>
- <div class="sjDiv"></div>
+ <span class="inText" />
+ <div class="sjDiv" />
</div>
<div class="mouseDiv2">
- <span class="inText2"></span>
- <div class="sjDiv2"></div>
+ <span class="inText2" />
+ <div class="sjDiv2" />
</div>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
- <li></li>
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
+ <li />
</div>
<div class="timeDiv" style="position: relative">
<ul id="timeUl">
- <li style="width: 0.83%"></li>
- <li></li>
- <li></li>
+ <li style="width: 0.83%" />
+ <li />
+ <li />
<li>03</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>06</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>09</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>12</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>15</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>18</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>21</li>
- <li></li>
- <li></li>
- <li></li>
+ <li />
+ <li />
+ <li />
<!-- -->
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>03</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>06</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>09</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>12</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>15</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>18</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>21</li>
- <li></li>
- <li></li>
- <li></li>
+ <li />
+ <li />
+ <li />
<!-- -->
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>03</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>06</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>09</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>12</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>15</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>18</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>21</li>
- <li></li>
- <li></li>
+ <li />
+ <li />
<li>00</li>
</ul>
<div
@@ -197,7 +203,7 @@
"
class="dayDiv"
>
- <p class="p1"></p>
+ <p class="p1" />
<p style="position: relative">
<span
class="borderLine"
@@ -208,8 +214,8 @@
height: 47px;
bottom: 0;
"
- ></span>
- <span class="p2"></span>
+ />
+ <span class="p2" />
<span
class="borderLine"
style="
@@ -219,9 +225,9 @@
height: 47px;
bottom: 0;
"
- ></span>
+ />
</p>
- <p class="p3"></p>
+ <p class="p3" />
</div>
</div>
</div>
@@ -264,9 +270,9 @@
:value="item.value"
/>
</el-select>
- <el-button type="primary" @click="alertData(PageSize, currentPage)"
- >������</el-button
- >
+ <el-button type="primary" @click="alertData(PageSize, currentPage)">
+ ������
+ </el-button>
</div>
</div>
<el-table
@@ -314,9 +320,9 @@
@current-change="handleCurrentChange"
/>
<div slot="footer" class="dialog-footer">
- <el-button size="mini" @click="alarmTableVisible = false"
- >��� ���</el-button
- >
+ <el-button size="mini" @click="alarmTableVisible = false">
+ ��� ���
+ </el-button>
</div>
</el-dialog>
</div>
@@ -326,9 +332,11 @@
import 'leaflet/dist/leaflet.css'
import 'leaflet-velocity/dist/leaflet-velocity.css'
import L from 'leaflet'
+import _ from 'lodash'
import 'leaflet-rotatedmarker/leaflet.rotatedMarker.js'
import 'leaflet-velocity/dist/leaflet-velocity'
import $ from 'jquery'
+import { WWindUtil } from '@/components/Wind/WRatingArr.js'
import RegionalOverview from '@/components/Wind/RegionalOverview' // ������������������
import { mapGetters } from 'vuex'
import { gcj02towgs84 } from '@/assets/json/transform'
@@ -343,6 +351,8 @@
},
data() {
return {
+ compassBg: require('@/assets/images/regionalOverview/wind_watch.png'),
+ compassDirection: require('@/assets/images/regionalOverview/wind_point.png'),
timerKey: '', // ���������������������������
map: null,
code: [],
@@ -463,6 +473,7 @@
dateInfo: '', // ���������������
timeInfo: '', // ���������������
nyr: '', // ������������������
+ windJsonData: [],
}
},
computed: {
@@ -476,10 +487,23 @@
regionCode(newCode, oldCode) {
this.timerKey = newCode // ������������code���������������������������
},
+ windJsonData(newCode, oldCode) {
+ this.$nextTick(() => {
+ console.log('111')
+
+ this.canvasWind(newCode)
+ })
+ },
},
mounted() {
this.currentHour()
- this.$Bus.$on('alarmTableVisible', (res) => (this.alarmTableVisible = res))
+ this.$Bus.$on(
+ 'alarmTableVisible',
+ (res) => (
+ (this.alarmTableVisible = res),
+ this.alertData(this.PageSize, this.currentPage)
+ )
+ )
// ���������������������
this.initMap()
@@ -490,13 +514,10 @@
const newLL = this.bd09togcj02(this.jingduNew, this.weiduNew) // ���������������������������������
this.jingduNew = newLL[1]
this.weiduNew = newLL[0]
- // ���������������������
- this.windData()
- this.change(0)
- this.getParamsData()
- this.windDir()
+ this.getParamsData(false)
+ // this.windDir()
this.newDate()
- this.alertData(this.PageSize, this.currentPage)
+ // this.alertData(this.PageSize, this.currentPage)
},
beforeDestroy() {
if (this.timer) {
@@ -517,7 +538,8 @@
methods: {
// ������������������������������
getDayXQ(day) {
- var days = new Date().getDay() // ������
+ var days = new Date()
+.getDay() // ������
var rq = '' // ������
if (day === 'today') {
rq = this.newData(0)
@@ -611,23 +633,19 @@
this.chooseTime = true // ���������������
if ((i + 1) / 24 < 1) {
this.nyr = this.newData(-2, 'nyr') + ' ' + times + ':00'
- console.log(111, this.nyr)
} else if ((i + 1) / 24 < 2 && (i + 1) / 24 >= 1) {
this.nyr = this.newData(-1, 'nyr') + ' ' + times + ':00'
- console.log(222, this.nyr)
} else if ((i + 1) / 24 < 3 && (i + 1) / 24 >= 2) {
this.nyr = this.newData(0, 'nyr') + ' ' + times + ':00'
- console.log(333, this.nyr)
} else {
this.nyr = this.newData(1, 'nyr') + ' ' + times + ':00'
- console.log(444, this.nyr)
}
break
}
}
}
that.times = 1
- that.getParamsData()
+ that.getParamsData(true)
}
// timeUl������������������
timeUl.onclick = (e) => {
@@ -648,16 +666,12 @@
this.chooseTime = true // ���������������
if (i / 24 < 1) {
this.nyr = this.newData(-2, 'nyr') + ' ' + times + ':00'
- console.log(111, this.nyr)
} else if (i / 24 < 2 && i / 24 >= 1) {
this.nyr = this.newData(-1, 'nyr') + ' ' + times + ':00'
- console.log(222, this.nyr)
} else if (i / 24 < 3 && i / 24 >= 2) {
this.nyr = this.newData(0, 'nyr') + ' ' + times + ':00'
- console.log(333, this.nyr)
} else {
this.nyr = this.newData(1, 'nyr') + ' ' + times + ':00'
- console.log(444, this.nyr)
}
break
}
@@ -672,7 +686,7 @@
// console.log('���������������������', greenInfo, 'index')
}
that.times = 1
- that.getParamsData()
+ that.getParamsData(true)
}
// ������������������������
for (let i = 0; i < lis.length; i++) {
@@ -750,183 +764,6 @@
mouseLeave() {
this.map.scrollWheelZoom.enable()
},
- // initWebpack() {
- // // ������������
- // var param = this.accountId + '&' + this.orgId + '&' + this.regionCode
- // // ������URL
- // var socketUrl = 'http://monitor-api2.7drlb.com/web/WebSocket/' + param
- // socketUrl = socketUrl.replace('https', 'ws').replace('http', 'ws')
- // this.ws = new WebSocket(socketUrl)
- // this.ws.onopen = this.onopen
- // this.ws.onmessage = this.onmessage
- // this.ws.onclose = this.onclose
- // this.ws.onerror = this.onerror
- // },
- // reconnect() { // ������������
- // var that = this
- // if (that.lockReconnect) {
- // return
- // }
- // that.lockReconnect = true
- // // ������������������������������������������������������������
- // that.timeoutnum && clearTimeout(that.timeoutnum)
- // that.timeoutnum = setTimeout(function() {
- // // ���������
- // that.initWebpack()
- // that.lockReconnect = false
- // }, 5000)
- // },
- // reset() { // ������������
- // var that = this
- // // ������������
- // clearTimeout(that.timeoutObj)
- // clearTimeout(that.serverTimeoutObj)
- // // ������������
- // that.start()
- // },
- // start() { // ������������
- // // console.log('������������')
- // var self = this
- // self.timeoutObj && clearTimeout(self.timeoutObj)
- // self.serverTimeoutObj && clearTimeout(self.serverTimeoutObj)
- // self.timeoutObj = setTimeout(function() {
- // // ������������������������������������������������������������������������
- // if (self.ws.readyState === 1) { // ������������������
- // self.ws.send('heartCheck')
- // } else { // ������������
- // self.reconnect()
- // }
- // self.serverTimeoutObj = setTimeout(function() {
- // // ������������
- // self.ws.close()
- // }, self.timeout)
- // }, self.timeout)
- // },
- // onopen() {
- // // console.log('������������')
- // // ������������
- // this.start()
- // },
- // onmessage(msg) {
- // var that = this
- // if (JSON.parse(msg.data).������) {
- // that.wsData2 = msg.data.replace(/,/g, `<br>`).replace(/{|}|"/g, '')
- // } else {
- // that.wsData1 = msg.data
- // if (that.windState === 2) {
- // for (let i = 0; i < that.keyData.length; i++) {
- // // ���������������
- // // ���������(������mac������)���������������������
- // if (that.coordinates[i] === JSON.parse(that.wsData1).mac) {
- // var blueIcon1 = L.icon({ // ������������������
- // iconUrl: require('@/assets/images/icoWind03.png'),
- // iconSize: [30, 30],
- // iconAnchor: [15, 25],
- // className: 'iconWind'
- // })
- // // L.marker������������������������������
- // that.marker = L.marker([that.lats[i], that.lngs[i]], {
- // icon: blueIcon1,
- // rotationAngle: Number(JSON.parse(that.wsData1).������)
- // })
- // if (i === 0) {
- // that.markerObject.push({ mac1: that.coordinates[i], marker: that.marker })
- // that.map.addLayer(that.marker)
- // } else {
- // that.markerObject.push({ mac1: that.coordinates[i], marker: that.marker })
- // for (let j = 0; j < that.markerObject.length; j++) {
- // if (that.coordinates[0] === that.markerObject[j].mac1) {
- // that.map.removeLayer(that.markerObject[j].marker)
- // that.map.addLayer(that.marker)
- // } else if (that.coordinates[i] === that.markerObject[j].mac1) {
- // that.map.removeLayer(that.markerObject[j].marker)
- // that.map.addLayer(that.marker)
- // }
- // }
- // }
- // }
- // }
- // }
- // }
- // // ������������������������������������
- // this.reset()
- // },
- // onclose(e) {
- // // console.log('������������')
- // // console.log('websocket ������: ' + e.code + ' ' + e.reason + ' ' + e.wasClean)
- // // ������
- // this.reconnect()
- // },
- // onerror(e) {
- // console.log('������������')
- // // ������
- // this.reconnect()
- // },
- // ws������
- // wsStart() {
- // var that = this
- // // ������������
- // var param = this.accountId + '&' + this.orgId + '&' + this.regionCode
- // // ������URL
- // var socketUrl = 'http://monitor-api2.7drlb.com/web/WebSocket/' + param
- // // ������http���WS
- // // console.log(socketUrl)
- // socketUrl = socketUrl.replace('https', 'ws').replace('http', 'ws')
- // this.ws = new WebSocket(socketUrl)
- // // if (this.ws) {
- // // this.ws.close()
- // // console.log('ws������������')
- // // }
- // // this.ws = new WebSocket(socketUrl)
- // // console.log('ws������������')
-
- // this.ws.onopen = function() {
- // // console.log('websocket������������')
- // }
- // ������������������
- // this.ws.onmessage = function(msg) {
- // if (JSON.parse(msg.data).������) {
- // that.wsData2 = msg.data.replace(/,/g, `<br>`).replace(/{|}|"/g, '')
- // // console.log(that.wsData2)
- // } else {
- // that.wsData1 = msg.data
- // // console.log(that.wsData1)
- // if (that.windState === 2) {
- // for (let i = 0; i < that.keyData.length; i++) {
- // // ���������������
- // // ���������(������mac������)���������������������
- // if (that.coordinates[i] === JSON.parse(that.wsData1).mac) {
- // var blueIcon1 = L.icon({
- // iconUrl: require('@/assets/images/icoWind03.png'),
- // iconSize: [30, 30],
- // iconAnchor: [15, 25],
- // className: 'iconWind'
- // })
- // that.marker = L.marker([that.lats[i], that.lngs[i]], {
- // icon: blueIcon1,
- // rotationAngle: Number(JSON.parse(that.wsData1).������)
- // })
- // if (i === 0) {
- // that.markerObject.push({ mac1: that.coordinates[i], marker: that.marker })
- // that.map.addLayer(that.marker)
- // } else {
- // that.markerObject.push({ mac1: that.coordinates[i], marker: that.marker })
- // for (let j = 0; j < that.markerObject.length; j++) {
- // if (that.coordinates[0] === that.markerObject[j].mac1) {
- // that.map.removeLayer(that.markerObject[j].marker)
- // that.map.addLayer(that.marker)
- // } else if (that.coordinates[i] === that.markerObject[j].mac1) {
- // that.map.removeLayer(that.markerObject[j].marker)
- // that.map.addLayer(that.marker)
- // }
- // }
- // }
- // }
- // }
- // }
- // }
- // }
- // },
// ���������������������������������
bd09togcj02(bd_lon, bd_lat) {
var x_pi = (3.14159265358979324 * 3000.0) / 180.0
@@ -938,69 +775,21 @@
var gg_lat = z * Math.sin(theta)
return [gg_lat, gg_lng]
},
- // /**
- // * GCJ02 ��������� WGS84
- // * @param lng
- // * @param lat
- // * @returns {*[]}
- // */
- // gcj02towgs84(lng, lat) {
- // if (this.out_of_china(lng, lat)) {
- // return [lat,lng]
- // } else {
- // var dlat = this.transformlat(lng - 105.0, lat - 35.0);
- // var dlng = this.transformlng(lng - 105.0, lat - 35.0);
- // var radlat = lat / 180.0 * PI;
- // var magic = Math.sin(radlat);
- // magic = 1 - ee * magic * magic;
- // var sqrtmagic = Math.sqrt(magic);
- // dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI);
- // dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI);
- // var mglat = lat + dlat;
- // var mglng = lng + dlng;
- // return [ lat * 2 - mglat,lng * 2 - mglng]
- // }
- // },
- //
- // transformlat(lng, lat) {
- // var ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + 0.1 * lng * lat + 0.2 * Math.sqrt(Math.abs(lng));
- // ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0;
- // ret += (20.0 * Math.sin(lat * PI) + 40.0 * Math.sin(lat / 3.0 * PI)) * 2.0 / 3.0;
- // ret += (160.0 * Math.sin(lat / 12.0 * PI) + 320 * Math.sin(lat * PI / 30.0)) * 2.0 / 3.0;
- // return ret
- // },
- // transformlng(lng, lat) {
- // var ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + 0.1 * lng * lat + 0.1 * Math.sqrt(Math.abs(lng));
- // ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0;
- // ret += (20.0 * Math.sin(lng * PI) + 40.0 * Math.sin(lng / 3.0 * PI)) * 2.0 / 3.0;
- // ret += (150.0 * Math.sin(lng / 12.0 * PI) + 300.0 * Math.sin(lng / 30.0 * PI)) * 2.0 / 3.0;
- // return ret
- // },
- // /**
- // * ���������������������������������������������������
- // * @param lng
- // * @param lat
- // * @returns {boolean}
- // */
- // out_of_china(lng, lat) {
- // return (lng < 72.004 || lng > 137.8347) || ((lat < 0.8293 || lat > 55.8271) || false);
- // },
// ������������������,���������
deviceMaker() {
- // ������������������
if (this.map) {
this.map.eachLayer(function (layer) {
// ���������������������������
if (
!layer._container &&
- ('' + $(layer._container).attr('class')).replace(/\s/g, '') !==
+ ('' + $(layer._container)
+.attr('class')).replace(/\s/g, '') !==
'leaflet-layer'
) {
layer.remove()
}
})
}
- const that = this
this.$request({
url: '/historyFiveMinutely/queryDeviceAndData',
method: 'get',
@@ -1011,22 +800,22 @@
chooseTime: this.chooseTime,
time: this.nyr,
},
- }).then((data) => {
+ })
+.then((data) => {
// console.log('���������������������')
- console.log(data, 'tata')
- that.loading = false
this.markDeviceSite(data)
})
},
// ���������������
markDeviceSite(data) {
- // data.data.devices.latitude = gcj02towgs84(data.data.devices.longitude, data.data.devices.latitude)[0]
- // data.data.devices.longitude = gcj02towgs84(data.data.devices.longitude, data.data.devices.latitude)[1]
var keyData = data.data.devices
this.keyData = data.data.devices
// ���������������������
- this.stateControlStation()
- var group = L.layerGroup().addTo(this.map)
+ // this.stateControlStation()
+ var groupIcon = L.layerGroup()
+.addTo(this.map)
+ var groupText = L.layerGroup()
+.addTo(this.map)
this.keys = []
for (let i = 0; i < keyData.length; i++) {
if (keyData[i].a34002) {
@@ -1036,24 +825,21 @@
} else if (keyData[i].a21026) {
this.keys.push(Math.floor(JSON.parse(keyData[i].a21026)))
} else if (keyData[i].a21004) {
- this.keys.push(Math.floor(JSON.parse(keyData[i].a21004).toFixed(0)))
+ this.keys.push(Math.floor(JSON.parse(keyData[i].a21004)
+.toFixed(0)))
} else if (keyData[i].a21005) {
- this.keys.push(JSON.parse(keyData[i].a21005).toFixed(3))
+ this.keys.push(JSON.parse(keyData[i].a21005)
+.toFixed(3))
} else if (keyData[i].a05024) {
this.keys.push(Math.floor(JSON.parse(keyData[i].a05024)))
} else if (keyData[i].a99054) {
- this.keys.push(JSON.parse(keyData[i].a99054).toFixed(3))
+ this.keys.push(JSON.parse(keyData[i].a99054)
+.toFixed(3))
} else {
// for (let j = 0; j < keyData.length; j++) {
this.keys.push(JSON.parse('null'))
// }
}
- // console.log(this.keys)
- // const newL = this.bd09togcj02(keyData[i].longitude, keyData[i].latitude)
- // var lat = newL[0]
- // this.lats[i] = newL[0]
- // var lng = newL[1]
- // this.lngs[i] = newL[1]
var lat = keyData[i].latitude
this.lats[i] = keyData[i].latitude
var lng = keyData[i].longitude
@@ -1176,7 +962,8 @@
}
} else if (keyData[i].a21004) {
var data = Math.floor(
- Math.floor(JSON.parse(keyData[i].a21004).toFixed(0))
+ Math.floor(JSON.parse(keyData[i].a21004)
+.toFixed(0))
)
switch (true) {
case data < 0: {
@@ -1215,7 +1002,8 @@
break
}
} else if (keyData[i].a21005) {
- var data = JSON.parse(keyData[i].a21005).toFixed(3)
+ var data = JSON.parse(keyData[i].a21005)
+.toFixed(3)
switch (true) {
case data < 0: {
colorNum = 7
@@ -1291,7 +1079,8 @@
break
}
} else if (keyData[i].a99054) {
- var data = JSON.parse(keyData[i].a99054).toFixed(3)
+ var data = JSON.parse(keyData[i].a99054)
+.toFixed(3)
switch (true) {
case data < 0: {
colorNum = 7
@@ -1337,10 +1126,12 @@
iconAnchor: [30, 48],
className: 'my-device',
})
+
// ���������������������
- L.marker([lat, lng], {
+ const iconMarker = L.marker([lat, lng], {
icon: blueIcon,
- }).addTo(group)
+ })
+ groupIcon.addLayer(iconMarker)
// console.log(JSON.parse(this.keys[i]))
var myIcon = L.divIcon({
html: this.keys[i],
@@ -1348,129 +1139,573 @@
iconSize: [60, 60],
iconAnchor: [40, 40],
})
- var marker = L.marker([lat, lng], { icon: myIcon }).addTo(group)
+
+ const TexteMarker = L.marker([lat, lng], { icon: myIcon })
+ TexteMarker.vuecontext = this
+ groupText.addLayer(TexteMarker)
+ const _this = this
// ������������������������������������mouseover���������������
- var _this = this
- marker.on('mouseover', function (e) {
+ TexteMarker.on('click', function (e) {
+ const MarkerTarget = e.target
+ // _this.getMarkerInfor(keyData[i], MarkerTarget)
this.noneData = false
- // $.getJSON('http://47.99.64.149:8080/historyFiveMinutely/queryPopDataByMac', { 'mac': keyData[i].mac, chooseTime: this.chooseTime, time: this.nyr }, (res) => {
- // var data = JSON.stringify(res.data).replace(/,/g, `<br>`).replace(/{|}|"/g, '')
- // // console.log(data)
- // this.bindPopup(data).openPopup()
- // })
- _this
- .$request({
- url: '/historyFiveMinutely/queryPopDataByMac',
- method: 'get',
- params: {
- mac: keyData[i].mac,
- chooseTime: _this.chooseTime,
- time: _this.nyr,
- },
- })
- .then((res) => {
- if (res.message == '���������������������') {
- var datafalse = '���������������������'
- this.bindPopup(datafalse).openPopup()
- return
- }
- for (const key in res.data) {
- var tempDecimal = res.data[key]
- .replace(/[^\d.]/g, '')
- .split('.')[1]
- if (key !== '������' && key !== '������') {
- if (Number(tempDecimal) === 0) {
- res.data[key] =
- parseInt(res.data[key]) + res.data[key].split(' ')[1]
- } else {
- res.data[key] =
- Number(res.data[key].split(' ')[0]).toFixed(2) +
- res.data[key].split(' ')[1]
- }
- // var num = res.data[key].split(' ')[0]
- // res.data[key] = (num - 0).toFixed(3)
- }
- }
- var data = JSON.stringify(res.data)
- .replace(/,/g, `<br>`)
- .replace(/{|}|"/g, '')
- this.bindPopup(data).openPopup()
- })
- .catch((err) => {
- console.log(err)
- })
+ // const _this = e.target.vuecontext
+ _this.handleClick(keyData[i], MarkerTarget)
})
// ������������������������������������
- marker.on('mouseout', function (e) {
- this.noneData = false
- this.bindPopup().closePopup()
- })
+ // TexteMarker.on('mouseout', function(e) {
+ // this.noneData = false
+ // this.bindPopup().closePopup()
+ // })
}
+ console.log(' this.keys', this.keys)
},
- // ������������������������������������
- // moveInAndOut() {
- //
- // },
- // ������������������
- stateControlStation() {
- // this.$axios.get('monitorPoint/queryStateControlStation', {
+ styleBgColor(keyName) {
+ console.log('keyName', keyName)
+ let bgColorList = {
+ pm25colorbg: '',
+ pm10colorbg: '',
+ so2colorbg: '', //������������
+ no210colorbg: '', //������������
+ cocolorbg: '', //������������
+ o3colorbg: '', //������
+ tvoccolorbg: '', //TVOC
+ }
+
+ let data = ''
+ for (let i in keyName) {
+ if (i === 'a34002') {
+ data = Math.floor(JSON.parse(keyName.a34002))
+ switch (true) {
+ case data < 0: {
+ bgColorList.pm10colorbg = '#999999'
+ break
+ }
+ case data === 0: {
+ bgColorList.pm10colorbg = '#688fb1'
+ break
+ }
+ case data <= 50: {
+ bgColorList.pm10colorbg = '#00ff01'
+ break
+ }
+ case data <= 150: {
+ bgColorList.pm10colorbg = '#fdfe00'
+ break
+ }
+ case data <= 250: {
+ bgColorList.pm10colorbg = '#fd8102'
+ break
+ }
+ case data <= 350: {
+ bgColorList.pm10colorbg = '#fc0101'
+ break
+ }
+ case data <= 420: {
+ bgColorList.pm10colorbg = '#c00261'
+ break
+ }
+ case data > 420: {
+ bgColorList.pm10colorbg = '#9f012f'
+ break
+ }
+ default:
+ break
+ }
+ } else if (i === 'a34004') {
+ data = Math.floor(JSON.parse(keyName.a34004))
+ switch (true) {
+ case data < 0: {
+ bgColorList.pm25colorbg = '#999999'
+ break
+ }
+ case data === 0: {
+ bgColorList.pm25colorbg = '#688fb1'
+ break
+ }
+ case data <= 35: {
+ bgColorList.pm25colorbg = '#00ff01'
+ break
+ }
+ case data <= 75: {
+ bgColorList.pm25colorbg = '#fdfe00'
+ break
+ }
+ case data <= 115: {
+ bgColorList.pm25colorbg = '#fd8102'
+ break
+ }
+ case data <= 150: {
+ bgColorList.pm25colorbg = '#fc0101'
+ break
+ }
+ case data <= 250: {
+ bgColorList.pm25colorbg = '#c00261'
+ break
+ }
+ case data > 250: {
+ bgColorList.pm25colorbg = '#9f012f'
+ break
+ }
+ default:
+ break
+ }
+ } else if (i === 'a21026') {
+ data = Math.floor(JSON.parse(keyName.a21026))
+ switch (true) {
+ case data < 0: {
+ bgColorList.so2colorbg = '#999999'
+ break
+ }
+ case data === 0: {
+ bgColorList.so2colorbg = '#688fb1'
+ break
+ }
+ case data <= 50: {
+ bgColorList.so2colorbg = '#00ff01'
+ break
+ }
+ case data <= 150: {
+ bgColorList.so2colorbg = '#fdfe00'
+ break
+ }
+ case data <= 475: {
+ bgColorList.so2colorbg = '#fd8102'
+ break
+ }
+ case data <= 800: {
+ bgColorList.so2colorbg = '#fc0101'
+ break
+ }
+ case data <= 1600: {
+ bgColorList.so2colorbg = '#c00261'
+ break
+ }
+ case data > 1600: {
+ bgColorList.so2colorbg = '#9f012f'
+ break
+ }
+ default:
+ break
+ }
+ } else if (i === 'a21004') {
+ data = Math.floor(Math.floor(JSON.parse(keyName.a21004)
+.toFixed(0)))
+ switch (true) {
+ case data < 0: {
+ bgColorList.no210colorbg = '#999999'
+ break
+ }
+ case data === 0: {
+ bgColorList.no210colorbg = '#688fb1'
+ break
+ }
+ case data <= 40: {
+ bgColorList.no210colorbg = '#00ff01'
+ break
+ }
+ case data <= 80: {
+ bgColorList.no210colorbg = '#fdfe00'
+ break
+ }
+ case data <= 180: {
+ bgColorList.no210colorbg = '#fd8102'
+ break
+ }
+ case data <= 280: {
+ bgColorList.no210colorbg = '#fc0101'
+ break
+ }
+ case data <= 565: {
+ bgColorList.no210colorbg = '#c00261'
+ break
+ }
+ case data > 565: {
+ bgColorList.no210colorbg = '#9f012f'
+ break
+ }
+ default:
+ break
+ }
+ } else if (i === 'a21005') {
+ data = JSON.parse(keyName.a21005)
+.toFixed(3)
+ switch (true) {
+ case data < 0: {
+ bgColorList.cocolorbg = '#999999'
+ break
+ }
+ case data === 0: {
+ bgColorList.cocolorbg = '#688fb1'
+ break
+ }
+ case data <= 2: {
+ bgColorList.cocolorbg = '#00ff01'
+ break
+ }
+ case data <= 4: {
+ bgColorList.cocolorbg = '#fdfe00'
+ break
+ }
+ case data <= 14: {
+ bgColorList.cocolorbg = '#fd8102'
+ break
+ }
+ case data <= 24: {
+ bgColorList.cocolorbg = '#fc0101'
+ break
+ }
+ case data <= 36: {
+ bgColorList.cocolorbg = '#c00261'
+ break
+ }
+ case data > 36: {
+ bgColorList.cocolorbg = '#9f012f'
+ break
+ }
+ default:
+ break
+ }
+ } else if (i === 'a05024') {
+ data = Math.floor(JSON.parse(keyName.a05024))
+ switch (true) {
+ case data < 0: {
+ bgColorList.o3colorbg = '#999999'
+ break
+ }
+ case data === 0: {
+ bgColorList.o3colorbg = '#688fb1'
+ break
+ }
+ case data <= 160: {
+ bgColorList.o3colorbg = '#00ff01'
+ break
+ }
+ case data <= 200: {
+ bgColorList.o3colorbg = '#fdfe00'
+ break
+ }
+ case data <= 300: {
+ bgColorList.o3colorbg = '#fd8102'
+ break
+ }
+ case data <= 400: {
+ bgColorList.o3colorbg = '#fc0101'
+ break
+ }
+ case data <= 800: {
+ bgColorList.o3colorbg = '#c00261'
+ break
+ }
+ case data > 800: {
+ bgColorList.o3colorbg = '#9f012f'
+ break
+ }
+ default:
+ break
+ }
+ } else if (i === 'a99054') {
+ data = JSON.parse(keyName.a99054)
+.toFixed(3)
+ switch (true) {
+ case data < 0: {
+ bgColorList.tvoccolorbg = '#999999'
+ break
+ }
+ case data === 0: {
+ bgColorList.tvoccolorbg = '#688fb1'
+ break
+ }
+ case data <= 0.5: {
+ bgColorList.tvoccolorbg = '#00ff01'
+ break
+ }
+ case data <= 1: {
+ bgColorList.tvoccolorbg = '#fdfe00'
+ break
+ }
+ case data <= 1.5: {
+ bgColorList.tvoccolorbg = '#fd8102'
+ break
+ }
+ case data <= 2: {
+ bgColorList.tvoccolorbg = '#fc0101'
+ break
+ }
+ case data <= 3: {
+ bgColorList.tvoccolorbg = '#c00261'
+ break
+ }
+ case data > 3: {
+ bgColorList.tvoccolorbg = '#9f012f'
+ break
+ }
+ // default:
+ // break
+ }
+ }
+ }
+ return bgColorList
+ },
+ handleClick(data, marker) {
this.$request({
- url: '/govMonitorPoint/queryStateControlStation',
+ url: '/historyFiveMinutely/queryFiveDataByMac',
method: 'get',
params: {
- regionCode: 130900,
- sensorCode: 'a34002',
+ mac: data.mac,
+ chooseTime: this.chooseTime,
+ time: this.nyr,
},
})
.then((res) => {
- // console.log('���������������')
- // console.log(res)
- var gkData = res.data
- var group = L.layerGroup().addTo(this.map)
- for (let i = 0; i < gkData.length; i++) {
- var glat = gkData[i].latitude
- var glng = gkData[i].longitude
- var gIcon = L.icon({
- iconUrl: require('@/assets/icon/gk.png'),
- // iconUrl:require('@/assets/images/tl_PM10.png'),
- iconSize: [55, 55],
- iconAnchor: [13, 21],
- className: 'my-device',
- })
- // ���������������������
- L.marker([glat, glng], {
- icon: gIcon,
- }).addTo(group)
- var myIcon = L.divIcon({
- html: gkData[i].data,
- className: 'my-div-icon-g',
- iconSize: 30,
- })
- L.marker([glat, glng], {
- icon: myIcon,
- }).addTo(group)
+ console.log('res.data', res)
+ if (res.message === '���������������������') {
+ var datafalse = '���������������������'
+ marker.bindPopup(datafalse)
+.openPopup()
+ return
}
+ let colorliststyleBgColor = this.styleBgColor(res.data)
+ console.log('colorliststyleBgColor', colorliststyleBgColor)
+ let deviceDetails = res.data
+ let windDeg = 0
+ let windDir = ''
+ let dushu =
+ !deviceDetails.a01008 === '-'
+ ? JSON.parse(deviceDetails.a01008)
+.toFixed(0)
+ : '-'
+ let level =
+ !deviceDetails.a01007 === '-'
+ ? WWindUtil.windFormatLevel(deviceDetails.a01007)
+ : '-'
+ console.log('level', level)
+ if (deviceDetails.a01008) {
+ var windDirs = Number(
+ deviceDetails.a01008.substr(0, deviceDetails.a01008.length - 1)
+ )
+ // console.log(windDirs)
+ windDeg = windDirs
+ if (windDirs === 0 || windDirs === '-') {
+ windDir = '������'
+ } else if (windDirs > 0 && windDirs < 90) {
+ windDir = '���������'
+ } else if (windDirs === 90) {
+ windDir = '������'
+ } else if (windDirs > 90 && windDirs < 180) {
+ windDir = '���������'
+ } else if (windDirs === 180) {
+ windDir = '������'
+ } else if (windDirs > 180 && windDirs < 270) {
+ windDir = '���������'
+ } else if (windDirs === 270) {
+ windDir = '������'
+ } else if (windDirs > 270 && windDirs < 360) {
+ windDir = '���������'
+ }
+ }
+ // ������������������������������
+ let html = ` <div data-reactroot="" class="marker_maptip">
+ <div class="marker_title_1nQ">
+ <span>������������</span>
+ </div>
+ <div class="marker_firstline_2WH">
+ <div class="marker_citypart_keg">
+ <div class="marker_name_small_1VU">${deviceDetails.name}</div>
+ <div class="marker_time_w5m">${deviceDetails.dataTime}</div>
+ </div>
+ <div class="marker_indexpart_2UI">
+ <div
+ class="marker_indexname_3TP"
+ style="color: black;background:${
+ colorliststyleBgColor.tvoccolorbg
+ }"
+ >
+ TVOC
+ </div>
+ <div class="marker_indexvalue_1O7">
+ ${this.handleCutZero(deviceDetails.a99054)}
+ </div>
+ </div>
+ </div>
+ <div class="marker_secondline_2Om">
+ <div class="marker_item_2Kk">
+ <div
+ class="marker_itemname_Wq5"
+ style="color: black;background:${
+ colorliststyleBgColor.pm25colorbg
+ } "
+ >
+ PM2.5
+ </div>
+ <div class="marker_itemvalue_1l1">
+ ${this.handleCutZero(deviceDetails.a34004)}
+ </div>
+ </div>
+ <div class="marker_item_2Kk">
+ <div
+ class="marker_itemname_Wq5"
+ style="color: black;background:${
+ colorliststyleBgColor.pm10colorbg
+ }"
+ >
+ PM10
+ </div>
+ <div class="marker_itemvalue_1l1">
+ ${this.handleCutZero(deviceDetails.a34002)}
+ </div>
+ </div>
+ <div class="marker_item_2Kk">
+ <div
+ class="marker_itemname_Wq5"
+ style="color: black;background:${
+ colorliststyleBgColor.so2colorbg
+ }"
+ >
+ SO2
+ </div>
+ <div class="marker_itemvalue_1l1">
+ ${this.handleCutZero(deviceDetails.a21026)}
+ </div>
+ </div>
+ <div class="marker_item_2Kk">
+ <div
+ class="marker_itemname_Wq5"
+ style="color: black;background:${
+ colorliststyleBgColor.no210colorbg
+ }"
+ >
+ NO2
+ </div>
+ <div class="marker_itemvalue_1l1">
+ ${this.handleCutZero(deviceDetails.a21004)}
+ </div>
+ </div>
+ <div class="marker_item_2Kk">
+ <div
+ class="marker_itemname_Wq5"
+ style="color: black;background:${
+ colorliststyleBgColor.cocolorbg
+ }"
+ >
+ CO
+ </div>
+ <div class="marker_itemvalue_1l1">
+ ${this.handleCutZero(deviceDetails.a21005)}
+ </div>
+ </div>
+ <div class="marker_item_2Kk">
+ <div
+ class="marker_itemname_Wq5"
+ style="color: black; background:${
+ colorliststyleBgColor.o3colorbg
+ }"
+ >
+ O3
+ </div>
+ <div class="marker_itemvalue_1l1">
+ ${this.handleCutZero(deviceDetails.a05024)}
+ </div>
+ </div>
+ </div>
+ <div class='windBox'>
+ <div style="position: relative;width: 50%;text-align: center;color: #999;border-right: 1px dotted #999;" clss='windIcon'>
+ <img style="width:140px; height:140px" src=${this.compassBg}>
+ <img style="width: 40px;height: 40px;position: absolute;left: 53%;top: 47%;transform: translate(-50%, -50%) rotate(${windDeg}deg)"
+ src=${this.compassDirection}
+ >
+ </div>
+ <div class='windInfor'>
+ <div>������: ${windDir} (${dushu}���)</div>
+ <div>������: ${deviceDetails.a01007}m/s</div>
+ <div>������: ${level}</div>
+ </div>
+ </div>
+
+ </div>`
+ marker.bindPopup(html, { className: 'mypopup' })
+.openPopup()
})
.catch((err) => {
console.log(err)
})
},
- // ������������������������
- toggleWindState() {
- if (this.ws) {
- this.ws.close()
+ handleCutZero(data) {
+
+ let num = data.substring(0,data.indexOf(".")+4);
+ //������������ ������������������������
+ // let num = Number(data).toFixed(3).toString()
+ let newstr = num
+ //������������ ������������������
+ let leng = num.length - num.indexOf('.') - 1
+ //���������������������
+ if (num.indexOf('.') > -1) {
+ //������������������
+ for (let i = leng; i > 0; i--) {
+ //������newstr���������0
+ if (
+ newstr.lastIndexOf('0') > -1 &&
+ newstr.substr(newstr.length - 1, 1) === 0
+ ) {
+ let k = newstr.lastIndexOf('0')
+ //������������������������������0 ���������������
+ if (newstr.charAt(k - 1) === '.') {
+ return newstr.substring(0, k - 1)
+ } else {
+ //������ ������������0
+ newstr = newstr.substring(0, k)
+ }
+ } else {
+ //������������������0
+ return newstr
+ }
+ }
}
- if (this.windState === 2) {
- this.windState = 1
- this.windStateText = '���������'
- this.initData()
- // console.log(this.windState)
- } else if (this.windState === 1) {
- this.windState = 2
- this.windStateText = '���������'
- this.windDir()
- // console.log(this.windState)
- }
+ return num
+ },
+ getMarkerInfor(data, marker) {
+ this.$request({
+ url: '/historyFiveMinutely/queryPopDataByMac',
+ method: 'get',
+ params: {
+ mac: data.mac,
+ chooseTime: this.chooseTime,
+ time: this.nyr,
+ },
+ })
+ .then((res) => {
+ if (res.message === '���������������������') {
+ var datafalse = '���������������������'
+ this.bindPopup(datafalse)
+.openPopup()
+ return
+ }
+ for (const key in res.data) {
+ var tempDecimal = res.data[key].replace(/[^\d.]/g, '')
+.split('.')[1]
+ if (key !== '������' && key !== '������') {
+ if (Number(tempDecimal) === 0) {
+ res.data[key] =
+ parseInt(res.data[key]) + res.data[key].split(' ')[1]
+ } else {
+ res.data[key] =
+ Number(res.data[key].split(' ')[0])
+.toFixed(2) +
+ res.data[key].split(' ')[1]
+ }
+ }
+ }
+ var data = JSON.stringify(res.data)
+ .replace(/,/g, `<br>`)
+ .replace(/{|}|"/g, '')
+ console.log(data)
+ marker.bindPopup(data)
+.openPopup()
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ return data
},
// ���������������
windDir() {
@@ -1483,7 +1718,8 @@
// ���������������������������
if (
!layer._container &&
- ('' + $(layer._container).attr('class')).replace(/\s/g, '') !==
+ ('' + $(layer._container)
+.attr('class')).replace(/\s/g, '') !==
'leaflet-layer'
) {
layer.remove()
@@ -1492,68 +1728,27 @@
}
// ���������������������������
this.deviceMaker()
- // ������ws������
- // this.wsStart()
- // this.initWebpack()
- // console.log('������ws���������������������')
- // console.log(this.accountId, this.orgId, this.regionCode)
- // this.timer2 = setInterval(() => {
- // if (this.ws) {
- // this.ws.close()
- // console.log('ws������������')
- // }
- // // ������ws������
- // this.wsStart()
- // console.log('ws������������')
- // }, 60000)
},
// ���������������������regionCode���������������api������
getRegionApiRequest() {
- // console.log(this.$store.state.regionCode)
- // this.ws.close()
- // console.log('ws������')
- // ������������������������
- this.getParamsData()
+ this.getParamsData(true)
setTimeout(() => {
$.getJSON(
- 'http://47.99.64.149:8080/screen_api_v2/screen/windAndDeviceDataByArea',
+ 'http://47.99.64.149:8080/api/screen_api_v2/screen/windAndDeviceDataByArea',
{ monitorPointId: this.$store.state.monitorPointId },
(data) => {
- // ������������������
- // console.log('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
- // console.log(data)
- // this.map.eachLayer(function(layer) {
- // // ���������������������������
- // if (!layer._container && ('' + $(layer._container).attr('class')).replace(/\s/g, '') !== 'leaflet-layer') {
- // layer.remove()
- // }
- // })
this.map.setView([data[2], data[1]], 12)
// console.log('������������')
}
)
}, 1000)
- if (this.windState === 1) {
- // this.ws.close()
- this.initData()
- // console.log('���������������')
- } else if (this.windState === 2) {
- this.windDir()
- // console.log('���������������')
- }
- // ������������������
- // this.deviceMaker()
- // this.getParamsData()
},
// ���������������������������������������
jumpMap(LngLat) {
- // console.log('���������������������')
- // console.log(this.jumpData)
- // console.log(LngLat)
this.map.setView(LngLat, 18)
},
// ������������������������
- getParamsData() {
+ getParamsData(isFirst = true) {
clearInterval(this.timer)
this.timer = setInterval(() => {
this.currentHour()
@@ -1573,33 +1768,42 @@
this.chooseTimeInfo = false
// console.log('else')
}
- // console.log(this.chooseTimeInfo, 'this.chooseTimeInfo ')
- // clearInterval(this.timer)
- if (this.windState === 1) {
- // this.ws.close()
- this.initData()
- // console.log('���������������')
- } else if (this.windState === 2) {
- this.windDir()
- // console.log('���������������')
- }
setTimeout(() => {
- this.change(this.changeColor)
+ console.log('change', isFirst)
+ if (isFirst) {
+ this.windData()
+ this.deviceMaker()
+ } else {
+ this.change(this.changeColor)
+ }
this.times = 300
}, 100)
}
}, 1000)
},
+ findLayer(layerName) {
+ // ������������������������������
+ if (!this.map) {
+ return null
+ }
+ const gisMap_layers = this.map._layers
+ let layer = null
+ for (const i in gisMap_layers) {
+ if (gisMap_layers[i].options.id === layerName) {
+ layer = gisMap_layers[i]
+ }
+ }
+ return layer
+ },
// ���������������������
initMap() {
- // console.log('������index������map������������')
- // console.log(this.weidu)
- // console.log(this.jingdu)
var map = L.map('mapContent', {
+ inertia: false,
minZoom: 2,
maxZoom: 18,
center: [this.weiduNew, this.jingduNew],
zoom: 14,
+ renderer: L.canvas(),
zoomControl: false, // ������������
attributionControl: false, // ���������������logol
crs: L.CRS.EPSG3857, // ���������������������EPSG3857���������������������EPSG3395������������������������ EPSG4326 WGS84
@@ -1607,11 +1811,20 @@
// ������������������
L.tileLayer(
'https://wprd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}'
- ).addTo(map)
- // L.tileLayer(
- // 'http://webrd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}'
- // ).addTo(map)
+ )
+.addTo(map)
this.map = map // data���������������
+ // const that = this
+ // this.map.on('mousedown', function(ev) {
+ // const res = that.findLayer('wmsid')
+ // if (res) {
+ // that.map.removeLayer(res)
+ // }
+ // })
+ // this.map.on('mouseup', function(ev) {
+ // console.log('1111111')
+ // that.canvasWind(this.windJsonData)
+ // })
window.map = map
},
// ������������������������
@@ -1652,24 +1865,21 @@
// ������������������
// this.toggleWindState()
if (this.windState === 1) {
- this.initData()
+ this.deviceMaker()
+ this.windData()
} else if (this.windState === 2) {
this.windDir()
}
},
// ���������������������
initData() {
- // console.log('������������')
- // const that = this
- // ������������������������
- // console.log(this.monitorPointId)
- // ������������������
if (this.map) {
this.map.eachLayer(function (layer) {
// ���������������������������
if (
!layer._container &&
- ('' + $(layer._container).attr('class')).replace(/\s/g, '') !==
+ ('' + $(layer._container)
+.attr('class')).replace(/\s/g, '') !==
'leaflet-layer'
) {
layer.remove()
@@ -1677,11 +1887,7 @@
})
}
this.deviceMaker()
- // console.log('������������������')
- // $.ajaxSettings.async = false
- // for (let i = 0; i < this.monitorPointIds.length; i++) {
this.windData()
- // }
},
// ���������������
windData() {
@@ -1695,59 +1901,54 @@
},
})
.then((res) => {
- // console.log('���������������')
- // console.log(res)
- // if (res.data[0][0].data.length === 0) {
- // this.noneData = true
- // }
- // ������������������
- // var data2 = res.data[0]
- // data2[1].header.parameterNumberName = 'northward_wind'
- // data2[0].header.parameterUnit = 'm.s-1'
- // data2[1].header.parameterUnit = 'm.s-1'
- // data2[0].header.dx = 0.00234842479
- // data2[1].header.dx = 0.00234842479
- // data2[0].header.dy = 0.0018464922
- // data2[1].header.dy = 0.0018464922
- // console.log(data2, 'data2')
- var velocityLayer = L.velocityLayer({
- displayValues: false, // ���������������������������������������������������
- displayOptions: {
- // ������������������
- // velocityType: 'Global Wind',
- velocityType: 'GBR Wind',
- displayPosition: 'bottomleft',
- displayEmptyString: 'No wind data',
- },
- data: res.data[0], // ������ ���������������
- // data: data2,
- // ������������������������������������������
- minVelocity: 0, // ��������������������� m/s ���
- maxVelocity: 8, // ��������������������� m/s ���
- velocityScale: 0.1, // ��������������� ( ������������������������ )
- particleAge: 90, // ������������������������������������������
- lineWidth: 1.5, // ���������������������
- particleMultiplier: 1 / 300, // ��������������������� ������������ ���
- frameRate: 15, // ���������������������
- colorScale: [
- '#A2D839',
- '#7EB530',
- '#6E9F26',
- '#4E7522',
- '#345B1B',
- '#186303',
- '#175103',
- '#053F03',
- ],
- // colorScale: ['#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03']
- })
- velocityLayer.addTo(this.map) // ���������������
- // console.log('������������')
- // console.log(res.data[0])
+ this.windJsonData = res.data[0]
+ return this.windJsonData
})
.catch((err) => {
console.log(err)
})
+ },
+ canvasWind(data) {
+ const res = this.findLayer('wmsid')
+ if (res) {
+ this.map.removeLayer(res)
+ }
+ var velocityLayer = L.velocityLayer({
+ displayValues: false, // ���������������������������������������������������
+ id: 'wmsid',
+ displayOptions: {
+ // ������������������
+ // velocityType: 'Global Wind',
+ velocityType: 'GBR Wind',
+ displayPosition: 'bottomleft',
+ displayEmptyString: 'No wind data',
+ },
+ data: data, // ������ ���������������
+ // data: data2,
+ // ������������������������������������������
+ minVelocity: 0, // ��������������������� m/s ���
+ maxVelocity: 8, // ��������������������� m/s ���
+ velocityScale: 0.1, // ��������������� ( ������������������������ )
+ particleAge: 90, // ������������������������������������������
+ lineWidth: 1.5, // ���������������������
+ particleMultiplier: 1 / 300, // ��������������������� ������������ ���
+ frameRate: 15, // ���������������������
+ colorScale: [
+ '#A2D839',
+ '#7EB530',
+ '#6E9F26',
+ '#4E7522',
+ '#345B1B',
+ '#186303',
+ '#175103',
+ '#053F03',
+ ],
+ // colorScale: ['#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03', '#053F03']
+ })
+ velocityLayer.addTo(this.map) // ���������������
+ setTimeout(() => {
+ this.loading = false
+ }, 1000)
},
// ������������������������������������������������������������������
alertData(n1, n2) {
@@ -1766,7 +1967,8 @@
index: this.factorValue,
alarmType: this.alartValue,
},
- }).then((res) => {
+ })
+.then((res) => {
// console.log('������������')
// console.log(res)
var tempData = res.data
@@ -1824,6 +2026,70 @@
}
this.showOrHidden = !this.showOrHidden
},
+ // ������������������
+ stateControlStation() {
+ // this.$axios.get('monitorPoint/queryStateControlStation', {
+ this.$request({
+ url: '/govMonitorPoint/queryStateControlStation',
+ method: 'get',
+ params: {
+ regionCode: 130900,
+ sensorCode: 'a34002',
+ },
+ })
+ .then((res) => {
+ // console.log('���������������')
+ // console.log(res)
+ var gkData = res.data
+ var group = L.layerGroup()
+.addTo(this.map)
+ for (let i = 0; i < gkData.length; i++) {
+ var glat = gkData[i].latitude
+ var glng = gkData[i].longitude
+ var gIcon = L.icon({
+ iconUrl: require('@/assets/icon/gk.png'),
+ // iconUrl:require('@/assets/images/tl_PM10.png'),
+ iconSize: [55, 55],
+ iconAnchor: [13, 21],
+ className: 'my-device',
+ })
+ // ���������������������
+ L.marker([glat, glng], {
+ icon: gIcon,
+ })
+.addTo(group)
+ var myIcon = L.divIcon({
+ html: gkData[i].data,
+ className: 'my-div-icon-g',
+ iconSize: 30,
+ })
+ L.marker([glat, glng], {
+ icon: myIcon,
+ })
+.addTo(group)
+ }
+ })
+ .catch((err) => {
+ console.log(err)
+ })
+ },
+ // ������������������������
+ toggleWindState() {
+ if (this.ws) {
+ this.ws.close()
+ }
+ if (this.windState === 2) {
+ this.windState = 1
+ this.windStateText = '���������'
+ this.initData()
+ // console.log(this.windState)
+ } else if (this.windState === 1) {
+ this.windState = 2
+ this.windStateText = '���������'
+ this.windDir()
+ // console.log(this.windState)
+ }
+ },
closeAlarmTableVisible() {
this.$store.state.alarmTableVisible = false
},
@@ -1832,6 +2098,7 @@
</script>
<style lang="scss">
+@import './dataModel.css';
html,
body,
#mapContent {
@@ -2070,14 +2337,7 @@
/* padding-left: 10px; */
/* padding-top: 30px; */
}
-.leaflet-popup-content {
- width: 235px !important;
- font-size: 12px;
- -webkit-transform-origin-x: 0;
- z-index: 1000;
- /* -webkit-transform: scale(0.90); */
- /* font-family: ui-serif; */
-}
+
.buttom-left {
/* background-image: url("@/assets/images/tl_PM10.png"); */
position: absolute;
--
Gitblit v1.8.0