現在、次のコードを使用して、(Google マップ) 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;
残念ながら、これでは正しい出力が得られません。私は現在、ポイント(52.9476, -1.1452)を中心に、MapView でズーム レベル 18 にいます。上記のコードの出力は、それぞれ値(52.947632、-181.145156、52.947632、178.854844) を示します。明らかに、示されている最小緯度は物理的に不可能であり、緯度は両方とも中心緯度とまったく同じであるという点で問題があります。MapView 自体が位置を正しく表示していることを確認できます。
なぜこれが起こっているのか誰でも説明できますか?私が見たこの問題に対するすべての解決策の中で、これは人々が運が良かったように見える唯一のものであり、それでも機能しません!