From 3baa66227be11c149fef6bdec5a1401ed2d3d79d Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Mon, 09 Oct 2023 17:28:55 +0800
Subject: [PATCH] fix:风场粒子修改

---
 src/components/Wind/Map.vue |  127 +++++++++++++++++++++++++++---------------
 1 files changed, 81 insertions(+), 46 deletions(-)

diff --git a/src/components/Wind/Map.vue b/src/components/Wind/Map.vue
index 1f75648..d9d8111 100644
--- a/src/components/Wind/Map.vue
+++ b/src/components/Wind/Map.vue
@@ -463,7 +463,8 @@
       chooseTime: false,
       dateInfo: '', // ���������������
       timeInfo: '', // ���������������
-      nyr: '' // ������������������
+      nyr: '', // ������������������
+      windAllDate: []
     }
   },
   computed: {
@@ -479,6 +480,9 @@
     }
   },
   mounted() {
+    this.$nextTick(() => {
+      this.getParamsData()
+    })
     this.currentHour()
     this.$Bus.$on(
       'alarmTableVisible',
@@ -500,7 +504,7 @@
     // ���������������������
     // this.windData()
     // this.change(0)
-    this.getParamsData()
+
     this.windDir()
     this.newDate()
     // this.alertData(this.PageSize, this.currentPage)
@@ -1562,6 +1566,7 @@
     // ������������������������
     getParamsData() {
       clearInterval(this.timer)
+      this.change(this.changeColor)
       this.timer = setInterval(() => {
         this.currentHour()
         this.times--
@@ -1590,13 +1595,24 @@
           // this.windDir()
           // console.log('���������������')
           // }
-          setTimeout(() => {
-            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������������')
@@ -1607,8 +1623,12 @@
         maxZoom: 18,
         center: [this.weiduNew, this.jingduNew],
         zoom: 14,
-        zoomControl: false, // ������������
-        attributionControl: false, // ���������������logol
+        zoomControl: true, // ������������
+        trackResize: true,
+        worldCopyJump: true,
+        dragging: true,
+        inertia: true,
+        attributionControl: true, // ���������������logol
         crs: L.CRS.EPSG3857 // ���������������������EPSG3857���������������������EPSG3395������������������������ EPSG4326 WGS84
       })
       // ������������������
@@ -1618,11 +1638,26 @@
       // 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)
+      const that = this
       this.map = map // data���������������
+
+      this.map.on('moveend', function(ev) {
+        const res = that.findLayer('wmsid')
+        that.map.removeLayer(res)
+        that.openWindCanves()
+      })
+      // this.map.on('viewreset', function() {
+      //   console.log('--->viewreset ���������������������')
+      // })
       window.map = map
     },
     // ������������������������
     change(index) {
+      if (this.windState === 1) {
+        this.initData()
+      } else if (this.windState === 2) {
+        this.windDir()
+      }
       this.changeColor = index
       var pr = ''
       switch (index) {
@@ -1658,11 +1693,6 @@
       this.sensorKey = pr
       // ������������������
       // this.toggleWindState()
-      if (this.windState === 1) {
-        this.initData()
-      } else if (this.windState === 2) {
-        this.windDir()
-      }
     },
     // ���������������������
     initData() {
@@ -1683,11 +1713,11 @@
           }
         })
       }
+      this.windData()
       this.deviceMaker()
       //   console.log('������������������')
       // $.ajaxSettings.async = false
       // for (let i = 0; i < this.monitorPointIds.length; i++) {
-      this.windData()
       // }
     },
     // ���������������
@@ -1702,6 +1732,8 @@
         }
       })
         .then((res) => {
+          this.windAllDate = res.data[0]
+          this.openWindCanves()
           // console.log('���������������')
           // console.log(res)
           // if (res.data[0][0].data.length === 0) {
@@ -1717,38 +1749,6 @@
           // 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])
         })
@@ -1756,6 +1756,41 @@
           console.log(err)
         })
     },
+    openWindCanves() {
+      var velocityLayer = L.velocityLayer({
+        displayValues: true, // ���������������������������������������������������
+        id: 'wmsid',
+        displayOptions: {
+          // ������������������
+          // velocityType: 'Global Wind',
+          velocityType: 'GBR Wind',
+          displayPosition: 'bottomleft',
+          displayEmptyString: 'No wind data'
+        },
+        data: this.windAllDate, // ������  ���������������
+        // 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) // ���������������
+    },
     // ������������������������������������������������������������������
     alertData(n1, n2) {
       // ������������axios���������������������������

--
Gitblit v1.8.0