首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获得v2安卓地图的地图中心?

如何获得v2安卓地图的地图中心?
EN

Stack Overflow用户
提问于 2012-12-17 02:59:42
回答 6查看 59.1K关注 0票数 83

在用于安卓v1的谷歌地图中,MapView有一个方便的方法:getMapCenter()。现在不知道怎么用这个接口的v2获取地图中心。我仔细阅读了API文档,但没有提到这样的特性。请给我建议。

谢谢,伊戈尔

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-12-18 19:34:05

我也有同样的问题。看起来你可以这样得到中心:

代码语言:javascript
复制
mMap.getCameraPosition().target

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

请注意,GeoPoint类不再可用。

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

目标是“摄像机指向的位置”。(我用示例代码测试了它,它对我来说运行得很好)

票数 200
EN

Stack Overflow用户

发布于 2013-05-20 06:51:24

我找到了两种方法:

1)最简单的方法是在地图的CameraPosition对象中使用target属性

代码语言:javascript
复制
 LatLng center = mMap.getCameraPosition().target;

2)第二种方式是使用VisibleRegion对象:

代码语言:javascript
复制
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);

我比较了两个答案:

代码语言:javascript
复制
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);
票数 34
EN

Stack Overflow用户

发布于 2016-02-25 03:04:24

您可以使用:

代码语言:javascript
复制
latlng=map.getProjection().getVisibleRegion().latLngBounds.getCenter();
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13904505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档