/** Start animating the map towards the given point. */
 public void animateTo(final GeoPoint point) {
   final int x = mOsmv.getScrollX();
   final int y = mOsmv.getScrollY();
   final Point p = Mercator.projectGeoPoint(point, this.mOsmv.getPixelZoomLevel(), null);
   final int worldSize_2 = this.mOsmv.getWorldSizePx() / 2;
   mOsmv.mScroller.startScroll(
       x, y, p.x - worldSize_2 - x, p.y - worldSize_2 - y, ANIMATION_DURATION_DEFAULT);
   mOsmv.postInvalidate();
 }