使用谷歌地图绘制城市/邮编多边形。

7

我正在寻找一款JavaScript库,它支持将邮编或城市作为参数传递,并获取一组x、y坐标列表以使用Google Maps绘制多边形。这种库是否存在?Google Maps API是否支持此类查询?我正在寻找类似于Google在Google查询上用于绘制地图的坐标数组。

enter image description here

4个回答

4

Google Maps API不支持这种解决方案。但是,你可以从以下几个地方获取坐标:

Flickr API

有一个基于人们打标签的照片的Flickr API,但它只能像打标签的人一样准确:因此它足以用于引导,但可能不适合生产: http://karya-blog.blogspot.com/2012/12/fetching-city-polygons-with-flickr-api.html

Natural Earth Data

一个准确的替代方案是www.naturalearthdata.com。要从那里获取数据,你只需要进行两个请求:一个是城市名称,另一个是他们的ID以获取参数:

unlock.edina.ac.uk/ws/search?name=berlin&gazetteer=naturalearth&format=json

然后

unlock.edina.ac.uk/ws/footprintLookup?format=json&identifier=14126951

并且你就设置好了 :)

Mapzen

如果您可以预获取数据,可以选择Mapzen,它们拥有完整且相当准确的数据库:https://mapzen.com/data/borders/


2
简要回答:我认为 Google Maps API 中没有任何神奇的 getZipCodeBoundaries 方法。然而,你想要做的可以实现并已经实现过了。请参见 这个实现,以及关于该过程的 Google 组的讨论线程。第一个链接是否类似于你希望实现的内容?此外,Zillow 提供了一个基于 CC 许可证的 街区 API。你可能需要研究一下,看它是否按邮政编码划分街区。

1

-1
在这个网站上看看Twitter地理位置API,你有几种搜索模式,并且它会为你提供城市的边界框。我现在正在我的网站上使用它。尝试一下这个链接,你就能看到结果了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接