如何使用邮政编码获取确切的城市名称?我使用的是以下API,但它没有给出确切的城市名称,它只给出了区域名称

时间:2016-06-10 05:56:45

标签: ios google-maps google-maps-api-3

这是我正在使用的API,但它只提供区域名称和州名称,而不是根据邮政编码提供名称。是否有任何其他API来获取确切的城市名称。请帮助我解决这个问题。

http://maps.googleapis.com/maps/api/geocode/json?address=&components=postal_code:506366&sensor=false

2 个答案:

答案 0 :(得分:1)

查看maps.google.com上的邮政编码边界,​​邮政编码似乎与多个地方重叠:

https://www.google.es/maps/place/Telangana+506366,+India/@18.3178586,79.5682081,12.25z/data=!4m5!3m4!1s0x3a3324c84ccde691:0xdedd70d16ab9cfab!8m2!3d18.3214924!4d79.616521

在这种情况下,由于含糊不清,Geocoding API不会在地址组件中返回一个位置。

但是,根据文档

,我希望响应中的postcode_localities数组
  

是表示邮政编码中包含的所有地点的数组。仅当结果是包含多个地点的邮政编码时才会出现此情况。

https://developers.google.com/maps/documentation/geocoding/intro#Results

此时它看起来像一个bug。我可以建议在公共问题跟踪器中提出问题:https://code.google.com/p/gmaps-api-issues/

答案 1 :(得分:1)

有点棘手:postcode_localities仅在结果为包含多个地区的邮政编码时才会出现。但是,506366(印度)只与这些地方重叠,它不包含任何地方。这就是为什么你在地址中没有locality的原因。

同时,没有完全包含这些地区的邮政编码,因此您不会在其地址中获得postal_code

https://maps.googleapis.com/maps/api/geocode/json?&address=Parlapalle%20506366%20india https://maps.googleapis.com/maps/api/geocode/json?&address=Akinepalle%20506366%20india

以下是返回postcode_localities的示例:13100(法国): https://maps.googleapis.com/maps/api/geocode/json?components=country%3AFR%7Apostal_code%3A13100