我正在使用 google-mapquest 映射 API。我需要从给定的经纬度位置在某个区域附近添加一些兴趣点。我搜索了 google 和 mapquest 文档,以确定是否有一种方法可以获取该区域的所有邮政编码,但我没有找到任何可以做到这一点的方法。
我尝试了 harvesine 实现来计算该半径/纬度经度中给出的最近点,它工作正常。这种方法的问题是我需要不断更新数据库,所以我不太喜欢它。
问题是:是否有服务(google-mapquest 或其他)可以为您提供此信息?
我正在使用 google-mapquest 映射 API。我需要从给定的经纬度位置在某个区域附近添加一些兴趣点。我搜索了 google 和 mapquest 文档,以确定是否有一种方法可以获取该区域的所有邮政编码,但我没有找到任何可以做到这一点的方法。
我尝试了 harvesine 实现来计算该半径/纬度经度中给出的最近点,它工作正常。这种方法的问题是我需要不断更新数据库,所以我不太喜欢它。
问题是:是否有服务(google-mapquest 或其他)可以为您提供此信息?
不,我知道这两种服务都没有 API。您最好的选择是获取邮政编码数据库并使用它。那里有一些非常好的便宜的。我更喜欢http://www.zip-codes.com/zip-code-database.asp。他们 40 美元的包裹非常准确,每月更新,并获得 USPS 许可(因此您知道它的质量数据)。
更新:
我找到了一个完全符合我需要的WebService 。您可以只提供一个简单的邮政编码和一个国家或一个完整的地址,并在响应中获得经度/纬度。然后我发送返回的纬度和经度以获取提供的坐标附近的所有邮政编码的列表以及也可以自定义的给定半径。您可以过滤您希望服务返回的总行数,或者即使您打算使用英里或公里作为度量单位。
因此,基本上使用返回的信息,我将获得的每个最近的邮政编码的坐标提供给谷歌 API,并将这些兴趣点渲染到您需要显示的地图中。
这些服务由GeoNames提供。它是一个致力于地理定位服务的组织。他们还提供高级数据,但特别是这些服务是免费使用的,显然信息不如高级数据准确,但实际上在我的测试中我发现这是值得信赖的并且响应也非常快。另一个好处是获取使用 Geonames 服务的密钥的过程非常简单。
我给你留下了我正在谈论的服务的链接。
可用服务列表: http ://www.geonames.org/export/web-services.html
希望它可以帮助很多人。问候!