Google Maps API在整个城镇绘制多边形

时间:2010-04-08 14:19:10

标签: google-maps maps

我想知道是否可以使用GoogleMaps API V3V2在整个城镇上绘制多边形?

如果是这样,请举例说明如何做(选择你最喜欢的城镇:)。

我很难理解这个API。

感谢。

3 个答案:

答案 0 :(得分:0)

我认为不可能自动在城镇边界周围绘制多边形;您需要知道角落的坐标,然后绘制连接这些点的多边形(因此有关城镇边界的信息不是来自谷歌地图,而是来自您的应用程序)。

然后,你可以像这样创建一个多边形:

  var polygon = new GPolygon([
    new GLatLng(lat, lon - lonOffset),
    new GLatLng(lat + latOffset, lon),
    new GLatLng(lat, lon + lonOffset),
    new GLatLng(lat - latOffset, lon),
    new GLatLng(lat, lon - lonOffset)
  ], "#f33f00", 5, 1, "#ff0000", 0.2);
  map.addOverlay(polygon);

(示例代码取自API docs。)

答案 1 :(得分:0)

如果你想勾画一个城镇的边界,你需要一些额外的数据来告诉你在哪里画画。形状文件适合这类事情,通常很容易找到提供城市,州,县,国家等边界的免费或低成本文件。只需谷歌搜索“[CityName]形状文件”或类似的东西。

一旦你有一个好的形状文件,你可以查询边界中的所有点。然后,您可以调用该方法在地图api中使用这些点绘制多边形。

答案 2 :(得分:0)

这是一个非常有趣(免费)的行政地理数据开放项目:http://www.openstreetmap.org