Мне нужно нарисовать фигуры, подобные тем, которые вы бы создали с помощью пользовательских картна Картах Google. , используя Android MapView.
Другими словами, если я рисую фигуру на карте, при уменьшении масштаба она должна уменьшаться, охватывая одну и ту же область карты независимо от уровня масштабирования.
Пример, следующий из справочника по Android:
@Override
public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when)
{
super.draw(canvas, mapView, shadow);
//---translate the GeoPoint to screen pixels---
Point screenPts = new Point();
mapView.getProjection().toPixels(p, screenPts);
Paint boxPaint = new Paint();
boxPaint.setColor(android.graphics.Color.WHITE);
boxPaint.setStyle(Paint.Style.FILL);
boxPaint.setAlpha(140);
canvas.drawCircle(screenPts.x, screenPts.y, 20, boxPaint);
return true;
}
На карте показан белый круг, но если вы уменьшите масштаб, круг останется того же размера. Возможно, использование холста — неправильный подход?
Мне нужно что-то вроде того, как Google Maps выделяет районы или города:
Есть идеи? Заранее спасибо!