From 5a89d1419c65c49268d3094c6aa75fa29e474a62 Mon Sep 17 00:00:00 2001 From: quanyawei <401863037@qq.com> Date: Fri, 22 Dec 2023 14:12:25 +0800 Subject: [PATCH] fix:热力图播放 --- src/views/hotMap/index.vue | 166 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 103 insertions(+), 63 deletions(-) diff --git a/src/views/hotMap/index.vue b/src/views/hotMap/index.vue index 87e56fc..f68d0a0 100644 --- a/src/views/hotMap/index.vue +++ b/src/views/hotMap/index.vue @@ -118,13 +118,13 @@ maxNumber: 500, src: require('@/assets/images/tl_PM10.png'), gradient: { - '0': '#12a112', - '0.1': '#12a112', - '0.3': '#feff01', - '0.5': '#fd8200', - '0.7': '#fd0001', - '0.84': '#95014b', - '1': '#7e0226' + 0: '#12a112', + 0.1: '#12a112', + 0.3: '#feff01', + 0.5: '#fd8200', + 0.7: '#fd0001', + 0.84: '#95014b', + 1: '#7e0226' }}, sensorArr: [ { code: 'a34002', @@ -132,91 +132,93 @@ maxNumber: 500, src: require('@/assets/images/tl_PM10.png'), gradient: { - '0': '#12a112', - '0.1': '#12a112', - '0.3': '#feff01', - '0.5': '#fd8200', - '0.7': '#fd0001', - '0.84': '#95014b', - '1': '#7e0226' + 0: '#12a112', + 0.1: '#12a112', + 0.3: '#feff01', + 0.5: '#fd8200', + 0.7: '#fd0001', + 0.84: '#95014b', + 1: '#7e0226' }}, { code: 'a34004', name: 'PM2.5', maxNumber: 350, src: require('@/assets/images/tl_PM2.5.png'), gradient: { - '0': '#12a112', - '0.1': '#12a112', - '0.21': '#feff01', - '0.32': '#fd8200', - '0.42': '#fd0001', - '0.71': '#95014b', - '1': '#7e0226' + 0: '#12a112', + 0.1: '#12a112', + 0.21: '#feff01', + 0.32: '#fd8200', + 0.42: '#fd0001', + 0.71: '#95014b', + 1: '#7e0226' } }, { code: 'a21026', name: 'SO2', - maxNumber: 1000, + maxNumber: 150, src: require('@/assets/images/tl_SO2.png'), gradient: { - '0': '#12a112', - '0.05': '#12a112', - '0.15': '#feff01', - '0.47': '#fd8200', - '0.8': '#fd0001', - '0.9': '#95014b', - '1': '#7e0226' - } }, + 1: '#feff01', + 0.3: '#12a112', + } + }, { code: 'a21004', name: 'NO2', - maxNumber: 750, + maxNumber: 400, src: require('@/assets/images/tl_NO2.png'), gradient: { - '0': '#12a112', - '0.05': '#12a112', - '0.1': '#feff01', - '0.24': '#fd8200', - '0.37': '#fd0001', - '0.75': '#95014b', - '1': '#7e0226' + 0: '#12a112', + 0.1: '#12a112', + 0.15: '#feff01', + 0.19: '#feff01', + 0.20: '#fd8200', + 0.25: '#fd8200', + 0.45: '#fd8200', + 0.5: '#fd0001', + 0.7: '#95014b', + 1: '#7e0226' }}, { code: 'a21005', name: 'CO', maxNumber: 48, src: require('@/assets/images/tl_CO.png'), gradient: { - '0.0': '#12a112', - '0.04': '#12a112', - '0.083': '#feff01', - '0.29': '#fd8200', - '0.5': '#fd0001', - '0.75': '#95014b', - '1': '#7e0226' + 0.0: '#12a112', + 0.04: '#12a112', + 0.083: '#feff01', + 0.29: '#fd8200', + 0.5: '#fd0001', + 0.75: '#95014b', + 1: '#7e0226' }}, { code: 'a05024', name: 'O3', - maxNumber: 1000, + maxNumber: 500, src: require('@/assets/images/tl_O3.png'), gradient: { - '0': '#12a112', - '0.16': '#12a112', - '0.2': '#feff01', - '0.3': '#fd8200', - '0.4': '#fd0001', - '0.8': '#95014b', - '1': '#7e0226' + 0: '#12a112', + 0.32: '#12a112', + 0.33: '#feff01', + 0.4: '#feff01', + 0.41: '#fd8200', + 0.6: '#fd8200', + 0.61: '#fd0001', + 0.8: '#fd0001', + 0.9: '#95014b', + 1: '#7e0226' } }, { code: 'a99054', name: 'TVOC', maxNumber: 4, src: require('@/assets/images/tl_TVOCNew.png'), gradient: { - '0': '#12a112', - '0.12': '#12a112', - '0.25': '#feff01', - '0.375': '#fd8200', - '0.5': '#fd0001', - '0.75': '#95014b', - '1': '#7e0226' + 0: '#12a112', + 0.12: '#12a112', + 0.25: '#feff01', + 0.375: '#fd8200', + 0.5: '#fd0001', + 0.75: '#95014b', + 1: '#7e0226' }} ], heatMapData: [], @@ -380,6 +382,7 @@ } this.heatMapData = [] this.heatMapData = res.data + this.dataProcessing() this.heatmap.setDataSet({ data: this.heatMapData, max: this.selectSensor.maxNumber @@ -393,6 +396,43 @@ .catch(err => { console.log(err) }) + }, + dataProcessing () { + // ��������������� + const max = this.heatMapData.reduce((prev, current) => (prev.count > current.count ? prev : current)).count + // so2 + if (this.selectSensor.code === 'a21026') { + if (max > 150 && max <= 475) { + this.selectSensor.maxNumber = 475 + this.heatmap.setOptions({ + gradient: { + 0.1: '#12a112', + 0.2: '#feff01', + 0.3: '#feff01', + 0.32: '#fd8200', + 0.4: '#fd8200', + 1: '#fd8200' + } + }) + } + if (max > 475 && max <= 1000) { + this.selectSensor.maxNumber = 1000 + this.heatmap.setOptions({ + gradient: { + 0: '#12a112', + 0.05: '#12a112', + 0.15: '#feff01', + 0.47: '#fd8200', + 0.5: '#fd0001', + 0.8: '#fd0001', + 0.9: '#95014b', + 1: '#7e0226' + } + }) + } + } else if (this.selectSensor.code === 'a05024') { + if (max > 150 && max <= 475) {} + } }, // ��������� setMarkers (curData) { @@ -502,7 +542,7 @@ this.map.plugin(['AMap.Heatmap'], function () { // ���������heatmap������ that.heatmap = new AMap.Heatmap(that.map, { - radius: 130, // ������������ + radius: 100, // ������������ opacity: [0.5, 1], gradient: that.selectSensor.gradient }) @@ -511,10 +551,10 @@ onSubmit () { if (!!this.formInline.city && !!this.formInline.starTime && !!this.formInline.endTime) { - this.map.clearMap() + // this.map.clearMap() this.getDayListData() this.getData(this.formInline.starTime) - this.init1() + // this.init1() // this.map.setZoom(12) } else { this.$message({ -- Gitblit v1.8.0