Google maps 谷歌地图API在一个完整的城镇上绘制多边形

Google maps 谷歌地图API在一个完整的城镇上绘制多边形,google-maps,maps,Google Maps,Maps,我想知道,是否真的可以用谷歌地图API或其他工具在一个完整的城镇上画一个多边形 如果有,请举例说明如何选择你最喜欢的城镇: 我在理解这个API时遇到一些困难 谢谢。我认为不可能自动围绕城镇边界绘制多边形;你需要知道角点的坐标,然后画一个连接这些点的多边形,这样关于城镇边界位置的信息不是来自谷歌地图,而是来自你的应用程序 然后,可以创建一个多边形,如下所示: var polygon = new GPolygon([ new GLatLng(lat, lon - lonOffset),

我想知道,是否真的可以用谷歌地图API或其他工具在一个完整的城镇上画一个多边形

如果有,请举例说明如何选择你最喜欢的城镇:

我在理解这个API时遇到一些困难


谢谢。

我认为不可能自动围绕城镇边界绘制多边形;你需要知道角点的坐标,然后画一个连接这些点的多边形,这样关于城镇边界位置的信息不是来自谷歌地图,而是来自你的应用程序

然后,可以创建一个多边形,如下所示:

  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);

示例代码取自。

我认为不可能自动围绕城镇边界绘制多边形;你需要知道角点的坐标,然后画一个连接这些点的多边形,这样关于城镇边界位置的信息不是来自谷歌地图,而是来自你的应用程序

然后,可以创建一个多边形,如下所示:

  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);

示例代码取自。

如果要勾勒城镇边界,则需要一些额外的数据来告诉您在何处绘制。形状文件对这类事情很有用,通常很容易找到免费或低成本的文件,提供城市、州、县、国家等的边界。只需在谷歌上搜索[CityName]形状文件或类似的东西


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

如果您想勾勒出一个城镇的边界,您将需要一些额外的数据来告诉您在何处绘制。形状文件对这类事情很有用,通常很容易找到免费或低成本的文件,提供城市、州、县、国家等的边界。只需在谷歌上搜索[CityName]形状文件或类似的东西


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

这是一个非常有趣的管理地理数据免费开放项目:

这是一个非常有趣的管理地理数据免费开放项目:

在maps api中是否有可以查询本地形状的函数文件?老实说,除了基本绘图之外,我对api没有做太多的工作,但是快速的谷歌搜索发现了这篇文章,它讨论了如何将形状文件转换为更容易处理的文本格式:maps api中有没有可以查询本地形状文件的函数?老实说,除了基本绘图之外,我对api没有做太多的工作,但是快速的谷歌搜索发现了这篇文章,它讨论了如何将形状文件转换为更容易处理的文本格式: