Javascript 如何在Google Maps v3上添加和删除多边形?

Javascript 如何在Google Maps v3上添加和删除多边形?,javascript,google-maps,google-maps-api-3,polygons,Javascript,Google Maps,Google Maps Api 3,Polygons,我正在尝试使用API的v3在Google地图上显示和删除多边形。在我的JavaScript中,我已经获得了一些自定义Lat-long的MVCArray 我试图找出如何添加这些多边形,然后根据其他JavaScript事件或用户操作,例如单击多边形(已渲染),该多边形将被删除 有人能帮忙吗?有没有代码或示例链接?我正在努力寻找一些例子。它们中的大多数通常会用到一些v2代码。在API文档中,有几个简单的示例。下面是简单示例中的initialize()函数,其中添加了一个事件侦听器,以在单击时删除多边形

我正在尝试使用API的v3在Google地图上显示和删除多边形。在我的JavaScript中,我已经获得了一些自定义Lat-long的MVCArray

我试图找出如何添加这些多边形,然后根据其他JavaScript事件或用户操作,例如单击多边形(已渲染),该多边形将被删除


有人能帮忙吗?有没有代码或示例链接?我正在努力寻找一些例子。它们中的大多数通常会用到一些v2代码。

在API文档中,有几个简单的示例。下面是简单示例中的initialize()函数,其中添加了一个事件侦听器,以在单击时删除多边形

function initialize() {
  var myLatLng = new google.maps.LatLng(24.886436490787712, -70.2685546875);
  var myOptions = {
    zoom: 5,
    center: myLatLng,
    mapTypeId: google.maps.MapTypeId.TERRAIN
  };

  var bermudaTriangle;

  var map = new google.maps.Map(document.getElementById("map_canvas"),
      myOptions);

  var triangleCoords = [
      new google.maps.LatLng(25.774252, -80.190262),
      new google.maps.LatLng(18.466465, -66.118292),
      new google.maps.LatLng(32.321384, -64.75737),
      new google.maps.LatLng(25.774252, -80.190262)
  ];

  // Construct the polygon
  bermudaTriangle = new google.maps.Polygon({
    paths: triangleCoords,
    strokeColor: "#FF0000",
    strokeOpacity: 0.8,
    strokeWeight: 2,
    fillColor: "#FF0000",
    fillOpacity: 0.35
  });

  bermudaTriangle.setMap(map);

  // add an event listener
  google.maps.event.addListener(bermudaTriangle, 'click', function() {
      this.setMap(null);
  });

}

我不确定这个答案是否适用于javascript,但肯定适用于java

如果有要删除的多边形对象的引用,只需调用该多边形的remove()方法即可。请参阅下面链接的文档


啊!所以诀窍是确保google.maps.Polygon实例是全局的。。这样你就可以引用同一个实例来删除它。。而不是试图在地图上找到实例,等等。明白了:)
polygon.remove()
仅在Java Android API中。在JS中使用
polygon.setMap(null)