如何通过反向地理编码获得可靠的美国各州响应?
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"
【讨论】:
以上是关于如何通过反向地理编码获得可靠的美国各州响应?的主要内容,如果未能解决你的问题,请参考以下文章