(区域json)[datav.aliyun.com/tools/atlas…]
画河南省区域图
loadCityMap: function () {
var me = this;
$.getJSON("/resources/json/henan.json", function (data) {
echarts.registerMap('henan', data);
var chinaGeoCoordMap = {
'三门峡市': [111.181262093, 34.7833199411],
'信阳市': [114.085490993, 32.1285823075],
"南阳市": [112.542841901, 33.0114195691],
'周口市': [114.654101942, 33.6237408181],
"商丘市": [115.641885688, 34.4385886402],
"安阳市": [114.351806508, 36.1102667222],
"平顶山市": [113.300848978, 33.7453014565],
"开封市": [114.351642118, 34.8018541758],
'新乡市': [113.912690161, 35.3072575577],
'洛阳市': [112.447524769, 34.6573678177],
'漯河市': [114.0460614, 33.5762786885],
'濮阳市': [115.026627441, 35.7532978882],
'焦作市': [113.211835885, 35.234607555],
'许昌市': [113.83531246, 34.0267395887],
'郑州市': [113.64964385, 34.7566100641],
'驻马店市': [114.049153547, 32.9831581541],
'鹤壁市': [114.297769838, 35.7554258742]
};
var chinaDatas = [
[{
name: '三门峡市',
value: 1
}], [{
name: '信阳市',
value: 3
}], [{
name: '南阳市',
value: 1
}], [{
name: '周口市',
value: 6
}], [{
name: '商丘市',
value: 0
}], [{
name: '安阳市',
value: 0
}], [{
name: '平顶山市',
value: 0
}], [{
name: '开封市',
value: 9
}], [{
name: '新乡市',
value: 0
}], [{
name: '洛阳市',
value: 5
}], [{
name: '漯河市',
value: 0
}], [{
name: '濮阳市',
value: 0
}], [{
name: '焦作市',
value: 1
}], [{
name: '许昌市',
value: 0
}], [{
name: '郑州市',
value: 0
}], [{
name: '驻马店市',
value: 0
}], [{
name: '鹤壁市',
value: 0
}]
];
var convertData = function (data) {
var res = [];
for (var i = 0; i < data.length; i++) {
var dataItem = data[i];
var toCoord = chinaGeoCoordMap[dataItem[0].name];
var fromCoord = [113.64964385, 34.7566100641];
if (fromCoord && toCoord) {
res.push([{
coord: fromCoord,
value: dataItem[0].value
}, {
coord: toCoord,
}]);
}
}
return res;
};
var series = [];
[['郑州市', chinaDatas]].forEach(function (item, i) {
console.log(item);
series.push({
type: 'lines',
zlevel: 2,
effect: {
show: true,
period: 4, //箭头指向速度,值越小速度越快
trailLength: 0.02, //特效尾迹长度[0,1]值越大,尾迹越长重
symbol: 'arrow', //箭头图标
symbolSize: 5 //图标大小
},
lineStyle: {
normal: {
width: 1, //尾迹线条宽度
opacity: 1, //尾迹线条透明度
curveness: .3 //尾迹线条曲直度
}
},
data: convertData(item[1])
}, {
type: 'effectScatter',
coordinateSystem: 'geo',
zlevel: 2,
rippleEffect: { //涟漪特效
period: 4, //动画时间,值越小速度越快
brushType: 'stroke', //波纹绘制方式 stroke, fill
scale: 4 //波纹圆环最大限制,值越大波纹越大
},
label: {
normal: {
show: true,
position: 'right', //显示位置
offset: [5, 0], //偏移设置
formatter: function (params) {//圆环显示文字
return params.data.name;
},
fontSize: 13
},
emphasis: {
show: true
}
},
symbol: 'circle',
symbolSize: function (val) {
return 5 + val[2] * 5; //圆环大小
},
itemStyle: {
normal: {
show: false,
color: '#1b97db'
}
},
data: item[1].map(function (dataItem) {
return {
name: dataItem[0].name,
value: chinaGeoCoordMap[dataItem[0].name].concat([dataItem[0].value])
};
})
},
//被攻击点
{
type: 'scatter',
coordinateSystem: 'geo',
zlevel: 2,
rippleEffect: {
period: 4,
brushType: 'stroke',
scale: 4
},
label: {
normal: {
show: true,
position: 'right',
//offset:[5, 0],
color: '#09d3eb',
formatter: '{b}',
textStyle: {
color: "#09d3eb"
}
},
emphasis: {
show: true,
color: "#09d3eb"
}
},
symbol: 'pin',
symbolSize: 50,
data: [{
name: item[0],
value: chinaGeoCoordMap[item[0]].concat([10]),
}]
}
);
});
option = {
tooltip: {
trigger: 'item',
backgroundColor: 'rgba(166, 200, 76, 0.82)',
borderColor: '#FFFFCC',
showDelay: 0,
hideDelay: 0,
enterable: true,
transitionDuration: 0,
extraCssText: 'z-index:100',
formatter: function (params, ticket, callback) {
//根据业务自己拓展要显示的内容
var res = "";
var name = params.name;
var value = params.value[params.seriesIndex + 1];
if (value !== undefined) {
res = "<span style='color:#fff;'>" + name + "</span><br/>人数:" + value;
return res;
}
}
},
visualMap: { //图例值控制
// min: 0,
max: 1000,
calculable: true,
show: false,
color: ['#09d3eb'],
textStyle: {
color: '#fff'
}
},
geo: {
map: 'henan',
zoom: .8,
label: {
emphasis: {
show: false
}
},
roam: true, //是否允许缩放
itemStyle: {
normal: {
color: 'rgba(23, 17, 47, .5)', //地图背景色
borderColor: 'rgba(255,255,255,.5)', //省市边界线00fcff 516a89
borderWidth: 2,
// shadowColor: 'rgba(255,135,12, 0.9)',
shadowBlur: 10
},
emphasis: {
color: 'rgba(37, 43, 61, .5)' //悬浮背景
}
}
},
series: series
};
var sellCityMap = echarts.init(document.getElementById('sell_city_map'));
sellCityMap.setOption(option);
});
},
需要引echrt和china is
<script src="/resources/3rd-js/echarts-v3.22/china.js?ver=<%=version%>"></script>
<script src="/resources/3rd-js/echarts-v3.22/echarts.js?ver=<%=version%>"></script>