如何获得v2 android地图的地图中心?

在Google Maps for Android v1中 ,MapView有一个方便的方法: getMapCenter() 。 现在我无法弄清楚如何使用这个api的v2获得地图中心。 我已经仔细阅读了API文档,但没有提到这样的function。 请指教。

谢谢,伊戈尔

我有同样的问题。 看来你可以通过这种方式获得中心:

 mMap.getCameraPosition().target 

其中mMap是您的活动中的GoogleMap实例。 这将返回一个基本上代表地图中心的LatLng对象。

请注意, GeoPoint类不再可用。

根据http://developer.android.com/reference/com/google/android/gms/maps/model/CameraPosition.html

目标是“相机指向的位置”。 (我用示例代码对它进行了testing,对我来说工作还行)

我find了两种方法:

1)最简单的,首先是在Map的CameraPosition对象中使用target属性

  LatLng center = mMap.getCameraPosition().target; 

2)第二个是使用VisibleRegion对象:

 VisibleRegion visibleRegion = mMap.getProjection() .getVisibleRegion(); Point x = mMap.getProjection().toScreenLocation( visibleRegion.farRight); Point y = mMap.getProjection().toScreenLocation( visibleRegion.nearLeft); Point centerPoint = new Point(xx / 2, yy / 2); LatLng centerFromPoint = mMap.getProjection().fromScreenLocation( centerPoint); 

我已经比较了两个答案:

 Log.d("MapFragment: ", "Center From camera: Long: " + center.longitude + " Lat" + center.latitude); Log.d("Punto x", "x:" + xx + "y:" + xy); Log.d("Punto y", "y:" + yx + "y:" + yy); Log.d("MapFragment: ", "Center From Point: Long: " + centerFromPoint.longitude + " Lat" + centerFromPoint.latitude); 

在Activity中使用googleMap.setOnCameraChangeListener() method to get position of Came地图中心,然后使用googleMap.setOnCameraChangeListener() method to get position of Came

 @Override public void onMapReady(GoogleMap googMap) { googleMap.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() { @Override public void onCameraChange(CameraPosition cameraPosition) { Log.i("centerLat",cameraPosition.target.latitude); Log.i("centerLong",cameraPosition.target.longitude); } }); } 

您可以使用:latlng = map.getProjection()。getVisibleRegion()。latLngBounds.getCenter();