如何获得修改后的drawingManager形状的点坐标?GoogleMaps API v3

che*_*oza 5 google-maps google-maps-api-3

我有这个DrawingManager对象:

    drawingManager = new google.maps.drawing.DrawingManager({
      drawingMode: google.maps.drawing.OverlayType.POLYGON,
      markerOptions: {
        draggable: true
      },
      polylineOptions: {
        editable: true
      },
      polygonOptions: polyOptions,
      map: map
    });
Run Code Online (Sandbox Code Playgroud)

当Polygon完成后,我得到了它们的符号:

    google.maps.event.addListener(drawingManager, 'polygoncomplete', function (polygon) {
        var coordinates = (polygon.getPath().getArray());
        console.log(coordinates);
      });
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用DrawingManager更改多边形,显然形状会发生变化,可能会添加更多的点..
那么如何修改它后如何获得所有点的坐标,例如单击按钮完成版本?提前致谢.

che*_*oza 12

好的,我的第二个代码答案:

var coordinates = (polygon.getPath().getArray());
Run Code Online (Sandbox Code Playgroud)

最后,我通过添加一个监听器调用一个获取数组的函数,得到了最后一个坐标调用此代码的数组:

JS

function getCoordinates() {
    console.log(polygon.getPath().getArray());
}

google.maps.event.addDomListener(document.getElementById('CoordsButton'), 'click', getCoordinates);
Run Code Online (Sandbox Code Playgroud)

HTML

<button id="CoordsButton">Coordinates</button>
Run Code Online (Sandbox Code Playgroud)

然后当点击按钮时,我得到了电线......

不管怎么说,还是要谢谢你