如何删除多边形坐标/顶点/节点(Google Maps V3)

Tim*_*ess 1 events google-maps editing polygon

如何使用多边形的insert_at,remove_at和set_at事件.

有人可以提供一些关于如何使用它们的示例以及什么是事件参数.

我现在要做的是当用户绘制多边形,并双击多边形的节点时,我希望从多边形中删除节点.

能做到吗?

小智 8

如果您的多边形是可编辑的,则可以向多边形添加事件侦听器,然后单击或右键单击.例如:

poly = new google.maps.Polygon({
  editable: true
});
poly.setMap(map);
google.maps.event.addListener(poly, 'rightclick', function(event) {
  if (event.vertex == undefined) {
    return;
  } else {
    removeVertex(event.vertex);
  }
});
Run Code Online (Sandbox Code Playgroud)

上面的代码将创建一个多边形并附加一个事件监听器,该监听器捕获多边形的顶点(节点)上的右键单击,然后调用removeVertex函数.

function removeVertex(vertex) {
  var path = poly.getPath();
  path.removeAt(vertex);
}
Run Code Online (Sandbox Code Playgroud)

类似的解决方案也可以应用于折线.