答案 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