Иногда уместно скрыть классы реализации от пользователя - в этих случаях, лучше поместить их в foo_internal.h, чем в общедоступном определении класса. Тем путем читатели Вашего foo.h не будут видеть то, что Вы предпочли бы, чтобы они не были обеспокоены с, но Вы можете все еще тесты записи против каждой из конкретных реализаций Вашего интерфейса.
Используете ли вы MapActivity
? Вот код, который я использовал:
MapView mapView = (MapView)findViewById(R.id.map);
Projection projection = mapView.getProjection();
int y = mapView.getHeight() / 2;
int x = mapView.getWidth() / 2;
GeoPoint geoPoint = projection.fromPixels(x, y);
double centerLatitude = (double)geoPoint.getLatitudeE6() / (double)1E6;
double centerLongitude = (double)geoPoint.getLongitudeE6() / (double)1E6;
Вам также нужно добавить код, похожий на этот:
@Override
public boolean dispatchTouchEvent(MotionEvent event)
{
boolean result = super.dispatchTouchEvent(event);
if (event.getAction() == MotionEvent.ACTION_UP)
reload_map_data(); /// call the first block of code here
return result;
}