我在地图上有一些标记,当用户点击它们时,我使用谷歌地理编码器来获取地址信息。问题是Google返回此数据的格式。我想以一致的格式显示地址,例如
有没有人知道解析这些数据的简单方法,所以我最终得到了一些很好的简单json,如
{"city":"Vancouver", "region":"British Columbia", "country":"Canada"}
感谢。
答案 0 :(得分:4)
哦,男人,我认为政治地理这么简单的日子是更甜蜜的日子。如果谷歌可以返回这样的数据,他们肯定会。相反,你得到一堆地方,sublocality,administrative_area_level_ *,国家等。
为了说明这一点,请考虑以下事项:
http://maps.googleapis.com/maps/api/geocode/json?address=11215&sensor=false
http://maps.googleapis.com/maps/api/geocode/json?address=10010&sensor=false
对于曼哈顿来说,你的状态还不错。你得到了自治市(曼哈顿),城市(纽约),县(纽约)和州(纽约)。对于布鲁克林来说,事情并不那么干净。你得到自治市(布鲁克林),县(国王)和州(纽约)。
现在如果你走一小段路去长岛,你就会变得更有趣:
http://maps.googleapis.com/maps/api/geocode/json?address=40.723464,%20-73.716282&sensor=false
在这种情况下,你会得到村庄(花卉公园),小镇(亨普斯特德),县(拿骚)和州(纽约),但一切都有点混乱。
这是一个州内20英里范围内的变化。如果你离开那个,你可以依靠更少。在英国,我们希望看到的大部分伦敦都是大伦敦的一个较小的区域。
Google提供了深入而丰富的分类法来处理这种变化,但您仍然需要应用自己的规则来理解它(通常按州和国家/地区分类)