1

在我的地图中,我有一些点可以在地图上拖动以更改多边形点的位置。当标记移动时,我从一个跟踪所有地图元素的类中获取我正在编辑的多边形,将其从地图中删除并绘制一个具有更新位置的新多边形。

我遇到的问题是,当我将多边形一侧的一个点移动到另一侧时,填充颜色会消失,直到我移动其他点中的 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();

基本上标记片段保存位置数组中点的位置,然后我从数组中获取该位置并用标记的新位置更新它

4

1 回答 1

0

您似乎正在使用 google-play-services v4,因为“多边形顶点现在可以按顺时针或逆时针顺序排列。” (在 v5 中修复)。

在 Android SDK Manager 中更新 google-play-services 并再次导入 lib 项目。此外,您的设备上应该有 3.0.25 或更高版本的 Google Play Services APK。

于 2013-04-26T21:16:19.133 回答