Я работаю над маркером полигона Google Map, у меня есть предопределенный массив lat / long, и мне нужно установить площадь многоугольника. Он работает нормально для меня, но когда я перетаскиваю маркер, линия многоугольника не меняется, она должна иметь быть измененным, когда я перетаскиваю маркер.
Вот моя проблема, я поставлю картинку, чтобы проиллюстрировать это проще.
вот код:
myMap.setOnMarkerDragListener(new GoogleMap.OnMarkerDragListener() {
@Override
public void onMarkerDragStart(Marker marker) {
}
@Override
public void onMarkerDrag(Marker marker) {
updateMarkerLocation(marker);
drawPolygon(coordinates);
}
private void updateMarkerLocation(Marker marker) {
LatLng latLng = (LatLng) marker.getTag();
int position = coordinates.indexOf(latLng);
if (position >= 0) {
coordinates.set(position, marker.getPosition());
marker.setTag(marker.getPosition());
}
}
@Override
public void onMarkerDragEnd(Marker marker) {
}
});
}
private void drawPolygon(List<LatLng> coordinates) {
if (polygon != null) {
polygon.remove();
}
PolygonOptions polygonOptions = new PolygonOptions();
polygonOptions.fillColor(Color.GREEN);
polygonOptions.strokeColor(Color.GREEN);
polygonOptions.strokeWidth(3);
polygonOptions.addAll(coordinates);
polygon = myMap.addPolygon(polygonOptions);
}
как на картинке выше, мой маркер двигается, но не делает многоугольник.
координаты содержат координаты многоугольника из sqlite