如何使用Google Reverse地理编码正确,清晰地识别坐标的地址(例如Paris。France)?某处的位置标有“locality”类型,某处“administrative_area_level_2”,某处“administrative_area_level_3”等。是否有任何方法可以清楚地确定城镇或村庄,或者该人是否在建筑物区域外?
实施例: 我们发送请求: 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 ”等。
答案 0 :(得分:0)
在你的例子中,莫斯科是一个资本和政治中心,这就是为什么它被标记为政治; Gorod Uray不是一个城市,而是一个较大的次要行政区域,所以它被标记为行政区域。
来自Google Maps API Places的参考文档This Type list清楚地记录了它,以便在searchResult中使用组成GeocoderAddressComponent对象的每种类型。