我试图隐藏除了区域之外的整个地图,因为我使用的是在我要显示的区域中有一个洞的多边形。
问题在于,根据缩放,空白区域会被多边形的颜色覆盖,或者多边形会失去颜色。
这是代码:
//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);
图片:
一切正确
多边形颜色消失
孔中填充多边形的颜色
如果我继续缩放,一切都向右转。
我正在使用'com.google.android.gms:play-services:9.6.1'
我不知道如何修复它,我是地图中的菜鸟,如果有人知道该怎么做或知道其他方法做我想做的事我会非常感激。