3
我需要以編程方式滾動MapView以確保某些東西在視圖中。我知道它需要在每個方向上滾動多少個像素。我看到方法(在MapController中)將其設置爲一個特定的GeoPoint,並通過像素滾動它而不需要動畫。但沒有什麼可以通過像素來實現,只需要一個動畫。mapview的動畫滾動(按像素,而不是lat長)
什麼是一個簡單的方法來做到這一點?
我需要以編程方式滾動MapView以確保某些東西在視圖中。我知道它需要在每個方向上滾動多少個像素。我看到方法(在MapController中)將其設置爲一個特定的GeoPoint,並通過像素滾動它而不需要動畫。但沒有什麼可以通過像素來實現,只需要一個動畫。mapview的動畫滾動(按像素,而不是lat長)
什麼是一個簡單的方法來做到這一點?
好吧,因爲沒有人回答我會自己回答。這似乎工作正常:
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);
}