Android 如何从地图视图中获取最小/最大纬度和经度?

Android 如何从地图视图中获取最小/最大纬度和经度?,android,google-maps,android-mapview,android-maps,bounding-box,Android,Google Maps,Android Mapview,Android Maps,Bounding Box,目前,我正在使用以下代码从(Google Maps)MapView对象获取最小和最大纬度和经度 GeoPoint center = map.getMapCenter(); Double minLat = (center.getLatitudeE6() - (map.getLatitudeSpan() / 2)) / 1E6; Double minLong = (center.getLongitudeE6() - (map.getLongitudeSpan() / 2)) / 1E6; Doubl

目前,我正在使用以下代码从(Google Maps)MapView对象获取最小和最大纬度和经度

GeoPoint center = map.getMapCenter();
Double minLat = (center.getLatitudeE6() - (map.getLatitudeSpan() / 2)) / 1E6;
Double minLong = (center.getLongitudeE6() - (map.getLongitudeSpan() / 2)) / 1E6;
Double maxLat = (center.getLatitudeE6() + (map.getLatitudeSpan() / 2)) / 1E6;
Double maxLong = (center.getLongitudeE6() + (map.getLongitudeSpan() / 2)) / 1E6;
不幸的是,这并没有给我一个正确的输出。我目前在地图视图中处于缩放级别18,以点为中心(52.9476,-1.1452)。上述代码的输出分别给出值(52.947632,-181.145156、52.947632、178.854844)。显然,这里有一个问题,显示的最小纬度在物理上是不可能的,而且两个纬度都与中心纬度完全相同。我可以确认地图视图本身正确显示了位置


有人能解释为什么会这样吗?在我所看到的所有解决方案中,这是唯一一个人们似乎运气好但仍然不起作用的解决方案

我现在已经自己解决了这个问题。基本上,在地图视图投影准备就绪之前,这些函数将分别返回0和360*1E6表示纬度和经度。因此,所有需要做的就是在异步任务中对这些值执行检查,直到它们准备好。

我现在已经自己解决了这个问题。基本上,在地图视图投影准备就绪之前,这些函数将分别返回0和360*1E6表示纬度和经度。因此,所有需要做的就是在异步任务中对这些值执行检查,直到它们准备好为止