Я разрабатываю приложение, которое использует карту.Я хочу показать многоугольник с «дырой» в Java Android.Я искал, но, к сожалению, я не мог найти решение.Я думаю, что моя проблема в том, что я не могу установить правильный fillColor.Кто-нибудь может мне помочь?
Мой результат:
Я хочу, чтобы цвет отверстия был прозрачным.
Мой код:
List<ArrayList<LatLng>> multiLatLon;
...
//draw polygon hole
for(int i=0; i<multiLatLon.size(); i++){
poly = new PolygonOptions();
for (int j=0; j<multiLatLon.get(i).size(); j++){
mop.position(multiLatLon.get(i).get(j));
poly.add(multiLatLon.get(i).get(j));
Marker m = mMap.addMarker(mop);
}
poly.fillColor(R.color.colorOcher);
Polygon polygon = mMap.addPolygon(poly);
}
Дайте мне знать, если вам нужна дополнительная информация.
Решение:
...
poly = new PolygonOptions ();
poly.fillColor (ColorUtils.setAlphaComponent (Color.BLUE, 128));
for (int i = 0; i <multiLatLon.size (); i ++) {
if (i == 0) {
poly.addAll (multiLatLon.get (i));
} else {
poly.addHole (multiLatLon.get (i));
}
}
mMap.addPolygon(poly);
В моем случае я знаючто первый массив точек (multiLatLon.get (i)) определяет геометрию многоугольника;в то время как другие являются отверстиями для многоугольника.
Примечание: я использовал addAll, чтобы удалить один для цикла