0

我对 Google Maps API 很陌生,所以寻求一些建议。我正在尝试制作一个仪表板,允许公司使用谷歌地图和他们位置周围的半径设置他们的可用区域,比如 5 英里。

然后,我希望能够运行邮政编码查找并返回任何“服务”覆盖该邮政编码区域的公司。

到目前为止,我已经达到了一个公司可以在地图上放置一个大头针并在他们周围放置一个半径的地步,但我不知道从那里去哪里!我可以拉出该半径的经度和纬度,但我不确定如何真正处理那里的数据。

就像我说我是 Maps API 的新手,所以请原谅我的天真抱歉!:)

4

1 回答 1

1

如果您想做的不仅仅是简单的半径选项,您需要研究在 Google 地图中表示多边形。由于邮政编码通常由奇怪的边界划定,因此这是一项要求。如果您在 GeoJSON 中获取并存储它们,通常很容易将它们作为 JSON 对象加载。

多边形的基础是:

var polygon = new google.maps.Polygon({
    map: map,
    paths: pointList
});

在这种情况下,pointList是形成多边形的一系列点。之后,您可以执行自定义、添加点击事件等,但这是加载多边形所需的最低限度(假设您已经有一个地图对象)。

您可以手动添加点以用于非常小的测试目的,但 GeoJSON 路线将更好地用于具有大量多边形的开发。

您可以在此处找到将 GeoJSON 多边形(在本例中为多多边形)加载到地图中的示例:

http://www.alecbennett.com/projects/loadgeojson/

有关邮政编码制图信息,可在此处获得一些信息:

http://www.census.gov/geo/reference/zctas.html

如果您想要已经完成一些繁重工作的人,请查看此处:

https://github.com/ssoper/zip-code-boundaries

于 2013-05-01T02:55:33.013 回答