JMR*_*ies 5 android android-maps android-canvas
所以我给用户控件使用搜索栏来改变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);
}
Run Code Online (Sandbox Code Playgroud)
谢谢你看看.
所以我将其添加到绘制圆形叠加层的方法中:
mController.animateTo(mLocationOverlay.getMyLocation());
Run Code Online (Sandbox Code Playgroud)
其中mController是 LocationController ,mLocationOverlay是 LocationOverlay (我想这有点明显)。
不管怎样,添加那条线使圆圈的动画变得顺利。这可能与叠加层在地图上的工作方式有关,如果它们不居中,它们就会被剪裁或其他东西。谁知道。但我通过移除那条线再次测试它,果然它再次被剪断。所以我想这就是解决方案。耸肩
如果有人有真正的解释,请随时提供。
| 归档时间: |
|
| 查看次数: |
1248 次 |
| 最近记录: |