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

发布于 2024-12-27 01:20:11 字数 1027 浏览 2 评论 0原文

我想当用户转向任何地方时动态地画一条线。当我们不断监听用户的位置时,我正在努力研究如何使用用户地理点来绘制线条。我尝试过使用 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);
}

图片:

无论用户在哪里,线条的绘制都必须跟随。 绘制轨迹

I want to draw a line dynamically as the user turns anywhere he goes. I am struggling on how to draw the lines using the user geopoints as we listen to his location continuously. I have tried to use moveTo and lineTo but it's only possible for only one line. Thanks for your answers in advance thanks.!

Update:

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

Picture:

The drawing of line must follow wherever the user will be.
draw track

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

薯片软お妹 2025-01-03 01:20:11

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

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

You can use a Path and more specifically:

private final Path mPath;
................
mPath.lineTo(lastXCoord,lastYCoord);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文