在用于安卓v1的谷歌地图中,MapView有一个方便的方法:getMapCenter()
。现在不知道怎么用这个接口的v2获取地图中心。我仔细阅读了API文档,但没有提到这样的特性。请给我建议。
谢谢,伊戈尔
发布于 2012-12-18 19:34:05
我也有同样的问题。看起来你可以这样得到中心:
mMap.getCameraPosition().target
其中mMap是来自您的活动的GoogleMap实例。这将返回一个LatLng对象,该对象基本上表示地图的中心。
请注意,GeoPoint
类不再可用。
根据http://developer.android.com/reference/com/google/android/gms/maps/model/CameraPosition.html的说法
目标是“摄像机指向的位置”。(我用示例代码测试了它,它对我来说运行得很好)
发布于 2013-05-20 06:51:24
我找到了两种方法:
1)最简单的方法是在地图的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(x.x / 2, y.y / 2);
LatLng centerFromPoint = mMap.getProjection().fromScreenLocation(
centerPoint);
我比较了两个答案:
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);
发布于 2016-02-25 03:04:24
您可以使用:
latlng=map.getProjection().getVisibleRegion().latLngBounds.getCenter();
https://stackoverflow.com/questions/13904505
复制相似问题