如何通过反向地理编码获得可靠的美国各州响应?

Posted

技术标签:

【中文标题】如何通过反向地理编码获得可靠的美国各州响应?【英文标题】:How to get reliable U.S. state responses by reverse geocoding? 【发布时间】:2012-03-06 09:29:20 【问题描述】:

在对纬度/经度进行反向地理编码时,Google 有时会返回不正确的美国州。这可能是因为 Google 正在尝试返回最近的街道地址,在某些情况下,该地址与您尝试反向地理编码的纬度/经度处于不同的状态。

虽然在实践中这可能不是一个常见的场景,但通过玩地图很容易重现:http://gmaps-samples.googlecode.com/svn/trunk/geocoder/reverse.html

对于我的申请,我不太关心获取最近的地址,而更关心始终获取正确的美国州/经纬度。有没有办法通过 Google 的 API 实现这一点?

谢谢

【问题讨论】:

【参考方案1】:

遍历所有结果并在results[i].types 中选择带有"administrative_area_level_1" 的结果

这比从第一个结果中获取“等效”地址组件更好,即在results[0].address_components[j].types 中找到"administrative_area_level_1"

当反向地理编码将您的 latlng 捕捉到恰好位于不同州(或国家/地区)的最近地址时,第一个结果的州/国家/地区地址部分将是该地址所在的地址,但随后的结果将是输入 latlng 所在的州/国家/地区。

示例:42.834185,-0.302811 在西班牙,但捕捉到法国的地址。

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D42.834185%252C-0.302811

results[0].address_components[3].types = ["administrative_area_level_1", "political"]
results[0].address_components[3].short_name = "FR"
results[6].types = ["administrative_area_level_1", "political"]
results[6].short_name = "ES"

【讨论】:

以上是关于如何通过反向地理编码获得可靠的美国各州响应?的主要内容,如果未能解决你的问题,请参考以下文章

美国各州的地理 IP 数据有多准确?

Android 反向地理编码

没有谷歌如何反转地理编码? [关闭]

是否有可能获得更精确的反向地理编码?

iOS5 反向地理编码限制

从反向地理编码中获取地址