在我的地图中,我有一些点可以在地图上拖动以更改多边形点的位置。当移动标记时,我从一个跟踪我所有地图元素的类中获取我正在编辑的多边形,将其从地图中移除并绘制一个带有更新位置的新多边形。
我遇到的问题是当我将多边形一侧的一个点移动到另一侧时,填充颜色消失,直到我移动其他两个点。
实施例
结果
这是我做错了还是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();
基本上标记片段保存位置数组中点的位置,然后我从数组中获取该位置并使用标记的新位置更新它
答案 0 :(得分:0)
您好像正在使用google-play-services v4,因为"Polygon vertices may now be ordered in clockwise or counterclockwise order."(已在v5中修复)。
在Android SDK Manager中更新google-play-services并再次导入lib项目。此外,您应该在3.0.25或更高版本的设备上安装Google Play服务APK。