mapview的动画滚动(按像素,而不是拉长)

时间:2010-11-17 08:17:27

标签: android

我需要以编程方式滚动MapView以确保某些内容在视图中。我知道每个方向需要滚动多少像素。我看到方法(在MapController中)将它设置为特定GeoPoint的动画,并按像素滚动它而不用动画。但是没有像素一样用动画来做。

这是一种简单的方法吗?

1 个答案:

答案 0 :(得分:9)

好吧,既然没有人回答我会自己回答。这似乎工作正常:

public static void panMap (int x, int y, MapView map) {
    Point ptPixels = new Point();
    GeoPoint geoPt = map.getMapCenter();
    Projection projection = map.getProjection();
    projection.toPixels(geoPt, ptPixels);
    ptPixels.x += x;
    ptPixels.y += y;
    geoPt = projection.fromPixels(ptPixels.x, ptPixels.y);
    map.getController().animateTo(geoPt);
}