На моей карте есть точки, которые я могу перетаскивать по карте, чтобы изменить расположение точек многоугольника. Когда маркер перемещается, я получаю полигон, который редактирую, из класса, который отслеживает все элементы моей карты, удаляю его с карты и строю новый полигон с обновленными местоположениями.
Проблема, с которой я сталкиваюсь, заключается в том, что когда я перемещаю точку с одной стороны многоугольника на другую, цвет заливки исчезает, пока я не переместлю 2 другие точки.
Пример
Результат
Это что-то, что я делаю неправильно, или это ошибка в API?
вот часть моего кода в onMarkerDragEnd
String[] ary = marker.getSnippet().split("\\?");
MapElement elem = mapElements.get(Long.parseLong(ary[0]));
ArrayList<LatLng> polyPoints = elem.getLocationArray();
polyPoints.set(Integer.parseInt(ary[1]), marker.getPosition());
Polygon old = elem.getPolygon();
Polygon p = map.addPolygon(new PolygonOptions().fillColor(0x500011FF).strokeColor(0x50444444)
.strokeWidth(4).addAll(polyPoints));
elem.setPolygon(p);
old.remove();
в основном фрагмент маркера содержит позицию точки в массиве местоположений, а затем я получаю эту позицию из массива и обновляю ее новой позицией маркера.