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

时间:2010-08-06 12:12:55

标签: javascript google-maps google-maps-api-3 polygons

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

我正在试图弄清楚如何添加这些多边形,然后根据其他一些JavaScript事件或用户操作,例如点击多边形(已经渲染),该多边形将被删除。

有人可以帮忙吗?任何代码或示例链接?我很难找到一些例子。他们中的大多数人通常会使用某些v2代码。

2 个答案:

答案 0 :(得分:21)

在API文档中,有几个简单的adding a polygon to a map示例。这是简单Bermuda Triangle示例中的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);
  });

}

答案 1 :(得分:0)

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

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

https://developers.google.com/android/reference/com/google/android/gms/maps/model/Polygon.html#remove()