隐藏使用谷歌地图绘图库绘制的多边形

Hiding Polygons Drawn Using Google Maps Drawing Library

本文关键字:绘制 多边形 绘图 谷歌地图 隐藏      更新时间:2023-09-26

我似乎无法隐藏使用谷歌地图绘图库绘制的多边形。以下是我使用的隐藏功能:

function hideRectangles() {
  if (rectangles.length > 0) {
    for (var i = 0; i < rectangles.length; i++) {
      rectangles[i].setMap(null);
    }
  }
}

请参阅此处的完整示例:http://jsbin.com/wobapopu/2/edit

您从不更新rectangles数组(即向其添加矩形),因此hideRectangles()不会执行任何操作。在函数draw/hideRectangles() 之外添加这些行

google.maps.event.addListener(drawingManager, 'rectanglecomplete', function(rectangle) {
  rectangles.push(rectangle);
});

单击此处查看更新示例

您没有将实际的覆盖对象推送到rectangles数组,因此它无法将它们从映射中删除。

相反,你应该这样做:

rectangles.push(e.overlay);

然后它就会起作用。此处的工作示例