在我的地图中,我有一些点可以在地图上拖动以更改多边形点的位置。当标记移动时,我从一个跟踪所有地图元素的类中获取我正在编辑的多边形,将其从地图中删除并绘制一个具有更新位置的新多边形。
我遇到的问题是,当我将多边形一侧的一个点移动到另一侧时,填充颜色会消失,直到我移动其他点中的 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();
基本上标记片段保存位置数组中点的位置,然后我从数组中获取该位置并用标记的新位置更新它