不知道从什么时候开始,在Google地图或是百度地图中用城市或者省名称搜索的时候,你会发现地图上会勾勒出搜索的行政区的轮廓来,这个功能非常人性化。
比如在百度地图中搜索“广西” ,地图显示如下图所示:
在Google地图中搜索“桂林”,会定位到桂林市的中心坐标,需要把地图级别调小,才能看到如下图的效果
如何实现上面的效果的,据我所知百度API已经开放了获取行政区边际坐标的接口,相关说明可以参考
http://developer.baidu.com/map/reference/index.php?title=Class:%E6%9C%8D%E5%8A%A1%E7%B1%BB/Boundary
这里有一篇关于如何获取行政区域的边界?的文章,本人根据这篇文章提供的代码稍作修改,把中国省市(地级市)边界坐标收入囊中
1 2 3 4 5 6获取地区轮廓线 7 8 9 20 21 22 23 24 25
输入省、直辖市或县名称: 26 27 28 94 95 96
现在有 了这些边界坐标数据,就可以在Google地图中显示行政区轮廓了。(ps:不知Google是否也有类似百度这样的获取边界坐标的接口,如果你知道怎么实现,请告知,谢谢)。
我把这些从百度获取的边界坐标应用到我最近写的一个地图下载器当中,实现了按省市下载地图功能,如下图所示:
效果不错吧。
当然行政区的边界坐标对于我来说,还有其他用途,本人从事GPS方面的软件开发,一个常见的功能就是“电子围栏”,来判断GPS设备是否在某一区域,以前都是单纯的设置一个矩形,或者多边形来判断,现在可以按省市,甚至县来作为电子围栏,这个功能看起来很不错。