google 地图 editable/draggable 多边形

google map editable/draggable polygons

我正在尝试了解如何通过拖动顶点来编辑 多边形JavaScript API.

中的多边形有 draggable/editable 属性

但是如何为 android API 实现相同的功能?

我解决了这个问题。我为每个顶点添加标记,将其保存到列表并添加 onDragListener。每次发生 onMarkerDrag 回调时,我都会从标记中获取 latLng 并将它们设置为多边形。

 @Override
public void onMarkerDrag(Marker marker) {
    if (mPolygon == null) {
        return;
    }
    mPolygon.setPoints(markersToLatLng(mVertexMarkers));
}

private List<LatLng> markersToLatLng(List<Marker> markers) {
    List<LatLng> latLngs = new ArrayList<>();
    if (markers == null) {
        return latLngs;
    }
    for (Marker m : markers) {
        latLngs.add(m.getPosition());
    }
    return latLngs;
}