当前位置: 首页 > 知识库问答 >
问题:

在Android中绘制路线可折叠设备

秦信瑞
2023-03-14
public class RouteOverlay extends Overlay {
    private GeoPoint gp1;
    private GeoPoint gp2;
    private int color;

    public RouteOverlay(GeoPoint gp1, GeoPoint gp2, int color) {
        this.gp1 = gp1;
        this.gp2 = gp2;
        this.color = color;
    }

    @Override
    public void draw(Canvas canvas, MapView mapView, boolean shadow) {
        Projection projection = mapView.getProjection();
        Paint paint = new Paint();
        Point point = new Point();
        projection.toPixels(gp1, point);
        paint.setColor(color);
        Point point2 = new Point();
        projection.toPixels(gp2, point2);
        paint.setStrokeWidth(5);
        paint.setAlpha(120);
        canvas.drawLine(point.x, point.y, point2.x, point2.y, paint);
        super.draw(canvas, mapView, shadow);
    }

}
private void drawPath(List<GeoPoint> geoPoints, int color) {    
    mapOverlays.clear();
    mapOverlays.add(myLocationOverlay);
    mapOverlays.add(itemizedoverlay);
    for (int i = 1; i < geoPoints.size(); i++) {            
    mapOverlays.add(new RouteOverlay(geoPoints.get(i - 1), geoPoints.get(i), color));
    }
    mapView.postInvalidate();

如果我做错了什么,有人能告诉我吗?提前谢了。

共有1个答案

鲁羽
2023-03-14

我发现我做错了什么。

当我调用drawPath函数时,在获得GeoPoints列表后,我做了一个循环来检查每个点的坐标。类似于

for (int i = 0; i < geoList.size(); i++){
    Log.i("GEOPOINT " + i, geoList.get(i).toString());
    drawpath(geoList, Color.BLUE);
}

drawPath函数被调用了N次。所以设备崩溃了。我的错。凌晨2:00编程对代码不好!

 类似资料:
  • 本文向大家介绍Android绘制动态折线图,包括了Android绘制动态折线图的使用技巧和注意事项,需要的朋友参考一下 所谓动态折线图,就是折线图能随着手指的滑动进行动态绘制,这里很定会产生动画效果。基于这个效果,这里使用SurfaceView进行制图。 实现步奏如下: (1): 这里新建一个绘图ChartView,继承SurfaceView并实现SurfaceHolder.Callback ,

  • 主要内容:示例可以使用类的方法在图像上绘制多段线。 以下是此方法的语法。 该方法接受以下参数 - mat - 表示要在其上绘制矩形的图像的对象。 pts - 包含类型的对象的对象。 isClosed - 指定折线的布尔型类型的参数是否为关闭的。 color - 表示矩形颜色的标量对象(BGR)。 thickness - 表示矩形厚度的整数; 默认情况下,厚度值为。 类的构造函数接受类的对象。 示例 以下程序演示

  • 主要内容:示例可以使用类的方法在图像上绘制凸多段线。 以下是此方法的语法。 该方法接受以下参数 - mat - 表示要在其上绘制矩形的图像的对象。 points - 一个对象,表示要在其间绘制凸多段线的点。 color - 表示矩形颜色的标量对象(BGR)。 类的构造函数接受类的对象。 示例 以下程序演示如何在图像上绘制凸多段线并使用JavaFX窗口显示它。 在执行上述程序时,您将得到以下输出 -

  • 问题内容: 有人对在情节上显示重叠线的最佳方法有何建议?我有很多这样的想法,我的想法是在不重叠的地方使用不同颜色的实线,在重叠的地方使用虚线,以便可见所有颜色并看到重叠的颜色。 但是,我该怎么办。 问题答案: 只需降低线条的不透明度即可使它们透明。您可以使用alpha变量来实现。例: 其中alpha范围是0-1,其中0是不可见的。

  • 我想创建一个包含三条线(男性、女性、未知)的折线图。这是我的数据示例: 是否有一个选项,在图中自动创建三行或我需要循环通过数据和创建三个跟踪自己?到目前为止,这是我的代码:

  • 假设我有多行,其中一行我想隐藏。如何做到这一点?将删除完整的行,但我只想隐藏该行。在这个图表API中有可能吗?