2012年6月6日水曜日

AndroidのMapViewで画面の四隅の緯度経度を取得する

GeoPoint point = mapview.getMapCenter();
int lat_span = mapview.getLatitudeSpan();
int lng_span = mapview.getLongitudeSpan();

double west_lat = (double)(point.getLatitudeE6() - (lat_span / 2)) / 1E6;
double east_lat = (double)(point.getLatitudeE6() + (lat_span / 2)) / 1E6;
double south_lng = (double)(point.getLongitudeE6() - (lng_span / 2)) / 1E6;
double north_lng = (double)(point.getLongitudeE6() + (lng_span / 2)) / 1E6;



  • 画面の左端の経度はwest_lat
  • 画面の右端の経度はeast_lat
  • 画面の上端の緯度はnorth_lng
  • 画面の下端の緯度はsouth_lng


なので、四隅の緯度経度は


  • 上の左端はwest_latとnorth_lng
  • 下の左端はwest_latとsouth_lng
  • 上の右端はeast_latとnorth_lng
  • 下の右端はeast_latとsouth_lng


となる。