2012-07-27 20 views
6

Ho tracciato una linea tra i punti geografici. è stato disegnato con successo. quando vediamo la mappa, il profilo appare come pixel quando si è vicini al prossimo drawling. come unire la linea?Disegna una linea smussata tra i geopoints su Android

enter image description here

Il mio codice è qui,

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

} 

risposta

3

si dovrebbe modificare lo stile dell'oggetto vernice in questo modo:

paint.setStrokeCap(Cap.ROUND); 
+0

Ciao @AndyRes. grazie amico. sta funzionando bene. – RVG

2

Se si disegna un cerchio all'inizio e alla fine di ogni riga (il diametro del cerchio deve essere l'altezza della linea), penso che fare il trucco o forse drawRoundRect della tela può farlo bene

Problemi correlati