Google反向地理编码问题
问题描述:
如何使用Google反向地理编码正确,清晰地标识地址(例如法国巴黎)的坐标?某处的地点标有“地方”类型,某处是“administrative_area_level_2”,某处是“administrative_area_level_3”等。是否有任何方法可以清楚地确定城镇或村庄,或者该人是否在建成区之外?Google反向地理编码问题
例子: 我们发送的请求: https://maps.googleapis.com/maps/api/geocode/json?sensor=true&language=en&latlng=55.6844952,37.6118719 查找城市和在大多数情况下,得到如下:
"address_components" : [
{
"long_name" : "Moscow",
"short_name" : "Moscow",
"types" : [ "locality", "political" ]
},
…
},
"place_id" : "...",
"types" : [ "locality" ]
},
但有时 我们发送的请求: https://maps.googleapis.com/maps/api/geocode/json?sensor=true&language=en&latlng=60.123062,64.78818 查找城市,并得到:
"address_components" : [
{
"long_name" : " gorod Uray",
"short_name" : "g. Uray",
"types" : [ "administrative_area_level_2", "political" ]
},
...
},
"place_id" : "...",
"types" : [ "administrative_area_level_2" ]
},
该应用如何确定在一种情况下城市是“地方”,而在其他情况下,城市是“administrative_area_level_2”等
答
在你的榜样,莫斯科是一个资本和政治中心,这就是为什么它被标记为政治; Gorod Uray不是一个城市,而是一个更大的二级行政区域,所以它被标记为行政区域。
This Type list来自Google Maps API的位置参考文档清楚地说明了在searchResult中构成GeocoderAddressComponent对象的每种类型的用法。
林不知道我理解你的问题。对于地理定位,我已经使用[Geocoder gem](https://github.com/alexreisner/geocoder)取得了成功,我会推荐。 – srm