He encontrado dos formas de hacer esto:
1) El más fácil, el primero es usar la propiedad de destino en el objeto CameraPosition del mapa
LatLng center = mMap.getCameraPosition().target;
2) El segundo es usar un objeto VisibleRegion:
VisibleRegion visibleRegion = mMap.getProjection()
.getVisibleRegion();
Point x = mMap.getProjection().toScreenLocation(
visibleRegion.farRight);
Point y = mMap.getProjection().toScreenLocation(
visibleRegion.nearLeft);
Point centerPoint = new Point(x.x / 2, y.y / 2);
LatLng centerFromPoint = mMap.getProjection().fromScreenLocation(
centerPoint);
He comparado ambas respuestas:
Log.d("MapFragment: ", "Center From camera: Long: " + center.longitude
+ " Lat" + center.latitude);
Log.d("Punto x", "x:" + x.x + "y:" + x.y);
Log.d("Punto y", "y:" + y.x + "y:" + y.y);
Log.d("MapFragment: ", "Center From Point: Long: "
+ centerFromPoint.longitude + " Lat"
+ centerFromPoint.latitude);