我正在编写一个带有Google地图组件的Android应用。在此应用中,任何用户都可以在特定区域执行特定的地图操作。因此,我想用灰色绘制整个地图 - 除了多边形定义的一些允许区域。
一个多边形 - 我想在它们外面画任何东西。
问题是使用.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)
并绘制地图中未被具有给定颜色的多边形覆盖的所有部分?
答案 0 :(得分:3)
您可以在其中创建带孔的大多边形: 根据文件: 多边形可以是凸面或凹面,它可以跨越180子午线并且它可以具有未填充的孔。 链接:http://developer.android.com/reference/com/google/android/gms/maps/model/Polygon.html