所以我给用户控件使用搜索栏来改变 MapView 中圆形覆盖对象的半径。
但是,当您拖动搜索栏以更改圆的半径时,只有它的底部会平滑更新:
上半部分是圆的半径,下半部分是当前圆的半径。底部平滑更新(以及搜索栏上的进度),但顶部保持静止半秒左右。
以前见过这样的事情吗?这是我正在使用的 RadiusOverlay 对象的 onDraw 方法:
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);
}
谢谢你看。