我制作了一个脚本,调用Google Maps Geocoding API来检索administrative_area_level_1。截至2016年12月,它一直在为超过90%的地址运行良好的检索标记。从那时起,成功率已经下降 - 在API调用结果中,不再有administrative_area_level_1地址,或者只是零星的。
我一直在使用的API调用没有更改形式如下: https://maps.googleapis.com/maps/api/geocode/json?language=cs®ion=cs&address= ,,,和& key =
即: https://maps.googleapis.com/maps/api/geocode/json?language=cs®ion=cs&address=nám。 W. Churchilla 1938 / 4,130 67,Praha 3 - Žižkov,Českárepublika& key =
Google是否进行了任何更改?有没有办法,如何从Google Maps Geocoding API中检索administrative_area_level_1?
答案 0 :(得分:2)
2016年11月,Google发布了new version转发地理编码器。
在新的转发地理编码器中,地址组件数组仅包含与相关国家/地区的地址格式相关的信息。
如果我理解正确,行政区域级别1不用于Českárepublika中的格式化地址,因此该信息不会出现在地址组件中。
目前获得管理区域1的唯一可靠方法是使用第一个请求的坐标执行反向地理编码请求,结果类型等于管理区域级别1.
例如,
转发地理编码器'nám。 W. Churchilla 1938 / 4,130 67,Praha 3 - Žižkov,Českárepublika'返回50.083244,14.441828
现在使用结果类型为admin area level 1的反向地理编码:
返回以下结果
{
"results":[
{
"address_components":[
{
"long_name":"Prague",
"short_name":"Prague",
"types":[
"administrative_area_level_1","political"
]
},
{
"long_name":"Czechia",
"short_name":"CZ",
"types":[
"country","political"
]
}
],
"formatted_address":"Prague, Czechia",
"geometry":{
"bounds":{
"northeast":{
"lat":50.177403,"lng":14.7067945
},
"southwest":{
"lat":49.94193629999999,"lng":14.2244533
}
},
"location":{
"lat":50.0599268,"lng":14.5039935
},
"location_type":"APPROXIMATE",
"viewport":{
"northeast":{
"lat":50.177403,"lng":14.7067945
},
"southwest":{
"lat":49.94193629999999,"lng":14.2244533
}
}
},
"place_id":"ChIJi3lwCZyTC0cRIKgUZg-vAAE",
"types":[
"administrative_area_level_1","political"
]
}
],
"status":"OK"
}
<强>更新强>
公共问题跟踪器中还有一个功能请求,用于在捷克共和国的响应中添加管理区域级别1:
https://issuetracker.google.com/issues/35830929
随意为功能请求加注星标以表达您的兴趣并订阅通知。
更新1
好消息。
feature request 35830929现在已被Google标记为已修复。