2012-07-27 11 views
6

Coğrafi noktalar arasında çizgi çizdim. başarıyla çekildi. haritayı gördüğümüzde, bir sonraki çekilişin düzgün bir şekilde ayarlandığı durumlarda, çizgilerin pikselli görünümü gibi görünüyor. çizgiyi birleştirmek nasıl? Eğer başında bir daire ve her satırın sonuna çizerseniz Kodum buradaAndroid üzerinde geopoints arasında düzgün bir çizgi çizin

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

} 

cevap

3

bunu yapabilirsiniz:

paint.setStrokeCap(Cap.ROUND); 
+0

Merhaba @AndyRes. Tesekkurler dostum. iyi çalışıyor. – RVG

2

(daire çapı satır yüksekliği olmalıdır), olacak düşünüyorum böyle boya nesnenin stilini değiştirmek gerekir hile yapmak ya da belki tuvalin drawRoundRect iyi

İlgili konular