Vì vậy, tôi đã cung cấp cho người dùng các điều khiển để sử dụng thanh tìm kiếm để thay đổi bán kính của đối tượng lớp phủ vòng tròn trong MapView.Android Tự động thay đổi kích thước vòng tròn chỉ một nửa vòng tròn cập nhật chính xác
Tuy nhiên, khi bạn kéo seekbar để thay đổi bán kính của vòng tròn, chỉ có phần dưới cùng của nó cập nhật thông suốt:
Nửa đầu là những gì các bán kính của vòng tròn là và đáy là nơi bán kính của vòng tròn hiện tại. Phần dưới cùng cập nhật thông suốt (cùng với tiến trình trên thanh tìm kiếm), nhưng phần trên vẫn giữ nguyên trong nửa giây.
Bạn đã từng thấy điều này trước đây chưa? Đây là phương thức onDraw từ đối tượng RadiusOverlay tôi đang sử dụng:
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);
}
Cảm ơn bạn đã xem.