Android Google地图:绘制除选定多边形之外的整个地图

时间:2014-12-18 13:34:23

标签: android google-maps colors

我的设计

我正在编写一个带有Google地图组件的Android应用。在此应用中,任何用户都可以在特定区域执行特定的地图操作。因此,我想用灰色绘制整个地图 - 除了多边形定义的一些允许区域。

enter image description here 一个多边形 - 我想在它们外面画任何东西。

当前代码

问题是使用.fillColor(Color.SOME-COLOR))绘制特定多边形非常简单,因此我可以轻松地用颜色填充多边形:

FeatureCollection featureCollection = (FeatureCollection)geoJSON;
List<Feature> features = featureCollection.getFeatures();
for (Feature f : features)
{
    Polygon poly = (Polygon) f.getGeometry();
    <...>
    int c = Color.RED;
    com.google.android.gms.maps.model.Polygon toAdd = 
        map.addPolygon(polygonOptions.strokeColor(c)
        .fillColor(Color.RED));
    toAdd.setGeodesic(true);
}

如何绘制其他所有内容?

如何做相反的事情 - 使用fillColor(Color.TRANSPARENT)并绘制地图中未被具有给定颜色的多边形覆盖的所有部分?

1 个答案:

答案 0 :(得分:3)

您可以在其中创建带孔的大多边形: 根据文件: 多边形可以是凸面或凹面,它可以跨越180子午线并且它可以具有未填充的孔。 链接:http://developer.android.com/reference/com/google/android/gms/maps/model/Polygon.html