根据实时跟踪地理位置动态绘制线条

时间:2012-01-13 17:04:49

标签: java android routing drawing overlay

我想在用户转向任何地方时动态绘制一条线。当我们不断地听他的位置时,我正在努力如何使用用户地理位置绘制线条。我试过使用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 :(得分:0)

您可以使用Path,更具体地说:

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