最近疫情有点严重,而自己又处在湖北省疫区内
看到各个app上疫情统计地图突然想自己搞一个
查了下demo有echatrs
可以实现将分布在全国各地的系统用户数量统计出来,以地图的形式展示出每个地域的用户数量,区域下面又分用户群。
百度的Echarts,Echarts本身的功能没的说,很赞,API也很详细,但是网上貌似玩的人不多,于是自己动手参照官方demo耍耍。
先展示下最终实现效果,如果诸位看官感觉效果还不错,欢迎继续向下看,如果感觉效果很逊
简单的描述下:上述地图中,左侧是展示全国地图(默认选择的是全国 ),右侧是展示的重庆各地市的用户数量,点击左侧的不同省份,右侧地图会随之变化,从而显示不同省市的用户数量。
下面说下具体的实现:
Echarts 官网:http://echarts.baidu.com/
先说下思路:Echarts的样式是很容易在前台jsp定制的,最重要的数据源(如图中的各区域的用户数量)是需要在geojson拼装,然后解析显示的。
难点:
该地图也就是需要用户群区域,也就是4级或5级地图,比如全国是一级,重庆市是二级,重庆市下面的沙坪坝是三级,沙坪坝上的用户群是4级
地图采取的geojson,全国三级地图可在Echatrs官方读取,http://ecomfe.github.io/echarts-map-tool/,剩下的数据可在http://geojson.io/自定义抓取
代码部分,下载Echatrs
定义地区编码,配对
然后配对geojson 数据
这个deom是死数据,后续将更改动态数据