Google地图地理编码API不会返回administrative_area_level_1

时间:2017-04-02 20:07:09

标签: api google-maps geocoding google-geocoder google-geocoding-api

我制作了一个脚本,调用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&region=cs&address= ,,,和& key =

即: https://maps.googleapis.com/maps/api/geocode/json?language=cs&region=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?

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的反向地理编码:

https://maps.googleapis.com/maps/api/geocode/json?latlng=50.083244%2C14.441828&result_type=administrative_area_level_1&key=YOUR_API_KEY

返回以下结果

{
  "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标记为已修复。