2012-07-27 14 views
6

ジオポイントの間に線を描いています。成功した。私たちが地図を見ると、次のドローイングに隣接しているときに、ドローラインはピクセル化されているように見えます。行をマージする方法は?アンドロイド上のジオポイント間にスムーズな線を描く

enter image description 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); 
    } 

} 

答えて

3

を行うことができます実行します。

paint.setStrokeCap(Cap.ROUND); 
+0

こんにちは@AndyRes。ありがとう、相棒。そのうまく動作します。 – RVG

2

ですトリックまたは多分drawRoundRectキャンバスのあなたは、このようなペイントオブジェクトのスタイルを変更する必要があるだけでなく