1

我正在开发一个谷歌地图应用程序。我正在 GMap 上绘制一个多边形并获取它所覆盖的区域。我需要找出覆盖区域内有多少个邮政编码。如何继续使用谷歌地图 API?有什么建议吗?

4

3 回答 3

19

显然为时已晚:) 但会提供一个严肃的答案,当你也有一份日常工作时,这可能需要一些时间。注意:Dr. Molles fusiontable 仅覆盖美国所有邮政编码的 <65% 左右。正如我评论的那样,它非常减少,因此对于为本地分销商查找邮政编码可能不是那么好。

承诺的答案:

请参阅此工作演示,该演示提取美国地图上任何多边形的所有邮政编码-> http://bit.ly/1cW1am6

我发现这个邮政编码数据库 - > http://www.boutell.com/zipcodes/包含所有美国邮政编码沿其居中的纬度 - 前面提到的http://federalgovernmentzipcodes.us/缺少 1000 个邮政编码和很多纬度-信息丢失。

放大,通过单击并点击搜索创建一个多边形: 在此处输入图像描述

代码是这样工作的:

  1. 通过 ajax 将多边形作为 [lat,lng] 对传递给服务器
  2. 创建一个描述边界的初步正方形
  3. 搜索广场内的所有邮政编码
  4. 使用多边形中的点算法来优化搜索
  5. 将多边形内的邮政编码送回

在谷歌地图下方有一个包含完整演示的 zip 文件的链接,即完整的源代码和数据库转储(以及原始 CSV 文件)。我曾计划详细描述代码,但这个问题已经有了一个可以接受的答案——而且我已经在这个演示上花费了很多时间。注意:该演示最终会在某一天从服务器中删除。

于 2013-10-23T08:09:41.893 回答
1

正如 david strachan 所说,您需要每个邮政编码的几何形状,这里有这样一个数据库:https ://www.google.com/fusiontables/DataSource?docid=1AxB511DayCdtmyBuYOIPHIe_WM9iG87Q3jKh6EQ#rows:id=1

使用支持地理空间查询的数据库,并通过使用ST_CONTAINSST_查询数据库INTERSECTS

注意:链接的数据库是一个FusionTable,它会给你几何图形,但是你必须将这些数据存储在另一个数据库中,因为FusionTables不支持Polygons的空间条件

于 2013-10-18T10:13:10.843 回答
0

我认为这就是您需要的:美国邮政编码边界 API: https ://www.mashape.com/vanitysoft/boundaries-io

上面的 API 按邮政编码、城市和州显示美国边界(GeoJson)。您应该以编程方式使用 API 来处理大型结果。

例如: 华盛顿特区,所有邮政编码都在边界内

按县查询:马里兰州华盛顿县 (MD)

于 2015-05-24T15:40:48.563 回答