填充地图上绘制的多边形颜色的问题

时间:2017-11-11 07:06:14

标签: android google-maps

private void drawPolygon(List<LocationPointsModel> locationPoints, String fencingColor) {

    mMap.clear();
    PolygonOptions rectOptions = new PolygonOptions();
    rectOptions.strokeColor(Color.parseColor(fencingColor));
    rectOptions.strokeWidth(2);
    String fillcolor = Constants.FILL_COLOR_GEOFENCE + fencingColor.substring(1);//creating opacity less color
    rectOptions.fillColor(Color.parseColor(fillcolor));
    LatLngBounds.Builder builder = new LatLngBounds.Builder();
    int size = locationPoints.size();
    for (int i = 0; i < size; i++) {
        LatLng latLng = new LatLng(locationPoints.get(i).getLat(), locationPoints.get(i).getLon());
        latList.add(latLng);
        rectOptions.add(latLng);
    }

    Polygon polygon = mMap.addPolygon(rectOptions);
}

在某些情况下,如果多边形线相交,则填充颜色未正确呈现。Polygon Fill color Issue。是否可以通过以下方式填充多边形。 Desired output

1 个答案:

答案 0 :(得分:0)

Google Maps Android API不支持填充自相交多边形的颜色。

Google问题跟踪器中存在错误报告:

https://issuetracker.google.com/issues/35823225#comment15

Google代表发布的评论#15

  

我们不支持自相交多边形(轮廓或孔相交)

文档中还提到了交叉多边形和填充的问题。看看空心多边形部分

  

如果孔与多边形的轮廓相交,则多边形将呈现为没有任何填充。

https://developers.google.com/maps/documentation/android-api/shapes#create_a_hollow_polygon

看起来多边形交叉点和填充在Maps Android API中不兼容。