如何使用邮政编码获取准确的城市名称?我正在使用下面的 API,但它没有给出确切的城市名称,它只给出了地区名称

Posted

技术标签:

【中文标题】如何使用邮政编码获取准确的城市名称?我正在使用下面的 API,但它没有给出确切的城市名称,它只给出了地区名称【英文标题】:How to get exact City name using postal code? I am using the below API but it is not giving exact city name , It is giving only District name 【发布时间】:2016-06-10 05:56:44 【问题描述】:

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

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

【问题讨论】:

***.com/questions/2846466/… 【参考方案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

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

【讨论】:

不是错误,让我在附加答案中解释。【参考方案2】:

有点棘手: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

【讨论】:

以上是关于如何使用邮政编码获取准确的城市名称?我正在使用下面的 API,但它没有给出确切的城市名称,它只给出了地区名称的主要内容,如果未能解决你的问题,请参考以下文章

如何从城市名称和邮政编码中获取经纬度数据

使用谷歌地图地理编码器反向获取城市名称的简单功能

如何准确地从 Eircode/邮政编码获取地理位置

如何扩展地理定位 Web 应用程序

如何在android中使用游标(sqlite查询)搜索数据库

如何从颤动的坐标中获取城市?