1 必须引入 echarts.js文件 以及 china.js 点文件才可以执行代码
2 ehcart官方文档有点小恶心,看了半天,好多东西都不是很清楚,必须挨个实验才行,希望对一些初学者来说可以少走一点弯路
2 二话不说上源码,研究了两天搞出来的
3 效果图

1 var dom = document.getElementById("map");
2 var myChart = echarts.init(dom);
3 var app = {};
4 option = null;
5
6 // 省会+直辖市
7 var data = [
8 {name: \'海门\', value: 9},
9 {name: \'鄂尔多斯\', value: 12},
10 {name: \'招远\', value: 12},
11 {name: \'舟山\', value: 12},
12 {name: \'齐齐哈尔\', value: 14},
13 {name: \'盐城\', value: 15},
14 {name: \'赤峰\', value: 16},
15 {name: \'青岛\', value: 18},
16 {name: \'乳山\', value: 18},
17 {name: \'金昌\', value: 19},
18 {name: \'泉州\', value: 21},
19 {name: \'莱西\', value: 21},
20 {name: \'日照\', value: 21},
21 {name: \'胶南\', value: 22},
22 {name: \'南通\', value: 23},
23 {name: \'拉萨\', value: 24},
24 {name: \'云浮\', value: 24},
25 {name: \'梅州\', value: 25},
26 {name: \'文登\', value: 25},
27 {name: \'上海\', value: 25},
28 {name: \'攀枝花\', value: 25},
29 {name: \'威海\', value: 25},
30 {name: \'承德\', value: 25},
31 {name: \'厦门\', value: 26},
32 {name: \'汕尾\', value: 26},
33 {name: \'潮州\', value: 26},
34 {name: \'丹东\', value: 27},
35 {name: \'太仓\', value: 27},
36 {name: \'曲靖\', value: 27},
37 {name: \'烟台\', value: 28},
38 {name: \'福州\', value: 29},
39 {name: \'瓦房店\', value: 30},
40 {name: \'即墨\', value: 30},
41 {name: \'抚顺\', value: 31},
42 {name: \'玉溪\', value: 31},
43 {name: \'张家口\', value: 31},
44 {name: \'阳泉\', value: 31},
45 {name: \'莱州\', value: 32},
46 {name: \'湖州\', value: 32},
47 {name: \'汕头\', value: 32},
48 {name: \'昆山\', value: 33},
49 {name: \'宁波\', value: 33},
50 {name: \'湛江\', value: 33},
51 {name: \'揭阳\', value: 34},
52 {name: \'荣成\', value: 34},
53 {name: \'连云港\', value: 35},
54 {name: \'葫芦岛\', value: 35},
55 {name: \'常熟\', value: 36},
56 {name: \'东莞\', value: 36},
57 {name: \'河源\', value: 36},
58 {name: \'淮安\', value: 36},
59 {name: \'泰州\', value: 36},
60 {name: \'南宁\', value: 37},
61 {name: \'营口\', value: 37},
62 {name: \'惠州\', value: 37},
63 {name: \'江阴\', value: 37},
64 {name: \'蓬莱\', value: 37},
65 {name: \'韶关\', value: 38},
66 {name: \'嘉峪关\', value: 38},
67 {name: \'广州\', value: 38},
68 {name: \'延安\', value: 38},
69 {name: \'太原\', value: 39},
70 {name: \'清远\', value: 39},
71 {name: \'中山\', value: 39},
72 {name: \'昆明\', value: 39},
73 {name: \'寿光\', value: 40},
74 {name: \'盘锦\', value: 40},
75 {name: \'长治\', value: 41},
76 {name: \'深圳\', value: 41},
77 {name: \'珠海\', value: 42},
78 {name: \'宿迁\', value: 43},
79 {name: \'咸阳\', value: 43},
80 {name: \'铜川\', value: 44},
81 {name: \'平度\', value: 44},
82 {name: \'佛山\', value: 44},
83 {name: \'海口\', value: 44},
84 {name: \'江门\', value: 45},
85 {name: \'章丘\', value: 45},
86 {name: \'肇庆\', value: 46},
87 {name: \'大连\', value: 47},
88 {name: \'临汾\', value: 47},
89 {name: \'吴江\', value: 47},
90 {name: \'石嘴山\', value: 49},
91 {name: \'沈阳\', value: 50},
92 {name: \'苏州\', value: 50},
93 {name: \'茂名\', value: 50},
94 {name: \'嘉兴\', value: 51},
95 {name: \'长春\', value: 51},
96 {name: \'胶州\', value: 52},
97 {name: \'银川\', value: 52},
98 {name: \'张家港\', value: 52},
99 {name: \'三门峡\', value: 53},
100 {name: \'锦州\', value: 54},
101 {name: \'南昌\', value: 54},
102 {name: \'柳州\', value: 54},
103 {name: \'三亚\', value: 54},
104 {name: \'自贡\', value: 56},
105 {name: \'吉林\', value: 56},
106 {name: \'阳江\', value: 57},
107 {name: \'泸州\', value: 57},
108 {name: \'西宁\', value: 57},
109 {name: \'宜宾\', value: 58},
110 {name: \'呼和浩特\', value: 58},
111 {name: \'成都\', value: 58},
112 {name: \'大同\', value: 58},
113 {name: \'镇江\', value: 59},
114 {name: \'桂林\', value: 59},
115 {name: \'张家界\', value: 59},
116 {name: \'宜兴\', value: 59},
117 {name: \'北海\', value: 60},
118 {name: \'西安\', value: 61},
119 {name: \'金坛\', value: 62},
120 {name: \'东营\', value: 62},
121 {name: \'牡丹江\', value: 63},
122 {name: \'遵义\', value: 63},
123 {name: \'绍兴\', value: 63},
124 {name: \'扬州\', value: 64},
125 {name: \'常州\', value: 64},
126 {name: \'潍坊\', value: 65},
127 {name: \'重庆\', value: 66},
128 {name: \'台州\', value: 67},
129 {name: \'南京\', value: 67},
130 {name: \'滨州\', value: 70},
131 {name: \'贵阳\', value: 71},
132 {name: \'无锡\', value: 71},
133 {name: \'本溪\', value: 71},
134 {name: \'克拉玛依\', value: 72},
135 {name: \'渭南\', value: 72},
136 {name: \'马鞍山\', value: 72},
137 {name: \'宝鸡\', value: 72},
138 {name: \'焦作\', value: 75},
139 {name: \'句容\', value: 75},
140 {name: \'北京\', value: 79},
141 {name: \'徐州\', value: 79},
142 {name: \'衡水\', value: 80},
143 {name: \'包头\', value: 80},
144 {name: \'绵阳\', value: 80},
145 {name: \'乌鲁木齐\', value: 84},
146 {name: \'枣庄\', value: 84},
147 {name: \'杭州\', value: 84},
148 {name: \'淄博\', value: 85},
149 {name: \'鞍山\', value: 86},
150 {name: \'溧阳\', value: 86},
151 {name: \'库尔勒\', value: 86},
152 {name: \'安阳\', value: 90},
153 {name: \'开封\', value: 90},
154 {name: \'济南\', value: 92},
155 {name: \'德阳\', value: 93},
156 {name: \'温州\', value: 95},
157 {name: \'九江\', value: 96},
158 {name: \'邯郸\', value: 98},
159 {name: \'临安\', value: 99},
160 {name: \'兰州\', value: 99},
161 {name: \'沧州\', value: 100},
162 {name: \'临沂\', value: 103},
163 {name: \'南充\', value: 104},
164 {name: \'天津\', value: 105},
165 {name: \'富阳\', value: 106},
166 {name: \'泰安\', value: 112},
167 {name: \'诸暨\', value: 112},
168 {name: \'郑州\', value: 113},
169 {name: \'哈尔滨\', value: 114},
170 {name: \'聊城\', value: 116},
171 {name: \'芜湖\', value: 117},
172 {name: \'唐山\', value: 119},
173 {name: \'平顶山\', value: 119},
174 {name: \'邢台\', value: 119},
175 {name: \'德州\', value: 120},
176 {name: \'济宁\', value: 120},
177 {name: \'荆州\', value: 127},
178 {name: \'宜昌\', value: 130},
179 {name: \'义乌\', value: 132},
180 {name: \'丽水\', value: 133},
181 {name: \'洛阳\', value: 134},
182 {name: \'秦皇岛\', value: 136},
183 {name: \'株洲\', value: 143},
184 {name: \'石家庄\', value: 147},
185 {name: \'莱芜\', value: 148},
186 {name: \'常德\', value: 152},
187 {name: \'保定\', value: 153},
188 {name: \'湘潭\', value: 154},
189 {name: \'金华\', value: 157},
190 {name: \'岳阳\', value: 169},
191 {name: \'长沙\', value: 175},
192 {name: \'衢州\', value: 177},
193 {name: \'廊坊\', value: 193},
194 {name: \'菏泽\', value: 194},
195 {name: \'合肥\', value: 229},
196 {name: \'武汉\', value: 273},
197 {name: \'大庆\', value: 279}
198 ];
199 // 省会+直辖市坐标数据
200 var geoCoordMap = {
201 \'北京\':[116.46,39.92],
202 \'上海\':[121.48,31.22],
203 \'天津\':[117.2,39.13],
204 \'重庆\':[106.54,29.59],
205 \'合肥\':[117.27,31.86],
206
207 \'海门\':[121.15,31.89],
208 \'鄂尔多斯\':[109.781327,39.608266],
209 \'招远\':[120.38,37.35],
210 \'舟山\':[122.207216,29.985295],
211 \'齐齐哈尔\':[123.97,47.33],
212 \'盐城\':[120.13,33.38],
213 \'赤峰\':[118.87,42.28],
214 \'青岛\':[120.33,36.07],
215 \'乳山\':[121.52,36.89],
216 \'金昌\':[102.188043,38.520089],
217 \'泉州\':[118.58,24.93],
218 \'莱西\':[120.53,36.86],
219 \'日照\':[119.46,35.42],
220 \'胶南\':[119.97,35.88],
221 \'南通\':[121.05,32.08],
222 \'拉萨\':[91.11,29.97],
223 \'云浮\':[112.02,22.93],
224 \'梅州\':[116.1,24.55],
225 \'文登\':[122.05,37.2],
226
227 \'攀枝花\':[101.718637,26.582347],
228 \'威海\':[122.1,37.5],
229 \'承德\':[117.93,40.97],
230 \'厦门\':[118.1,24.46],
231 \'汕尾\':[115.375279,22.786211],
232 \'潮州\':[116.63,23.68],
233 \'丹东\':[124.37,40.13],
234 \'太仓\':[121.1,31.45],
235 \'曲靖\':[103.79,25.51],
236 \'烟台\':[121.39,37.52],
237 \'福州\':[119.3,26.08],
238 \'瓦房店\':[121.979603,39.627114],
239 \'即墨\':[120.45,36.38],
240 \'抚顺\':[123.97,41.97],
241 \'玉溪\':[102.52,24.35],
242 \'张家口\':[114.87,40.82],
243 \'阳泉\':[113.57,37.85],
244 \'莱州\':[119.942327,37.177017],
245 \'湖州\':[120.1,30.86],
246 \'汕头\':[116.69,23.39],
247 \'昆山\':[120.95,31.39],
248 \'宁波\':[121.56,29.86],
249 \'湛江\':[110.359377,21.270708],
250 \'揭阳\':[116.35,23.55],
251 \'荣成\':[122.41,37.16],
252 \'连云港\':[119.16,34.59],
253 \'葫芦岛\':[120.836932,40.711052],
254 \'常熟\':[120.74,31.64],
255 \'东莞\':[113.75,23.04],
256 \'河源\':[114.68,23.73],
257 \'淮安\':[119.15,33.5],
258 \'泰州\':[119.9,32.49],
259 \'南宁\':[108.33,22.84],
260 \'营口\':[122.18,40.65],
261 \'惠州\':[114.4,23.09],
262 \'江阴\':[120.26,31.91],
263 \'蓬莱\':[120.75,37.8],
264 \'韶关\':[113.62,24.84],
265 \'嘉峪关\':[98.289152,39.77313],
266 \'广州\':[113.23,23.16],
267 \'延安\':[109.47,36.6],
268 \'太原\':[112.53,37.87],
269 \'清远\':[113.01,23.7],
270 \'中山\':[113.38,22.52],
271 \'昆明\':[102.73,25.04],
272 \'寿光\':[118.73,36.86],
273 \'盘锦\':[122.070714,41.119997],
274 \'长治\':[113.08,36.18],
275 \'深圳\':[114.07,22.62],
276 \'珠海\':[113.52,22.3],
277 \'宿迁\':[118.3,33.96],
278 \'咸阳\':[108.72,34.36],
279 \'铜川\':[109.11,35.09],
280 \'平度\':[119.97,36.77],
281 \'佛山\':[113.11,23.05],
282 \'海口\':[110.35,20.02],
283 \'江门\':[113.06,22.61],
284 \'章丘\':[117.53,36.72],
285 \'肇庆\':[112.44,23.05],
286 \'大连\':[121.62,38.92],
287 \'临汾\':[111.5,36.08],
288 \'吴江\':[120.63,31.16],
289 \'石嘴山\':[106.39,39.04],
290 \'沈阳\':[123.38,41.8],
291 \'苏州\':[120.62,31.32],
292 \'茂名\':[110.88,21.68],
293 \'嘉兴\':[120.76,30.77],
294 \'长春\':[125.35,43.88],
295 \'胶州\':[120.03336,36.264622],
296 \'银川\':[106.27,38.47],
297 \'张家港\':[120.555821,31.875428],
298 \'三门峡\':[111.19,34.76],
299 \'锦州\':[121.15,41.13],
300 \'南昌\':[115.89,28.68],
301 \'柳州\':[109.4,24.33],
302 \'三亚\':[109.511909,18.252847],
303 \'自贡\':[104.778442,29.33903],
304 \'吉林\':[126.57,43.87],
305 \'阳江\':[111.95,21.85],
306 \'泸州\':[105.39,28.91],
307 \'西宁\':[101.74,36.56],
308 \'宜宾\':[104.56,29.77],
309 \'呼和浩特\':[111.65,40.82],
310 \'成都\':[104.06,30.67],
311 \'大同\':[113.3,40.12],
312 \'镇江\':[119.44,32.2],
313 \'桂林\':[110.28,25.29],
314 \'张家界\':[110.479191,29.117096],
315 \'宜兴\':[119.82,31.36],
316 \'北海\':[109.12,21.49],
317 \'西安\':[108.95,34.27],
318 \'金坛\':[119.56,31.74],
319 \'东营\':[118.49,37.46],
320 \'牡丹江\':[129.58,44.6],
321 \'遵义\':[106.9,27.7],
322 \'绍兴\':[120.58,30.01],
323 \'扬州\':[119.42,32.39],
324 \'常州\':[119.95,31.79],
325 \'潍坊\':[119.1,36.62],
326
327 \'台州\':[121.420757,28.656386],
328 \'南京\':[118.78,32.04],
329 \'滨州\':[118.03,37.36],
330 \'贵阳\':[106.71,26.57],
331 \'无锡\':[120.29,31.59],
332 \'本溪\':[123.73,41.3],
333 \'克拉玛依\':[84.77,45.59],
334 \'渭南\':[109.5,34.52],
335 \'马鞍山\':[118.48,31.56],
336 \'宝鸡\':[107.15,34.38],
337 \'焦作\':[113.21,35.24],
338 \'句容\':[119.16,31.95],
339
340 \'徐州\':[117.2,34.26],
341 \'衡水\':[115.72,37.72],
342 \'包头\':[110,40.58],
343 \'绵阳\':[104.73,31.48],
344 \'乌鲁木齐\':[87.68,43.77],
345 \'枣庄\':[117.57,34.86],
346 \'杭州\':[120.19,30.26],
347 \'淄博\':[118.05,36.78],
348 \'鞍山\':[122.85,41.12],
349 \'溧阳\':[119.48,31.43],
350 \'库尔勒\':[86.06,41.68],
351 \'安阳\':[114.35,36.1],
352 \'开封\':[114.35,34.79],
353 \'济南\':[117,36.65],
354 \'德阳\':[104.37,31.13],
355 \'温州\':[120.65,28.01],
356 \'九江\':[115.97,29.71],
357 \'邯郸\':[114.47,36.6],
358 \'临安\':[119.72,30.23],
359 \'兰州\':[103.73,36.03],
360 \'沧州\':[116.83,38.33],
361 \'临沂\':[118.35,35.05],
362 \'南充\':[106.110698,30.837793],
363
364 \'富阳\':[119.95,30.07],
365 \'泰安\':[117.13,36.18],
366 \'诸暨\':[120.23,29.71],
367 \'郑州\':[113.65,34.76],
368 \'哈尔滨\':[126.63,45.75],
369 \'聊城\':[115.97,36.45],
370 \'芜湖\':[118.38,31.33],
371 \'唐山\':[118.02,39.63],
372 \'平顶山\':[113.29,33.75],
373 \'邢台\':[114.48,37.05],
374 \'德州\':[116.29,37.45],
375 \'济宁\':[116.59,35.38],
376 \'荆州\':[112.239741,30.335165],
377 \'宜昌\':[111.3,30.7],
378 \'义乌\':[120.06,29.32],
379 \'丽水\':[119.92,28.45],
380 \'洛阳\':[112.44,34.7],
381 \'秦皇岛\':[119.57,39.95],
382 \'株洲\':[113.16,27.83],
383 \'石家庄\':[114.48,38.03],
384 \'莱芜\':[117.67,36.19],
385 \'常德\':[111.69,29.05],
386 \'保定\':[115.48,38.85],
387 \'湘潭\':[112.91,27.87],
388 \'金华\':[119.64,29.12],
389 \'岳阳\':[113.09,29.37],
390 \'长沙\':[113,28.21],
391 \'衢州\':[118.88,28.97],
392 \'廊坊\':[116.7,39.53],
393 \'菏泽\':[115.480656,35.23375],
394
395 \'武汉\':[114.31,30.52],
396 \'大庆\':[125.03,46.58]
397 };
398
399 var convertData = function (data) {
400 var res = [];
401 for (var i = 0; i < data.length; i++) {
402 var geoCoord = geoCoordMap[data[i].name];
403 if (geoCoord) {
404 res.push({
405 name: data[i].name,
406 value: geoCoord.concat(data[i].value)
407 });
408 }
409 }
410 return res;
411 };
412
413 // var data = [];
414
415 // $.ajax({
416 // url: \'/customer/provinceusercount\',
417 // async: false,
418 // success: function (data) {
419 // var result = data.result;
420 // var arr = [];
421 // for (var i in result) {
422 // var obj = {name: result[i].province, value: result[i].registNumber};
423 // arr.push(obj);
424 // }
425 // mydata = arr;
426 // }
427 // });
428
429 //地图echarts图
430 var mapchart = echarts.init(document.getElementById(\'map\'));
431 mapchart.setOption({
432 backgroundColor: \'#0E1216\', // 默认背景颜色显示
433 geo: {
434 map: \'china\', // 获取中国地图
435 layoutCenter: [\'50%\', \'50%\'], // 设置地图居中
436 layoutSize:556, // 设置最大宽高
437 label: {
438 emphasis: {
439 show: false
440 }
441 },
442 itemStyle: {
443 normal: {
444 borderWidth:2, //边框大小
445 borderColor:\'#4A90E2\', // 地图边框颜色
446 areaColor: \'#0E1216\',//背景颜色
447 },
448 emphasis: {
449 areaColor: \'#0E1216\', // 鼠标移入显示效果,既高亮显示
450 show:false, // 高亮显示是否触发
451 }
452 }
453 },
454 // grid: { // 控制内容占满屏幕
455 // left: \'0\',
456 // right: \'0\',
457 // bottom: \'0\',
458 // top:\'0\',
459 // containLabel: true
460 // },
461 series: [
462 {
463 // name: \'pm2.5\', //鼠标移入显示名字
464 type: \'scatter\', // 类型
465 coordinateSystem: \'geo\', // 获取上面定义的样式
466 data: convertData(data), //数据传输接口
467 symbolSize: function (val) {
468 return val[2] / 18; //根据传入至计算小圆的大小
469 },
470 label: {
471 normal: {
472 formatter: \'{b}\', // 图例文版显示
473 position: \'right\', // 定位方式,以当前元素的父元素
474 show: false //小图城市名字显示控制
475 },
476 emphasis: { //高亮显示样式
477 show: false
478 }
479 },
480 itemStyle: {
481 normal: {
482 color: \'#5DD679\' //小圆的颜色
483 }
484 }
485 },
486 {
487 // name: \'Top 5\', // 弹出层显示内容
488 type: \'effectScatter\',
489 coordinateSystem: \'geo\', // 获取上面定义的样式
490 data: convertData(data.sort(function (a, b) {
491 return b.value - a.value;
492 }).slice(0, 10)), // 在
493 symbolSize: function (val) {
494 return val[2] / 16;
495 },
496 // showEffectOn: \'emphasis\', //控制动画直接播放
497 rippleEffect: {
498 brushType: \'stroke\'
499 },
500 hoverAnimation: true, // 鼠标移入效果
501 label: {
502 normal: {
503 formatter: \'{b}\',
504 position: \'right\',
505 show: false //控制文字显示与隐藏
506 }
507 },
508 itemStyle: {
509 normal: {
510 color: \'#39A252\', //颜色
511 shadowBlur: 10,
512 shadowColor: \'#39A252\' // 波纹显示效果
513 }
514 },
515 }
516
517 ]
518 });