我试图隐藏除一个区域之外的整个地图,因为我使用的多边形在我想要显示的区域中有一个洞。
问题在于,根据缩放的不同,空白区域会被多边形的颜色覆盖,或者多边形会失去其颜色。
这是代码:
//polygon hide all world map
float delta = 0.1f; //0.1f
List points = Arrays.asList(new LatLng(90, -180),
new LatLng(-90+delta, -180+delta),
new LatLng(-90+delta, 0),
new LatLng(-90+delta, 180-delta),
new LatLng(0, 180-delta),
new LatLng(90-delta, 180-delta),
new LatLng(90-delta, 0),
new LatLng(90-delta, -180+delta),
new LatLng(0,-180+delta));
PolygonOptions rectOptions = new PolygonOptions();
rectOptions.addAll(points);
//hole
ArrayList<LatLng> a = new ArrayList<>();
a.add(new LatLng(centro.getLatitud1(), centro.getLongitud1()));
a.add(new LatLng(centro.getLatitud2(), centro.getLongitud1()));
a.add(new LatLng(centro.getLatitud2(), centro.getLongitud2()));
a.add(new LatLng(centro.getLatitud1(), centro.getLongitud2()));
Iterable<LatLng> iterator = a;
rectOptions.addHole(iterator);
// Get back the mutable Polygon
rectOptions.fillColor(ResourcesCompat.getColor(getResources(), R.color.colorPrimary, null));
polygon = mMap.addPolygon(rectOptions);
Images:
全对了
多边形颜色消失
洞用多边形的颜色填充
如果我继续缩放,一切都会变好。
我使用 'com.google.android.gms:play-services:9.6.1'
我不知道如何修复它,而且我是地图新手,如果有人知道如何做或知道其他方法来完成我想要的事情,我将非常感激。