Draw smooth line between geopoints on android

Viewed 1952

I've drawed line between geopoints. its successfully drawed. when we see the map, the drawline look like pixelated when adjecent of next drawling. how to merge the line?

enter image description here

My code is here,

@Override
public void draw(Canvas canvas, MapView mapview, boolean shadow) {
    super.draw(canvas, mapview, shadow);
    if(! routeIsActive) return;

    mapview.getProjection().toPixels(locpoint, pp);       // Converts GeoPoint to screen pixels

    int xoff = 0;
    int yoff = 0;
    int oldx = pp.x;
    int oldy = pp.y;
    int newx = oldx + xoff;
    int newy = oldy + yoff;

    paint.setAntiAlias(true);
    paint.setDither(true);
            paint.setStrokeWidth(7);
    for(int i=0; i<numberRoutePoints-1; i++)
    {
        switch(routeMode.get(i))
        {
        case 0:
            paint.setColor(Color.parseColor("#666666"));
            break;
        case 1:
            paint.setColor(Color.parseColor("#0EA7D6"));
            break;
        case 2:
            paint.setColor(Color.parseColor("#654321"));
            break;
        case 3:
            paint.setColor(Color.parseColor("#123456"));
            break;
        }   

        mapview.getProjection().toPixels(routePoints.get(i), pold);
        oldx = pold.x;
        oldy = pold.y;
        mapview.getProjection().toPixels(routePoints.get(i+1), pnew);
        newx = pnew.x;
        newy = pnew.y;

        canvas.drawLine(oldx, oldy, newx, newy, paint);
    }

}
2 Answers
Related