From d95b36a88357d018f76d926e9074c521eb8335a7 Mon Sep 17 00:00:00 2001 From: lohir <3399054449@qq.com> Date: 星期三, 23 十月 2024 11:24:07 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/screen/components/map3.vue | 203 +++++++++++++++++++++++++++++++------------------- 1 files changed, 125 insertions(+), 78 deletions(-) diff --git a/src/views/screen/components/map3.vue b/src/views/screen/components/map3.vue index 1fbcbf2..58e7adc 100644 --- a/src/views/screen/components/map3.vue +++ b/src/views/screen/components/map3.vue @@ -14,46 +14,87 @@ type: Object, default: {}, }, + platformData: { + type: Object, + default: {}, + }, }, data() { return { myChart: null, // ECharts 瀹炰緥 big: 130, - data: [ + dotData: [ + { + name: '鑷祦浜曞尯', + value: [104.621171408, 29.150000, 300], + platformOnline: true + }, + { + name: '楂樻柊鍖�', + value: [104.780000, 29.19, 300], + platformOnline: true + }, + { + name: '澶у畨鍖�', + value: [104.93805, 29.175946, 300], + platformOnline: true + }, + { + name: '娌挎哗鍖�', + value: [104.78804, 29.100594, 300], + platformOnline: true + }, + { + name: '璐′簳鍖�', + value: [104.46106, 29.101427, 300], + platformOnline: true + }, + { + name: '鑽e幙', + value: [104.2634, 29.2838, 300], + platformOnline: true + }, + { + name: '瀵岄『鍘�', + value: [105.000000, 28.93, 300], + platformOnline: true + } + ], + markData: [ { name: '鑷祦浜曞尯', number: '0', - value: [104.616237686031, 29.081, 300] + value: [104.841471408, 29.860000, 300] }, { name: '楂樻柊鍖�', number: '0', - value: [104.84, 29.405, 300] + value: [104.867237686031, 29.39548885792289, 300] }, { name: '澶у畨鍖�', number: '0', - value: [105.136, 29.30548885792289, 300] + value: [105.17337686031, 29.57948885792289, 300] }, { name: '娌挎哗鍖�', number: '0', - value: [104.956237686031, 29.2, 300] + value: [105.36237686031, 30.30048885792289, 300] }, { name: '璐′簳鍖�', number: '0', - value: [104.436237686031, 29.16048885792289, 300] + value: [104.51037686031, 29.42048885792289, 300] }, { name: '鑽e幙', number: '0', - value: [104.480237686031, 29.40048885792289, 300] + value: [104.25437686031, 29.64048885792289, 300] }, { name: '瀵岄『鍘�', number: '0', - value: [105.12, 29.076, 300] + value: [105.208, 29.185, 300] } ], } @@ -72,11 +113,20 @@ this.getChinData('鑷础甯�', chinaJson) }, updateMapData() { - this.data.forEach(item => { - if (this.geoCoordinates[item.name]) { - item.number = this.geoCoordinates[item.name].score || '0' - } - }) + if (this.geoCoordinates) { + this.markData.forEach(item => { + if (this.geoCoordinates[item.name]) { + item.number = this.geoCoordinates[item.name].score || '0' + } + }) + } + if (this.platformData) { + this.dotData.forEach(item => { + if (this.platformData[item.name]) { + item.platformOnline = this.platformData[item.name].platformOnline + } + }) + } }, updateChart() { if (this.myChart) { @@ -84,7 +134,11 @@ // Update the scatter3D series data const scatterSeries = option.series.find(s => s.type === 'scatter3D' && s.name !== '鏁g偣鍥�'); if (scatterSeries) { - scatterSeries.data = this.data; + scatterSeries.data = this.markData; + } + const dotSeries = option.series.find(s => s.type === 'scatter3D' && s.name === '鏁g偣鍥�'); + if (dotSeries) { + dotSeries.data = this.dotData; } this.myChart.setOption(option); } @@ -105,10 +159,10 @@ type: 'map', map: name, left: '-5%', - top: '5%', - boxWidth: 100, - regionHeight: 2, - zlevel: 5, + top: '20%', + // boxWidth: 100, + regionHeight: 0.8, + zlevel: 10, tooltip: { show: true, @@ -123,7 +177,7 @@ }, label: { - show: true, // (鍦板浘涓婄殑鍩庡競鍚嶇О)鏄惁鏄剧ず鏍囩 + show: false, // (鍦板浘涓婄殑鍩庡競鍚嶇О)鏄惁鏄剧ず鏍囩 distance: 5, formatter: function (params) { return params.name ? params.name : ' ' @@ -136,7 +190,7 @@ emphasis: { label: { - show: true, + show: false, textStyle: { color: '#ffffff' // 楂樹寒鏂囧瓧涓轰寒钃濊壊 } @@ -161,10 +215,11 @@ rotateSensitivity: 0, // 鏃嬭浆 minBeta: -13, maxBeta: -13, + distance: 120, zoomSensitivity: 0, // 缂╂斁 panSensitivity: 0, // 骞崇Щ center: [0, 0, 0], - alpha: 70, // 鍊炬枩瑙掑害 + alpha: 30, // 鍊炬枩瑙掑害 animationDurationUpdate: 1000, // 杩囨浮鍔ㄧ敾鐨勬椂闀� animationEasingUpdate: 'cubicInOut' // 杩囨浮鍔ㄧ敾鐨勭紦鍔ㄦ晥鏋� }, @@ -197,11 +252,11 @@ name: name, type: 'map3D', map: name, - boxWidth: 100, - regionHeight: 2, + // boxWidth: 100, + regionHeight: 0.8, left: '-5%', - top: '5%', - zlevel: 10, + top: '20%', + zlevel: 5, // tooltip: { // show: true, @@ -235,10 +290,11 @@ rotateSensitivity: 0, // 鏃嬭浆 minBeta: -13, maxBeta: -13, + distance: 120, zoomSensitivity: 0, // 缂╂斁 panSensitivity: 0, // 骞崇Щ center: [0, 0, 0], - alpha: 70 // 鍊炬枩瑙掑害 + alpha: 30 // 鍊炬枩瑙掑害 } }, { @@ -250,41 +306,18 @@ silent: true, itemStyle: { - color: '#fc840e', + color: function (param) { + if (param.data.platformOnline) { + return '#04CD44'; + } else { + return '#FF0756'; + } + }, borderWidth: 1, borderColor: '#fff' }, - data: [ - { - name: '鑷祦浜曞尯', - value: [104.665471408, 29.23008885, 300] - }, - { - name: '楂樻柊鍖�', - value: [104.805193, 29.3, 300] - }, - { - name: '澶у畨鍖�', - value: [104.90805, 29.345946, 300] - }, - { - name: '娌挎哗鍖�', - value: [104.80804, 29.200594, 300] - }, - { - name: '璐′簳鍖�', - value: [104.579106, 29.241427, 300] - }, - { - name: '鑽e幙', - value: [104.3534, 29.3538, 300] - }, - { - name: '瀵岄『鍘�', - value: [104.96, 29.08, 300] - } - ] + data: that.dotData }, { type: 'lines3D', @@ -292,50 +325,57 @@ polyline: true, lineStyle: { color: '#a4ddee', - width: 1, - opacity: 1 + width: 2, + opacity: 1, }, data: [ + // 鑷祦浜曠嚎 { coords: [ - [104.665471408, 29.23008885, 300], - [104.6, 29.125, 430] + [104.621171408, 29.150000, 300], + [104.841471408, 29.860000, 335] ] }, + // 楂樻柊鍖虹嚎 { coords: [ - [104.805193, 29.30148885792289, 300], - [104.780237686031, 29.39548885792289, 430] + [104.780000, 29.19, 300], + [104.867237686031, 29.39548885792289, 335] ] }, + // 澶у畨鍖虹嚎 { coords: [ - [104.90805, 29.345946, 300], - [105.056237686031, 29.33548885792289, 430] + [104.93805, 29.175946, 300], + [105.17337686031, 29.57948885792289, 335] ] }, + // 娌挎哗鍖虹嚎 { coords: [ - [104.80804, 29.200594, 300], - [104.906237686031, 29.20048885792289, 430] + [104.78804, 29.100594, 300], + [105.36237686031, 30.30048885792289, 335] ] }, + // 璐′簳鍖虹嚎 { coords: [ - [104.579106, 29.241427, 300], - [104.486237686031, 29.19048885792289, 430] + [104.46106, 29.101427, 300], + [104.51037686031, 29.42048885792289, 335] ] }, + // 鑽e幙绾� { coords: [ - [104.3534, 29.3538, 300], - [104.456237686031, 29.39048885792289, 430] + [104.2634, 29.2838, 300], + [104.25437686031, 29.64048885792289, 335] ] }, + // 瀵岄『绾� { coords: [ - [104.96, 29.08, 300], - [105.05, 29.083, 430] + [105.000000, 28.93, 300], + [105.208, 29.185, 335] ] } ], @@ -355,12 +395,12 @@ coordinateSystem: 'geo3D', symbol: 'circle', symbolSize: 0, - data: that.data, + data: that.markData, itemStyle: { - opacity: 1, + opacity: 0.7, borderWidth: 1, - borderColor: 'a4ddee' + borderColor: 'a4ddee', }, label: { @@ -373,11 +413,11 @@ borderColor: '#a4ddee', borderWidth: 0.5, borderRadius: 5, - padding: [8, 15] + padding: [4, 8] }, formatter: function (params) { - return `{style|${params.data.name}\n寰楀垎锛�${params.data.number}}` + return `{style|${params.data.name} 锛�${params.data.number}}` }, rich: { style: { @@ -404,6 +444,13 @@ this.updateChart(); }, deep: true + }, + platformData: { + handler(newValue) { + this.updateMapData(newValue); + this.updateChart(); + }, + deep: true } }, } -- Gitblit v1.8.0