У меня есть класс, который расширяет Overlay и реализует Overlay.Snappable.Я переопределил метод draw :
@Override
public void draw(Canvas canvas, MapView mv, boolean shadow)
{
Projection projection = mv.getProjection();
ArrayList<GeoPoint> geoPoints = new ArrayList<GeoPoint>();
//Creating geopoints - ommited for readability
Path p = new Path();
for (int i = 0; i < geoPoints.size(); i++) {
if (i == geoPoints.size() - 1) {
break;
}
Point from = new Point();
Point to = new Point();
projection.toPixels(geoPoints.get(i), from);
projection.toPixels(geoPoints.get(i + 1), to);
p.moveTo(from.x, from.y);
p.lineTo(to.x, to.y);
}
Paint mPaint = new Paint();
mPaint.setStyle(Style.FILL);
mPaint.setColor(0xFFFF0000);
mPaint.setAntiAlias(true);
canvas.drawPath(p, mPaint);
super.draw(canvas, mv, shadow);
}
Как вы можете видеть, я составляю список точек на карте и хочу, чтобы они сформировали многоугольную форму.
Теперь проблема в том, что когда я устанавливаю стиль рисования равным FILL или FILL_AND_STROKE, на экране ничего не появляется, но когда я устанавливаю его как просто обводку и устанавливаем ширину обводки, он фактически рисует то, что должен рисовать.
Теперь я искал решение, но ничего не подошло.Можете ли вы сказать мне, если я что-то пропустил, чтобы установить в самом коде, или есть какие-то ограничения при рисовании на холсте Overlay?
Спасибо