在Google Maps v3 API上绘制区域多边形

时间:2012-01-31 23:08:33

标签: php javascript google-maps google-maps-api-3

我需要在谷歌地图中绘制复杂的区域边界多边形。有没有办法轻松访问区域数据来绘制这些多边形?这些地区将是澳大利亚邮政编码区。如果您将google(不是地图常规搜索)(例如“2454”)中的邮政编码键入google,则第一个结果是带有区域多边形的图像(可能此搜索仅在您从澳大利亚搜索时才有效)。我假设这个数据是可访问的,因为谷歌正在绘制多边形。

任何想法我将如何访问此边界数据?

我正在谈论的一个例子就在这里

http://maps.google.com.au/maps?pq=australian+postcode+2454&hl=en&cp=0&gs_id=2&xhr=t&q=2454&safe=off&gs_upl=&bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&biw=1876&bih=872&um=1&ie=UTF-8&hq=&hnear=0x6b9e9f724b020f8d:0x1c0609b7ccd310d0,New+South+Wales+2454&gl=au&ei=a3MoT66iKoKuiQelk7m3Ag&sa=X&oi=geocode_result&ct=title&resnum=2&sqi=2&ved=0CDIQ8gEwAQ

2 个答案:

答案 0 :(得分:4)

此时此数据无法通过Google Maps API提供。您需要找到边界数据的第三方提供商。快速查询显示several providers of the data,但我不确定他们是否可以免费提供。获得数据后,它可能采用GIS数据格式,例如Shapefile或KML文件。这些可以加载到Google Fusion Tables中,也可以使用Google Maps API KMLLayer直接加载KML文件。

答案 1 :(得分:0)

Google无法以编程方式访问该数据。您最好的选择是找到数据的KML,然后使用maps.google.com或Google Maps API加载KML(http://code.google.com/apis/maps/documentation/javascript/layers.html#KMLLayers)或使用Fusion Tables等加载来加载GIS数据(或KML) )进入融合表,然后使用Google Maps API中的Fusion Tables层(http://code.google.com/apis/maps/documentation/javascript/layers.html#FusionTables)。

* 请注意,Fusion Tables图层是实验性的。