点击中国地图有数值的省份点可以进入该省份地图
配置项如下
var uploadedDataURL = {
"山东": [
117,
36.65
],
"山西": [
112.55,
37.87
],
"黑龙江": [
126.63,
45.75
],
"吉林": [
125.35,
43.88
],
"辽宁": [
123.38,
41.8
],
"河北": [
114.48,
38.03
],
"河南": [
113.65,
34.76
],
"安徽": [
117.27,
31.86
],
"湖北": [
114.31,
30.52
],
"湖南": [
113,
28.21
],
"陕西": [
108.95,
34.27
],
"四川": [
104.06,
30.67
],
"贵州": [
106.71,
26.57
],
"云南": [
102.73,
25.04
],
"江苏": [
118.78,
32.04
],
"福建": [
119.3,
26.08
],
"浙江": [
120.19,
30.26
],
"江西": [
115.89,
28.68
],
"广东": [
113.23,
23.16
],
"广西壮族自治": [
110.28,
25.29
],
"海南": [
110.35,
20.02
],
"甘肃": [
103.73,
36.03
],
"西藏": [
91.11,
29.97
],
"新疆维吾尔自治": [
87.68,
43.77
],
"内蒙古自治": [
111.65,
40.82
],
"海门": [
121.15,
31.89
],
"鄂尔多斯": [
109.781327,
39.608266
],
"招远": [
120.38,
37.35
],
"舟山": [
122.207216,
29.985295
],
"齐齐哈尔": [
123.97,
47.33
],
"盐城": [
120.13,
33.38
],
"赤峰": [
118.87,
42.28
],
"青岛": [
120.33,
36.07
],
"乳山": [
121.52,
36.89
],
"金昌": [
102.188043,
38.520089
],
"泉州": [
118.58,
24.93
],
"莱西": [
120.53,
36.86
],
"日照": [
119.46,
35.42
],
"胶南": [
119.97,
35.88
],
"南通": [
121.05,
32.08
],
"拉萨": [
91.11,
29.97
],
"云浮": [
112.02,
22.93
],
"梅州": [
116.1,
24.55
],
"文登": [
122.05,
37.2
],
"上海": [
121.48,
31.22
],
"攀枝花": [
101.718637,
26.582347
],
"威海": [
122.1,
37.5
],
"承德": [
117.93,
40.97
],
"厦门": [
118.1,
24.46
],
"汕尾": [
115.375279,
22.786211
],
"潮州": [
116.63,
23.68
],
"丹东": [
124.37,
40.13
],
"太仓": [
121.1,
31.45
],
"曲靖": [
103.79,
25.51
],
"烟台": [
121.39,
37.52
],
"福州": [
119.3,
26.08
],
"瓦房店": [
121.979603,
39.627114
],
"即墨": [
120.45,
36.38
],
"抚顺": [
123.97,
41.97
],
"玉溪": [
102.52,
24.35
],
"张家口": [
114.87,
40.82
],
"阳泉": [
113.57,
37.85
],
"莱州": [
119.942327,
37.177017
],
"湖州": [
120.1,
30.86
],
"汕头": [
116.69,
23.39
],
"昆山": [
120.95,
31.39
],
"宁波": [
121.56,
29.86
],
"湛江": [
110.359377,
21.270708
],
"揭阳": [
116.35,
23.55
],
"荣成": [
122.41,
37.16
],
"连云港": [
119.16,
34.59
],
"葫芦岛": [
120.836932,
40.711052
],
"常熟": [
120.74,
31.64
],
"东莞": [
113.75,
23.04
],
"河源": [
114.68,
23.73
],
"淮安": [
119.15,
33.5
],
"泰州": [
119.9,
32.49
],
"南宁": [
108.33,
22.84
],
"营口": [
122.18,
40.65
],
"惠州": [
114.4,
23.09
],
"江阴": [
120.26,
31.91
],
"蓬莱": [
120.75,
37.8
],
"韶关": [
113.62,
24.84
],
"嘉峪关": [
98.289152,
39.77313
],
"广州": [
113.23,
23.16
],
"延安": [
109.47,
36.6
],
"太原": [
112.53,
37.87
],
"清远": [
113.01,
23.7
],
"中山": [
113.38,
22.52
],
"昆明": [
102.73,
25.04
],
"寿光": [
118.73,
36.86
],
"盘锦": [
122.070714,
41.119997
],
"长治": [
113.08,
36.18
],
"深圳": [
114.07,
22.62
],
"珠海": [
113.52,
22.3
],
"宿迁": [
118.3,
33.96
],
"咸阳": [
108.72,
34.36
],
"铜川": [
109.11,
35.09
],
"平度": [
119.97,
36.77
],
"佛山": [
113.11,
23.05
],
"海口": [
110.35,
20.02
],
"江门": [
113.06,
22.61
],
"章丘": [
117.53,
36.72
],
"肇庆": [
112.44,
23.05
],
"大连": [
121.62,
38.92
],
"临汾": [
111.5,
36.08
],
"吴江": [
120.63,
31.16
],
"石嘴山": [
106.39,
39.04
],
"沈阳": [
123.38,
41.8
],
"苏州": [
120.62,
31.32
],
"茂名": [
110.88,
21.68
],
"嘉兴": [
120.76,
30.77
],
"长春": [
125.35,
43.88
],
"胶州": [
120.03336,
36.264622
],
"银川": [
106.27,
38.47
],
"张家港": [
120.555821,
31.875428
],
"三门峡": [
111.19,
34.76
],
"锦州": [
121.15,
41.13
],
"南昌": [
115.89,
28.68
],
"柳州": [
109.4,
24.33
],
"三亚": [
109.511909,
18.252847
],
"自贡": [
104.778442,
29.33903
],
"阳江": [
111.95,
21.85
],
"泸州": [
105.39,
28.91
],
"西宁": [
101.74,
36.56
],
"宜宾": [
104.56,
29.77
],
"呼和浩特": [
111.65,
40.82
],
"成都": [
104.06,
30.67
],
"大同": [
113.3,
40.12
],
"镇江": [
119.44,
32.2
],
"桂林": [
110.28,
25.29
],
"张家界": [
110.479191,
29.117096
],
"宜兴": [
119.82,
31.36
],
"北海": [
109.12,
21.49
],
"西安": [
108.95,
34.27
],
"金坛": [
119.56,
31.74
],
"东营": [
118.49,
37.46
],
"牡丹江": [
129.58,
44.6
],
"遵义": [
106.9,
27.7
],
"绍兴": [
120.58,
30.01
],
"扬州": [
119.42,
32.39
],
"常州": [
119.95,
31.79
],
"潍坊": [
119.1,
36.62
],
"重庆": [
106.54,
29.59
],
"台州": [
121.420757,
28.656386
],
"南京": [
118.78,
32.04
],
"滨州": [
118.03,
37.36
],
"贵阳": [
106.71,
26.57
],
"无锡": [
120.29,
31.59
],
"本溪": [
123.73,
41.3
],
"克拉玛依": [
84.77,
45.59
],
"渭南": [
109.5,
34.52
],
"马鞍山": [
118.48,
31.56
],
"宝鸡": [
107.15,
34.38
],
"焦作": [
113.21,
35.24
],
"句容": [
119.16,
31.95
],
"北京": [
116.46,
39.92
],
"徐州": [
117.2,
34.26
],
"衡水": [
115.72,
37.72
],
"包头": [
110,
40.58
],
"绵阳": [
104.73,
31.48
],
"乌鲁木齐": [
87.68,
43.77
],
"枣庄": [
117.57,
34.86
],
"杭州": [
120.19,
30.26
],
"淄博": [
118.05,
36.78
],
"鞍山": [
122.85,
41.12
],
"溧阳": [
119.48,
31.43
],
"库尔勒": [
86.06,
41.68
],
"安阳": [
114.35,
36.1
],
"开封": [
114.35,
34.79
],
"济南": [
117,
36.65
],
"德阳": [
104.37,
31.13
],
"温州": [
120.65,
28.01
],
"九江": [
115.97,
29.71
],
"邯郸": [
114.47,
36.6
],
"临安": [
119.72,
30.23
],
"兰州": [
103.73,
36.03
],
"沧州": [
116.83,
38.33
],
"临沂": [
118.35,
35.05
],
"南充": [
106.110698,
30.837793
],
"天津": [
117.2,
39.13
],
"富阳": [
119.95,
30.07
],
"泰安": [
117.13,
36.18
],
"诸暨": [
120.23,
29.71
],
"郑州": [
113.65,
34.76
],
"哈尔滨": [
126.63,
45.75
],
"聊城": [
115.97,
36.45
],
"芜湖": [
118.38,
31.33
],
"唐山": [
118.02,
39.63
],
"平顶山": [
113.29,
33.75
],
"邢台": [
114.48,
37.05
],
"德州": [
116.29,
37.45
],
"济宁": [
116.59,
35.38
],
"荆州": [
112.239741,
30.335165
],
"宜昌": [
111.3,
30.7
],
"义乌": [
120.06,
29.32
],
"丽水": [
119.92,
28.45
],
"洛阳": [
112.44,
34.7
],
"秦皇岛": [
119.57,
39.95
],
"株洲": [
113.16,
27.83
],
"石家庄": [
114.48,
38.03
],
"莱芜": [
117.67,
36.19
],
"常德": [
111.69,
29.05
],
"保定": [
115.48,
38.85
],
"湘潭": [
112.91,
27.87
],
"金华": [
119.64,
29.12
],
"岳阳": [
113.09,
29.37
],
"长沙": [
113,
28.21
],
"衢州": [
118.88,
28.97
],
"廊坊": [
116.7,
39.53
],
"菏泽": [
115.480656,
35.23375
],
"合肥": [
117.27,
31.86
],
"武汉": [
114.31,
30.52
],
"大庆": [
125.03,
46.58
]
}
var province = [{
name: '河北',
value: 55,
array: [98, 98, 200, 30]
},
{
name: '福建',
value: 77,
array: [98, 98, 200, 30]
},
{
name: '海南',
value: 100,
array: [98, 98, 200, 30]
},
{
name: '安徽',
value: 100,
array: [98, 98, 200, 30]
},
{
name: '陕西',
value: 100,
array: [98, 98, 200, 30]
},
{
name: '四川',
value: 100,
array: [98, 98, 200, 30]
},
{
name: '内蒙古',
value: 100,
array: [98, 98, 200, 30]
}
]
var city = [{
name: '邯郸',
value: 55,
array: [98, 98, 200, 30]
},
{
name: '邢台',
value: 77,
array: [98, 98, 200, 30]
},
{
name: '廊坊',
value: 100,
array: [98, 98, 200, 30]
},
{
name: '秦皇岛',
value: 60,
array: [98, 98, 200, 30]
},
{
name: '承德',
value: 41,
array: [98, 98, 200, 30]
},
{
name: '石家庄',
value: 35,
array: [98, 98, 200, 30]
},
{
name: '保定',
value: 80,
array: [98, 98, 200, 30]
},
{
name: '张家口',
value: 15,
array: [98, 98, 200, 30]
}
]
var levelList = {
high: {
name: '高危',
min: 66,
max: 100,
color: '#EC2B42'
},
mid: {
name: '中危',
min: 33,
max: 66,
color: '#F5AB32'
},
low: {
name: '低危',
min: 0,
max: 33,
color: '#F7E40E'
}
}
var convertData = function(data) {
var res = []
for (var i = 0; i < data.length; i++) {
var geoCoord = uploadedDataURL[data[i].name]
if (geoCoord) {
var color = levelList.low.color
if (data[i].value >= 0 && data[i].value <= 35) {
color = levelList.low.color
} else if (data[i].value >= 35 && data[i].value <= 80) {
color = levelList.mid.color
} else if (data[i].value >= 80 && data[i].value <= 100) {
color = levelList.high.color
}
res.push({
name: data[i].name,
value: geoCoord.concat(data[i].value),
tipData: data[i].array,
ispProvince: true,
itemStyle: {
normal: {
color: color
}
}
})
}
}
return res
}
var tooltip = {
trigger: 'item',
formatter: function(params) {
// var level = getLevel(params.data.tipData[0])
return `
数值: ${params.data.tipData.join('分,')}分 <br>
`
}
}
option = {
// backgroundColor: '#1b236f',
tooltip: {
trigger: 'item',
backgroundColor: 'rgba(27, 35, 110, 0.8)'
},
geo: {
map: 'china',
// map: '河北',
label: {
emphasis: {
show: false
}
},
zoom: 1,
scaleLimit: {
min: 0.6,
max: 2
},
roam: true,
itemStyle: {
normal: {
areaColor: '#2e539d',
borderColor: '#1b236f'
},
emphasis: {
areaColor: '#2e539d'
}
}
},
series: [
// 风险省份 (不包括 TOP 5)
{
name: '风险统计:',
type: 'scatter',
coordinateSystem: 'geo',
data: convertData(province),
tooltip: tooltip,
label: {
normal: {
formatter: '{b}',
position: 'right',
show: false
},
emphasis: {
show: true
}
}
}
// ,
// 风险省份 TOP 5
// {
// name: '风险统计:',
// type: 'effectScatter',
// coordinateSystem: 'geo',
// zlevel: 2,
// rippleEffect: {
// brushType: 'stroke'
// },
// tooltip: tooltip,
// // symbolSize: function(val) {
// // return val[2] / 5
// // },
// label: {
// normal: {
// show: true,
// formatter: '{b}',
// position: 'right'
// },
// emphasis: {
// show: true
// }
// },
// data: convertData(
// province
// .sort(function(a, b) {
// return b.value - a.value
// })
// .slice(0, 5)
// )
// }
]
}
let names = {
上海: 'shanghai',
河北: 'hebei',
山西: 'shanxi',
内蒙古: 'neimenggu',
辽宁: 'liaoning',
吉林: 'jilin',
黑龙江: 'heilongjiang',
江苏: 'jiangsu',
浙江: 'zhejiang',
安徽: 'anhui',
福建: 'fujian',
江西: 'jiangxi',
山东: 'shandong',
河南: 'henan',
湖北: 'hubei',
湖南: 'hunan',
广东: 'guangdong',
广西: 'guangxi',
海南: 'hainan',
四川: 'sichuan',
贵州: 'guizhou',
云南: 'yunnan',
西藏: 'xizang',
陕西: 'shanxi1',
甘肃: 'gansu',
青海: 'qinghai',
宁夏: 'ningxia',
新疆: 'xinjiang',
北京: 'beijing',
天津: 'tianjin',
重庆: 'chongqing',
香港: 'xianggang',
澳门: 'aomen',
台湾: 'taiwan'
}
myChart.on('click', params => {
console.log(params)
if (params.data && params.data.ispProvince) {
var name = names[params.name] || 'beijing'
var url = `/dep/echarts/map/js/province/${name}.js`;
$.get(url, function() {
option.geo.map = name === 'beijing' ? '北京' : params.name
option.series[0].data = [params.data];
myChart.setOption(option);
});
} else {
option.geo.map = 'china';
option.series[0].data = convertData(province)
myChart.setOption(option);
}
})