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;
}
我正在尝试了解如何通过拖动顶点来编辑 多边形。 JavaScript API
.
但是如何为 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;
}