You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
243 lines
6.2 KiB
243 lines
6.2 KiB
|
|
function echarts_map() {
|
|
var myChart = echarts.init(document.getElementById('map_1'));
|
|
var guangdong = "js/44.json";
|
|
$.get(guangdong, function(tjJson) {
|
|
echarts.registerMap('guangdong', tjJson);
|
|
myChart.setOption({
|
|
series: [{
|
|
type: 'map',
|
|
map: 'guangdong'
|
|
}]
|
|
});
|
|
|
|
var geoCoordMap = {
|
|
'珠海市': [113.353986,21.924979]
|
|
,'广州市':[113.480637,23.125178]
|
|
,'湛江市':[110.264977,21.274898]
|
|
,'茂名市':[110.919229,21.659751]
|
|
,'阳江市':[111.825107,21.859222]
|
|
,'云浮市':[112.044439,22.629801]
|
|
,'肇庆市':[112.472529,23.051546]
|
|
,'江门市':[112.894942,22.090431]
|
|
,'中山市':[113.382391,22.321113]
|
|
,'佛山市':[113.022717,22.828762]
|
|
,'清远市':[113.051227,23.685022]
|
|
,'韶关市':[113.601224,24.820603]
|
|
,'河源市':[114.897802,23.746266]
|
|
,'梅州市':[116.117582,24.099112]
|
|
,'潮州市':[116.692301,23.661701]
|
|
,'揭阳市':[116.255733,23.143778]
|
|
,'汕头市':[116.708463,22.87102]
|
|
,'汕尾市':[115.364238,22.774485]
|
|
,'深圳市':[114.085947,22.347]
|
|
,'东莞市':[113.746262,22.746237]
|
|
,'惠州市':[114.412599,23.079404]
|
|
};
|
|
var goData = [{
|
|
name: '河源市',
|
|
value: 32
|
|
},{
|
|
name: '湛江市',
|
|
value: 24
|
|
},{
|
|
name: '韶关市',
|
|
value: 20
|
|
},{
|
|
name: '汕尾市',
|
|
value: 18
|
|
},{
|
|
name: '揭阳市',
|
|
value: 18
|
|
}
|
|
];
|
|
var goTotal=0;//计算总人数
|
|
goData.forEach(function(item,i){
|
|
goTotal+=item.value;
|
|
})
|
|
|
|
var planePath = 'arrow';
|
|
|
|
var convertData = function(name, data) {
|
|
var res = [];
|
|
for (var i = 0; i < data.length; i++) {
|
|
var fromCoord = geoCoordMap[name];
|
|
var toCoord = geoCoordMap[data[i].name];
|
|
if (fromCoord && toCoord) {
|
|
res.push({
|
|
//对换即可调整方向
|
|
coords: [fromCoord, toCoord]
|
|
});
|
|
}
|
|
}
|
|
return res;
|
|
};
|
|
var series = [];
|
|
[
|
|
['广州市', goData],
|
|
// ['徐州', backData],
|
|
|
|
].forEach(function(item, i) {
|
|
series.push({
|
|
name: item[0],
|
|
type: 'lines',
|
|
zlevel: 2,
|
|
//线特效配置
|
|
effect: {
|
|
show: true,
|
|
period: 6,
|
|
trailLength: 0.1,
|
|
symbol: planePath, //标记类型
|
|
symbolSize: 10
|
|
},
|
|
lineStyle: {
|
|
normal: {
|
|
width: 1,
|
|
opacity: 0.4,
|
|
curveness: 0.2, //弧线角度
|
|
color: 'rgba(255,255,255,.1)'
|
|
}
|
|
},
|
|
data: convertData(item[0], item[1])
|
|
}, { //终点
|
|
name: item[0],
|
|
type: 'scatter',
|
|
coordinateSystem: 'geo',
|
|
zlevel: 2,
|
|
label: {
|
|
normal: {
|
|
show: true,
|
|
color: 'rgba(255,255,255,.5)',
|
|
position: 'right',
|
|
formatter: '{b}'
|
|
}
|
|
},
|
|
symbol: 'circle',
|
|
//圆点大小
|
|
symbolSize: function(val) {
|
|
return val[2]*50 / goTotal;
|
|
},
|
|
itemStyle: {
|
|
normal: {
|
|
show: true
|
|
}
|
|
},
|
|
data: item[1].map(function(dataItem) {
|
|
console.log(dataItem)
|
|
return {
|
|
name: dataItem.name,
|
|
value: geoCoordMap[dataItem.name].concat([dataItem.value])
|
|
};
|
|
})
|
|
|
|
}, {//起点
|
|
name: 'item[0]',
|
|
type: 'scatter',
|
|
coordinateSystem: 'geo',
|
|
zlevel: 2,
|
|
label: {
|
|
normal: {
|
|
show: true,
|
|
position: 'right',
|
|
formatter: '{b}'
|
|
}
|
|
},
|
|
symbolSize: function(val) {
|
|
return 15;
|
|
},
|
|
symbol: 'circle',
|
|
|
|
itemStyle: {
|
|
normal: {
|
|
show: true
|
|
}
|
|
},
|
|
data: [{
|
|
name: item[0],
|
|
value: geoCoordMap[item[0]].concat([100])
|
|
}]
|
|
|
|
})
|
|
|
|
});
|
|
|
|
|
|
option = {
|
|
// backgroundColor: '#FDF7F2',
|
|
title: {
|
|
text: '业务覆盖',
|
|
subtext: '2016-2018年数据',
|
|
left: 'center',
|
|
top:'0',
|
|
textStyle: {
|
|
color: '#fff',
|
|
fontSize:24,
|
|
}
|
|
},
|
|
|
|
tooltip: {
|
|
trigger: 'item',
|
|
formatter: "{b}"
|
|
},
|
|
//线颜色及飞行轨道颜色
|
|
visualMap: {
|
|
show: false,
|
|
min: 0,
|
|
max: 100,
|
|
color: ['#fff']
|
|
},
|
|
//地图相关设置
|
|
geo: {
|
|
map: 'guangdong',
|
|
//视角缩放比例
|
|
zoom: 1,
|
|
//显示文本样式
|
|
label: {
|
|
normal: {
|
|
show: true,
|
|
textStyle: {
|
|
color: 'rgba(255,255,255,.3)'
|
|
}
|
|
},
|
|
emphasis: {
|
|
textStyle: {
|
|
color: '#fff'
|
|
}
|
|
}
|
|
},
|
|
//鼠标缩放和平移
|
|
roam: false,
|
|
itemStyle: {
|
|
normal: {
|
|
areaColor: '#4256ff',
|
|
borderColor: '#404a59'
|
|
},
|
|
emphasis: {
|
|
areaColor: '#2539f5'
|
|
}
|
|
}
|
|
},
|
|
series: series
|
|
};
|
|
|
|
myChart.setOption(option);
|
|
window.addEventListener("resize",function(){
|
|
myChart.resize();
|
|
});
|
|
})
|
|
|
|
|
|
// 使用刚指定的配置项和数据显示图表。
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$(window).load(function(){
|
|
echarts_map()
|
|
})
|
|
// })
|
|
|
|
|