android - 在 map 上绘制的多边形的填充颜色问题

标签 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 .

最佳答案

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

Google 问题跟踪器中有一个错误报告:

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

Google 代表发表的第 15 条评论

We do not support self-intersecting polygons (either the outline or the hole intersecting)

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

If the hole intersects the outline of the polygon, the polygon will be rendered without any fill.

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

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

关于android - 在 map 上绘制的多边形的填充颜色问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47235351/

相关文章:

android - 自动更改ListView的背景图片

java - 如何读取 Android Assets 中的文件

google-maps - 如何根据国家/地区代码将谷歌地图居中?

ios - 在 Google map objective-c 中调整、拖动和缩放 GMSCircle

javascript - 无法点击 Google map geojson 标记簇来获取信息

Android 设备未显示在 Android 设备选择器下

android - 用于平板电脑的平板电脑可绘制文件夹

Android Fragments 内容 View 尚未创建

javascript - 在 Laravel 中将 php var 传递给 javascript

带有 fragment 内标记的Android谷歌地图