2008-12-14
■[Android][memo]GPSの緯度経度から住所へ変換

TextViewでエミュレータ上に出力した結果
ソース1
package cafe.hawaii; import java.io.IOException; import java.util.List; import java.util.Locale; import android.content.Context; import android.location.Address; import android.location.Geocoder; import android.util.Log; public class ReverseGeocode { final String tag = "ReverseGeocode"; //座標を住所のStringへ変換 public String point2address(double latitude, double longitude, Context context) throws IOException{ String string = new String(); //geocoedrの実体化 Log.d(tag, "Start point2adress"); Geocoder geocoder = new Geocoder(context, Locale.JAPAN); List<Address> list_address = geocoder.getFromLocation(latitude, longitude, 5); //引数末尾は返す検索結果数 //ジオコーディングに成功したらStringへ if (!list_address.isEmpty()){ Address address = list_address.get(0); StringBuffer strbuf = new StringBuffer(); //adressをStringへ String buf; for (int i = 0; (buf = address.getAddressLine(i)) != null; i++){ Log.d(tag, "loop no."+i); strbuf.append("address.getAddressLine("+i+"):"+buf+"\n"); } string = strbuf.toString(); } //失敗(Listが空だったら) else { Log.d(tag, "Fail Geocoding"); } Log.d(tag, string); return string; } }
コメント
トラックバック - http://d.hatena.ne.jp/oldfish/20081214/1229257066

