マップビューの境界を取得しようとしていますが、緯度が常に 0 に設定され、経度が常に 360*1E6 に設定されるという問題がありました。このリンクによると、それは、マップが完全にロードされたときにのみ正しい座標を提供するためです: Mapview getLatitudeSpan および getLongitudeSpan が機能しない
今、私は解決策について完全に混乱しています。私は、メインアクティビティ(マップビュー)のonCreateから呼び出すこのメソッドを作成しました:
public int[][] getBounds()
{
GeoPoint center = this.mapView.getMapCenter();
int latitudeSpan = this.mapView.getLatitudeSpan();
int longtitudeSpan = this.mapView.getLongitudeSpan();
int[][] bounds = new int[2][2];
bounds[0][0] = center.getLatitudeE6() + (latitudeSpan/2);
bounds[0][1] = center.getLongitudeE6() + (longtitudeSpan/2);
bounds[1][0] = center.getLatitudeE6() - (latitudeSpan/2);
bounds[1][1] = center.getLongitudeE6() - (longtitudeSpan/2);
return bounds;
}
マップビューが読み込まれるまでこれを待機させるにはどうすればよいですか? postDelayed の API を調べましたが、動作させることができません。
私が愚かなことをしているなら、私を許してください oo'