fanlijin

  最近的项目要用到一个能展现全国地图的功能,并且全国各个省份显示的颜色不同,点击省份后会返回省份名称。经过反复的查找最终确定了echart这个插件,最后的成果还不错,在这里写下来希望对大家有所帮助。话不多说先看最终的效果图。

  最终的效果就是这个样子的啦,感觉还是很好看的,echart这个插件使用还是很简单的,按照官网步骤来就好了。官网地址:http://echarts.baidu.com/index.html

  下面就是我实现这个效果的代码了:

  1 <!DOCTYPE html>
  2 <html style="height: 100%">
  3 
  4     <head>
  5         <meta charset="utf-8">
  6     </head>
  7 
  8     <body style="height: 100%; margin: 0">
  9         <div id="container" style="height: 100%"></div>
 10         <script type="text/javascript" src="js/echarts.min.js"></script>
 11 
 12         <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/map/js/china.js"></script>
 13 
 14         <script type="text/javascript">
 15             var myChart = echarts.init(document.getElementById("container"));
 16 
 17             option = {
 18 
 19                 tooltip: {
 20                     trigger: \'item\',
 21                     formatter: \'{b}\'
 22                 },
 23                 
 24                 series: [{
 25                     name: \'中国\',
 26                     type: \'map\',
 27                     mapType: \'china\',
 28                     selectedMode: \'single\',
 29                     roam: false,
 30                     label: {
 31                         normal: {
 32                             show: true
 33                         },
 34                         emphasis: {
 35                             show: true
 36                         }
 37                     },
 38                     data: [{
 39                             name: \'北京\',
 40                             itemStyle: {
 41                                 normal: {
 42                                     areaColor: \'#D9EDE1\'
 43                                 }
 44                             }
 45                         },
 46                         {
 47                             name: \'天津\',
 48                             itemStyle: {
 49                                 normal: {
 50                                     areaColor: \'#D9EDE1\'
 51                                 }
 52                             }
 53                         },
 54                         {
 55                             name: \'上海\',
 56                             itemStyle: {
 57                                 normal: {
 58                                     areaColor: \'#FCE1D8\'
 59                                 }
 60                             }
 61                         },
 62                         {
 63                             name: \'重庆\',
 64                             itemStyle: {
 65                                 normal: {
 66                                     areaColor: \'#FBE0EC\'
 67                                 }
 68                             }
 69                         },
 70                         {
 71                             name: \'河北\',
 72                             itemStyle: {
 73                                 normal: {
 74                                     areaColor: \'#FFFDE4\'
 75                                 }
 76                             }
 77                         },
 78                         {
 79                             name: \'河南\',
 80                             itemStyle: {
 81                                 normal: {
 82                                     areaColor: \'#FBE0EC\'
 83                                 }
 84                             }
 85                         },
 86                         {
 87 
 88                             name: \'云南\',
 89                             itemStyle: {
 90                                 normal: {
 91                                     areaColor: \'#FBE0EC\'
 92                                 }
 93                             }
 94                         },
 95                         {
 96                             name: \'辽宁\',
 97                             itemStyle: {
 98                                 normal: {
 99                                     areaColor: \'#FCE1D8\'
100                                 }
101                             }
102                         },
103                         {
104                             name: \'黑龙江\',
105                             itemStyle: {
106                                 normal: {
107                                     areaColor: \'#FCE1D8\'
108                                 }
109                             }
110                         },
111                         {
112                             name: \'湖南\',
113                             itemStyle: {
114                                 normal: {
115                                     areaColor: \'#D7EDFB\'
116                                 }
117                             }
118                         },
119                         {
120                             name: \'安徽\',
121                             itemStyle: {
122                                 normal: {
123                                     areaColor: \'#FCE1D8\'
124                                 }
125                             }
126                         },
127                         {
128                             name: \'山东\',
129                             itemStyle: {
130                                 normal: {
131                                     areaColor: \'#D9EDE1\'
132                                 }
133                             }
134                         },
135                         {
136                             name: \'新疆\',
137                             itemStyle: {
138                                 normal: {
139                                     areaColor: \'#D7EDFB\'
140                                 }
141                             }
142                         },
143                         {
144                             name: \'江苏\',
145                             itemStyle: {
146                                 normal: {
147                                     areaColor: \'#D7EDFB\'
148                                 }
149                             }
150                         },
151                         {
152                             name: \'浙江\',
153                             itemStyle: {
154                                 normal: {
155                                     areaColor: \'#D9EDE1\'
156                                 }
157                             }
158                         },
159                         {
160                             name: \'江西\',
161                             itemStyle: {
162                                 normal: {
163                                     areaColor: \'#FBE0EC\'
164                                 }
165                             }
166                         },
167                         {
168                             name: \'湖北\',
169                             itemStyle: {
170                                 normal: {
171                                     areaColor: \'#FFFDE4\'
172                                 }
173                             },
174                             selected: true
175                         },
176                         {
177                             name: \'广西\',
178                             itemStyle: {
179                                 normal: {
180                                     areaColor: \'#D9EDE1\'
181                                 }
182                             }
183                         },
184                         {
185                             name: \'甘肃\',
186                             itemStyle: {
187                                 normal: {
188                                     areaColor: \'#FFFDE4\'
189                                 }
190                             }
191                         },
192                         {
193                             name: \'山西\',
194                             itemStyle: {
195                                 normal: {
196                                     areaColor: \'#D9EDE1\'
197                                 }
198                             }
199                         },
200                         {
201                             name: \'内蒙古\',
202                             itemStyle: {
203                                 normal: {
204                                     areaColor: \'#D7EDFB\'
205                                 }
206                             }
207                         },
208                         {
209                             name: \'陕西\',
210                             itemStyle: {
211                                 normal: {
212                                     areaColor: \'#FCE1D8\'
213                                 }
214                             }
215                         },
216                         {
217                             name: \'吉林\',
218                             itemStyle: {
219                                 normal: {
220                                     areaColor: \'#FFFDE4\'
221                                 }
222                             }
223                         },
224                         {
225                             name: \'福建\',
226                             itemStyle: {
227                                 normal: {
228                                     areaColor: \'#D7EDFB\'
229                                 }
230                             }
231                         },
232                         {
233                             name: \'贵州\',
234                             itemStyle: {
235                                 normal: {
236                                     areaColor: \'#FFFDE4\'
237                                 }
238                             }
239                         },
240                         {
241                             name: \'广东\',
242                             itemStyle: {
243                                 normal: {
244                                     areaColor: \'#FCE1D8\'
245                                 }
246                             }
247                         },
248                         {
249                             name: \'青海\',
250                             itemStyle: {
251                                 normal: {
252                                     areaColor: \'#FBE0EC\'
253                                 }
254                             }
255                         },
256                         {
257                             name: \'西藏\',
258                             itemStyle: {
259                                 normal: {
260                                     areaColor: \'#FFFDE4\'
261                                 }
262                             }
263                         },
264                         {
265                             name: \'四川\',
266                             itemStyle: {
267                                 normal: {
268                                     areaColor: \'#D9EDE1\'
269                                 }
270                             }
271                         },
272                         {
273                             name: \'宁夏\',
274                             itemStyle: {
275                                 normal: {
276                                     areaColor: \'#FBE0EC\'
277                                 }
278                             }
279                         },
280                         {
281                             name: \'海南\',
282                             itemStyle: {
283                                 normal: {
284                                     areaColor: \'#FBE0EC\'
285                                 }
286                             }
287                         },
288                         {
289                             name: \'台湾\',
290                             itemStyle: {
291                                 normal: {
292                                     areaColor: \'#FBE0EC\'
293                                 }
294                             }
295                         },
296                         {
297                             name: \'香港\',
298                             itemStyle: {
299                                 normal: {
300                                     areaColor: \'#FCE1D8\'
301                                 }
302                             }
303                         },
304                         {
305                             name: \'澳门\',
306                             itemStyle: {
307                                 normal: {
308                                     areaColor: \'#FCE1D8\'
309                                 }
310                             }
311                         },
312                         {
313                             name: \'南海诸岛\',
314                             itemStyle: {
315                                 normal: {
316                                     areaColor: \'#FCE1D8\'
317                                 }
318                             }
319                         }
320                     ]
321                 }]
322             };
323 
324             myChart.setOption(option, true);
325         </script>
326     </body>
327 
328 </html>

  这部分代码只引用了一个js文件,这个官网就可以下载的到,最后还有两个细节的部分提醒大家:

  1.点击省份返回省份信息

1 myChart.on(\'click\', function(params) {
2             console.log(params.name);
3 });

  只要有这部分代码就可以实现点击省份返回省份名称的功能啦!

  2.关于地图的大小问题  

  尽管地图的大小和echart的容器大小挂钩,但是地图在容器内并不是全部占满的,这样就会影响一部分的美观,解决这个问题。只要添加一个属性就可以 了。

 1     series: [{
 2                     name: \'中国\',
 3                     type: \'map\',
 4                     mapType: \'china\',
 5                     selectedMode: \'single\',
 6                     roam: false,
 7                 zoom: 1.2,
 8                     label: {
 9                         normal: {
10                             show: true
11                         },
12                         emphasis: {
13                             show: true
14                         }
15                     },
16             ...}]            

  注意  zoom: 1.2  这个属性是让地图放大的关键,看一下效果对比图
放大前:

放大地图后:

在容器大小一致的情况下,地图明显变大了。

好了,这就是我在项目中遇到的一个小小的问题,已经解决了,也希望对大家有所帮助,大家如果有更好的实现方式也欢迎在评论中提出。

 

分类:

技术点:

相关文章:

  • 2022-02-07
  • 2021-11-24
  • 2021-12-21
  • 2021-12-08
  • 2022-12-23
  • 2021-11-21
猜你喜欢
  • 2021-07-04
  • 2021-12-19
  • 2021-12-10
  • 2022-01-07
  • 2022-12-23
  • 2021-10-18
  • 2021-12-31
相关资源
相似解决方案