目前我正在使用以下代码从(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;
不幸的是,这并没有给我正确的输出。我目前在 MapView 中的缩放级别为 18,以点(52.9476, -1.1452)为中心。上述代码的输出分别给出了值(52.947632、-181.145156、52.947632、178.854844)。显然这里有一个问题,显示的最小纬度在物理上是不可能的,并且纬度都与中心纬度完全相同。我可以确认 MapView 本身正确显示了位置。
谁能解释为什么会这样?在我见过的所有解决这个问题的方法中,这是唯一一个人们似乎有运气的方法,但它仍然不起作用!