На следующем скриншоте я рисую многоугольник, нажимая карты Google.Используя setOnMapClickListener, ширина выбранных точек (1-10, показанная на рисунке) сохраняется в списке массивов, затем с использованием метода polygon, как показано, нарисован многоугольник.
Точки выбираются в последовательности какпоказано на рисунке, но я получаю дополнительную строку между 8 и 10. Как я могу получить многоугольник для точных точек, щелкнувших по карте.
mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng) {
polygon_list.add(latLng);
mMap.addMarker(new MarkerOptions().position(latLng).icon(BitmapDescriptorFactory.fromResource(R.mipmap.dot)).anchor(0.5f, 0.5f));
}
}
});
public void polygon() {
PolygonOptions opts = new PolygonOptions();
for (LatLng location : polygon_list) {
opts.add(location);
poly_shape = mMap.addPolygon(opts.strokeColor(Color.RED).fillColor(Color.BLUE));
}
}