获取给定经度 - 纬度范围内的邮政编码

时间:2012-06-11 23:49:29

标签: javascript asp.net-mvc-3 google-maps-api-3 mapping mapquest

我正在使用google-mapquest映射API。我需要在给定纬度 - 经度位置的某个区域附近添加一些兴趣点。 我搜索谷歌和mapquest文档,以确定是否有一种方法来获取该区域的所有邮政编码,但我没有找到任何这样做。

我尝试使用harvesine实现来计算在该radiuos /纬度 - 经度中给出的最近点,并且它工作正常。这种方法的问题是我需要不断更新数据库,所以我不喜欢它。

问题是:是否有提供此信息的服务(google-mapquest或其他服务)?

2 个答案:

答案 0 :(得分:2)

不,我所知道的任何一项服务都没有API。您最好的办法是获取邮政编码数据库并使用它。一些非常好的廉价产品在那里。我更喜欢http://www.zip-codes.com/zip-code-database.asp。他们40美元的套餐非常准确,每月更新一次,并由USPS许可(所以你知道它的质量数据)。

答案 1 :(得分:1)

<强>更新

我找到了一个完全符合我需要的 WebService 。您只能提供一个简单的ZipCode和一个国家或者一个完整的地址,并在响应中获得经度/纬度。然后我发送纬度和经度返回以获得所提供坐标附近的所有ZipCodes列表以及也可以自定义的给定半径。 您可以过滤希望服务返回的总行数,或者即使您将使用英里或公里作为度量单位。

因此,基本上使用返回的信息,我将获取的每个最近的ZipCode的坐标提供给谷歌API,并将这些兴趣点渲染到您需要显示的地图中。

服务由 地理名称 提供。它是一个致力于地理定位服务的组织。它们也提供高级数据,但特别是这些服务是免费使用的,显然信息不如高级数据准确,但实际上在我的测试中我发现这是可靠的,响应也非常快。 另一个很好的优势是获得密钥以使用Geonames服务的过程非常简单。

我给你留下了我正在谈论的服务链接。

可用服务清单: http://www.geonames.org/export/web-services.html

希望它可以帮助很多人。 此致!