Я пытаюсь нарисовать свободную форму на карте Google до сих пор. Я могу успешно нарисовать полилинию и многоугольник благодаря @Chintan Khetiya ответ на draw free hand polygon in Google map V2 in Android и Draw a path on maps, но когда я пытаюсь рисовать многоугольник например, ниже изображения, то «polygonOptions.fillColor (цвет)« dt work Я пытаюсь преобразовать точку в два многоугольника, но его также можно использовать, чтобы любое тело предлагало или хотели поделиться любым намеком или лучшим решением для рисования свободной руки форма с цветом заливки с использованием google maps polygon.Android Google отображает как рисовать сложный многоугольник с fillColor
вот как я рисовать полигон
fram_map.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
float x = event.getX();
float y = event.getY();
int x_co = Math.round(x);
int y_co = Math.round(y);
projection = mMap.getProjection();
Point x_y_points = new Point(x_co, y_co);
LatLng latLng = mMap.getProjection().fromScreenLocation(x_y_points);
latitude = latLng.latitude;
longitude = latLng.longitude;
int eventaction = event.getAction();
switch (eventaction) {
case MotionEvent.ACTION_DOWN:
// finger touches the screen
val.add(new LatLng(latitude, longitude));
case MotionEvent.ACTION_MOVE:
// finger moves on the screen
val.add(new LatLng(latitude, longitude));
case MotionEvent.ACTION_UP:
// finger leaves the screen
Draw_Map();
break;
}
if (Is_MAP_Moveable == true) {
return true;
} else {
return false;
}
}
});
public void Draw_Map() {
rectOptions = new PolygonOptions();
rectOptions.addAll(val);
rectOptions.strokeColor(Color.BLUE);
rectOptions.strokeWidth(7);
rectOptions.fillColor(Color.CYAN);
polygon = mMap.addPolygon(rectOptions);
}
аналогичная функция используется в "Zillow недвижимости андроид приложение"
Я также пробовал это, но полигон не заполнялся правильно. что мне делать? –
@AhmadVatani У вас есть пересечения в вашем нарисованном полигоне? потому что, если я хорошо помню, полигон не будет заполняться, если есть пересечения (не найдено в документации, но на некоторых устройствах) –
Да. Есть ли решение? –