Así que le he dado a los controles de usuario para usar una barra de búsqueda para cambiar el radio de un objeto superpuesto circular en un MapView.Android Cambiando dinámicamente el tamaño del círculo, solo la mitad del círculo se actualiza correctamente
Sin embargo, cuando se arrastra el seekbar para cambiar el radio del círculo, solamente la porción de fondo del mismo actualiza sin problemas:
La mitad superior es lo que el radio del círculo era , y el fondo es donde actualmente se encuentra el radio del círculo. La parte inferior se actualiza suavemente (junto con el progreso en la barra de búsqueda), pero la parte superior permanece estática durante medio segundo más o menos.
¿Has visto algo como esto antes? Aquí está el método onDraw del objeto RadiusOverlay que estoy usando:
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
super.draw(canvas, mapView, shadow);
Point point = new Point();
Projection projection = mapView.getProjection();
projection.toPixels(mGeoPoint, point);
float projectedRadius = projection.metersToEquatorPixels((float)(mRadius * 1609.3d));
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setARGB(50, 41, 166, 247);
paint.setAntiAlias(true);
canvas.drawCircle((float)point.x, (float)point.y, projectedRadius, paint);
}
Gracias por tener una mirada.