mirror of
https://gitee.com/AiShiYuShiJiePingXing/bigscreen.git
synced 2026-01-21 05:40:35 +08:00
210 lines
5.2 KiB
JavaScript
210 lines
5.2 KiB
JavaScript
|
||
$(function () {
|
||
map();
|
||
function map() {
|
||
// 基于准备好的dom,初始化echarts实例
|
||
var myChart = echarts.init(document.getElementById('map_1'));
|
||
var data = [
|
||
{name: '华南区', value: 290},//广东 value 可控制圆点大小
|
||
{name: '华东区', value: 200},//江苏
|
||
{name: '华西区', value: 180},//陕西
|
||
{name: '华北区', value: 260}//北京
|
||
];
|
||
var toolTipData = [
|
||
|
||
{name:"华南区",value:[{name:"公司数量",value:195},{name:"设备数量",value:14},{name:"人员数量",value:754}]},
|
||
{name:"华东区",value:[{name:"公司数量",value:75},{name:"设备数量",value:32},{name:"人员数量",value:23}]},
|
||
{name:"华西区",value:[{name:"公司数量",value:21},{name:"设备数量",value:65},{name:"人员数量",value:21}]},
|
||
{name:"华北区",value:[{name:"公司数量",value:1533},{name:"设备数量",value:14},{name:"人员数量",value:82}]},
|
||
|
||
];
|
||
var geoCoordMap = {
|
||
'华南区':[113.263802,23.138215],
|
||
'华东区':[118.790825,32.061636],
|
||
'华西区':[108.954065,34.3457],
|
||
'华北区':[116.383491,39.921771],
|
||
|
||
};
|
||
var convertData = function (data) {
|
||
var res = [];
|
||
for (var i = 0; i < data.length; i++) {
|
||
var geoCoord = geoCoordMap[data[i].name];
|
||
if (geoCoord) {
|
||
res.push({
|
||
name: data[i].name,
|
||
value: geoCoord.concat(data[i].value)
|
||
});
|
||
}
|
||
}
|
||
return res;
|
||
};
|
||
|
||
option = {
|
||
// backgroundColor: '#404a59',
|
||
/*** title: {
|
||
text: '实时行驶车辆',
|
||
subtext: 'data from PM25.in',
|
||
sublink: 'http://www.pm25.in',
|
||
left: 'center',
|
||
textStyle: {
|
||
color: '#fff'
|
||
}
|
||
},**/
|
||
tooltip : {
|
||
trigger: 'item',
|
||
formatter: function(params) {
|
||
|
||
if (typeof(params.value)[2] == "undefined") {
|
||
|
||
var toolTiphtml = ''
|
||
|
||
for(var i = 0;i<toolTipData.length;i++){
|
||
|
||
if(params.name==toolTipData[i].name){
|
||
|
||
toolTiphtml += toolTipData[i].name+':<br>'
|
||
|
||
for(var j = 0;j<toolTipData[i].value.length;j++){
|
||
|
||
toolTiphtml+=toolTipData[i].value[j].name+':'+toolTipData[i].value[j].value+"<br>"
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
console.log(toolTiphtml)
|
||
|
||
// console.log(convertData(data))
|
||
|
||
return toolTiphtml;
|
||
|
||
} else {
|
||
|
||
var toolTiphtml = ''
|
||
|
||
for(var i = 0;i<toolTipData.length;i++){
|
||
|
||
if(params.name==toolTipData[i].name){
|
||
|
||
toolTiphtml += toolTipData[i].name+':<br>'
|
||
|
||
for(var j = 0;j<toolTipData[i].value.length;j++){
|
||
|
||
toolTiphtml+=toolTipData[i].value[j].name+':'+toolTipData[i].value[j].value+"<br>"
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
console.log(toolTiphtml)
|
||
|
||
// console.log(convertData(data))
|
||
|
||
return toolTiphtml;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
},
|
||
|
||
geo: {
|
||
map: 'china',
|
||
label: {
|
||
emphasis: {
|
||
show: false
|
||
}
|
||
},
|
||
roam: true,
|
||
itemStyle: {
|
||
normal: {
|
||
areaColor: '#4c60ff',
|
||
borderColor: '#002097'
|
||
},
|
||
emphasis: {
|
||
areaColor: '#293fff'
|
||
}
|
||
}
|
||
},
|
||
series : [
|
||
{
|
||
name: '',
|
||
type: 'effectScatter',
|
||
|
||
showEffectOn: 'render',
|
||
rippleEffect: {
|
||
brushType: 'stroke'
|
||
},
|
||
coordinateSystem: 'geo',
|
||
data: convertData(data),
|
||
symbolSize: function (val) {
|
||
return val[2] / 15;
|
||
},
|
||
label: {
|
||
normal: {
|
||
formatter: '{b}',
|
||
position: 'right',
|
||
show: true
|
||
},
|
||
emphasis: {
|
||
show: true
|
||
}
|
||
},
|
||
itemStyle: {
|
||
normal: {
|
||
color: '#ffeb7b'
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
,
|
||
{
|
||
name: 'Top 5',
|
||
type: 'effectScatter',
|
||
coordinateSystem: 'geo',
|
||
data: convertData(data.sort(function (a, b) {
|
||
return b.value - a.value;
|
||
}).slice(0, 6)),
|
||
symbolSize: function (val) {
|
||
return val[2] / 20;
|
||
},
|
||
showEffectOn: 'render',
|
||
rippleEffect: {
|
||
brushType: 'stroke'
|
||
},
|
||
hoverAnimation: true,
|
||
label: {
|
||
normal: {
|
||
formatter: '{b}',
|
||
position: 'right',
|
||
show: true
|
||
}
|
||
},
|
||
itemStyle: {
|
||
normal: {
|
||
color: '#ffd800',
|
||
shadowBlur: 10,
|
||
shadowColor: 'rgba(0,0,0,.3)'
|
||
}
|
||
},
|
||
zlevel: 1
|
||
}
|
||
**/
|
||
]
|
||
};
|
||
|
||
myChart.setOption(option);
|
||
window.addEventListener("resize",function(){
|
||
myChart.resize();
|
||
});
|
||
}
|
||
|
||
})
|
||
|