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

Pur*_*ome 14 javascript google-maps polygons google-maps-api-3

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

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

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

Mar*_*ark 21

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

}
Run Code Online (Sandbox Code Playgroud)

  • AHH!所以诀窍是确保google.maps.Polygon _instance_是全局的..所以你可以引用相同的实例来删除它..而不是试图在地图上找到实例,等等. (4认同)