我需要以编程方式滚动地图视图,以确保有东西在视图中。我知道每个方向需要滚动多少像素。我看到了一些方法(在mapcontroller中),可以将其动画化到特定的地理点,并在没有动画的情况下按像素滚动。但这与像素无关,与动画有关。
做这件事的简单方法是什么?

最佳答案

好吧,既然没人接,我自己来接。这似乎很有效:

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);
}

09-26 11:26