何时触发了Google Maps API v3中的remove_at事件?

我正在研究谷歌地图api v3,并希望添加编辑折线的function。 截至谷歌文档。 折线处于编辑模式时会触发3个事件。

  1. insert_at
  2. set_at
  3. remove_at

我知道前两个事件被触发并且能够获得编辑的坐标。 我也想删除一个节点但不确定它是如何工作的? 任何人都可以告诉我什么时候会发生“remove_at”事件?

撤消对现有叠加层的编辑会导致控制点被删除时,将触发“remove_at”。

我创造了一个小提琴来certificate这一点。

从小提琴:

var myLatlng = new google.maps.LatLng(60.629765, 6.424094); var myOptions = { zoom: 14, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP } var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); var drawMan = new google.maps.drawing.DrawingManager({ map: map, drawingControl: false, polygonOptions: { editable: true, draggable: true } }); drawMan.setDrawingMode(google.maps.drawing.OverlayType.POLYGON); google.maps.event.addListener(drawMan, 'overlaycomplete', function (event) { // When draw mode is set to null you can edit the polygon you just drawed drawMan.setDrawingMode(null); google.maps.event.addListener(event.overlay.getPath(), 'remove_at', function () { alert('remove_at triggered'); }); }); 

根据文档,这些事件属于google.maps.MVCArray类。 你也可以找到remove_at事件的描述:

调用removeAt()时会触发此事件。 该事件传递传递给removeAt()的索引和从数组中删除的元素。

但我不确定在编辑折线时可以使用这些事件来处理更改。 这非常有趣,请告诉我们它是否有效以及如何使用!