一:各省各市区县地图获取
1. DATAV.GeoAtlas:是阿里推出的一个用于获取全国、各省、各市以及个县级市详细地图信息的json文件。
http://datav.aliyun.com/tools/atlas/#&lat=30.332329214580188&lng=106.72278672066881&zoom=3.5
上面截图中红色圈圈的部分,是获取json文件的API,在浏览器上打开该链接即可获取json文件,json API分两种:
一种是不包含子区域(以郑州为例:只显示郑州的范围,不会详细的显示郑州内有哪些区,哪些县级市的地理范围)
一种是包含子区域(以郑州为例:既显示郑州的地理范围,也显示郑州下面区、县的地理范围,但是不会显示乡镇,以上图为例)
2.bigemap:这是一个可以获取到街道、乡镇的软件,
不过地图数据是几年前的,一直没有更新
。
http://www.bigemap.com/reader/download/
打开链接地址,然后选择下载,并安装该软件
安装完成后打开,输入要获取要获取地图的乡镇(以河北张家口宣化区为例)
然后点击导出边界按钮生成该乡镇的KML文件
把我们想要的乡镇都下载下来,之后就可以在
http://geojson.io/
页面上进行拼接了
二:制作乡镇级地图json(以宣化区为例)
1.制作步骤总共份两步:
获取宣化区下面乡镇的地图
在
http://geojson.io/
页面上进行合并了
2.第一步,在bigemap文件中输入依次选择林州市下面的乡镇并生成kml文件
第二步、在geojson.io中分别导入这些kml文件
其实可以发现导入的后的地图跟原来的区县地图并不一样,这其实是这软件的一个问题,有一些地区的乡镇会有些缺失,这就是第二个缺陷了,这是我找出的一个特例。
三:遇到这种情况怎么处理?
1.最笨的就是把宣化区的地图也加上区,然后把缺失的部分一个个画出来。
2.下载个专业的地图软件,如arcmap,可以精细的填充出缺失部分,推荐对地图要求精细者和多者使用。
四:如果这样弄下来的地图,echarts打开报错怎么办呢?
这是echarts支持的geojson格式没有那么全面,出现一个地区多区域就会造成无法识别的问题。
下章会讲这个问题怎么处理,另外附上一张补全后的宣化区地图。