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

时间:2013-01-18 20:54:33

标签: 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
    });

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

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

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

1 个答案:

答案 0 :(得分:12)

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

var coordinates = (polygon.getPath().getArray());

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

JS

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

google.maps.event.addDomListener(document.getElementById('CoordsButton'), 'click', getCoordinates);

HTML

<button id="CoordsButton">Coordinates</button>

然后当点击按钮时,我得到了指示......

非常感谢