Нарисуйте линию динамически, исходя из гео-точек отслеживания в реальном времени - PullRequest
1 голос
/ 13 января 2012

Я хочу динамически нарисовать линию, когда пользователь поворачивается куда угодно. Я изо всех сил пытаюсь нарисовать линии, используя геоинты пользователя, когда мы постоянно слушаем его местоположение. Я пытался использовать moveTo и lineTo, но это возможно только для одной строки. Спасибо за ваши ответы заранее спасибо!

Обновление:

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);
}

Изображение:

Рисование линии должно следовать везде, где будет пользователь. draw track

1 Ответ

0 голосов
/ 13 января 2012

Вы можете использовать Путь и более конкретно:

private final Path mPath;
................
mPath.lineTo(lastXCoord,lastYCoord);
...