Narysowałem linię między punktami. pomyślnie go narysował. kiedy widzimy mapę, linia kreślarska wygląda jak pikselowana, gdy towarzyszy jej następny rysunek. jak połączyć linię?Narysuj gładką linię między punktami na Androidzie
Mój kod jest tutaj,
@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);
}
}
Hi @AndyRes. dzięki stary. działa dobrze. – RVG