我需要以编程方式滚动地图视图,以确保有东西在视图中。我知道每个方向需要滚动多少像素。我看到了一些方法(在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);
}