From 414212d6d55f8d3e924787bece138ede7e0ab6af Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 28 十月 2024 12:19:33 +0800
Subject: [PATCH] 数据中心视频优化完
---
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