スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

タグ :

   印刷ボタン       この記事に拍手する       このエントリーをはてなブックマークに追加

Return to page top

  • Comments (Close): -
  • TrackBack (Close): -

住所から座標を割り出す

住所から緯度・経度の座標を割り出したい場合、android.location.Geocoder クラスを使います(リファレンス)。

このクラスは Android 本体のクラスで、Google Map API に含まれるものではありません。

ではさっそく、NHKの住所である「東京都渋谷区神南2丁目2-1」から座標を割り出してみましょう(NHKにしたことに特別意味はありません)。

package sample.basic;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.location.Geocoder;
import java.util.Locale;
import java.util.List;
import android.location.Address;
import java.io.IOException;

public class HelloAndroid extends Activity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

TextView textView1=(TextView)findViewById(R.id.textView1);

Geocoder geocoder = new Geocoder(this, Locale.getDefault());

try{
List<Address> addressList = geocoder.getFromLocationName("東京都渋谷区神南2丁目2-1", 1);
Address address = addressList.get(0);

double lat = address.getLatitude();
double lng = address.getLongitude();
String adr=Double.toString(lat)+","+Double.toString(lng);

textView1.setText(adr);

}catch(IOException e){
textView1.setText("IOException 発生");
}
}
}


あまりお目にかからないクラスとして、Geocoder、Locale、Address をインポートしました。

まず、Geocoderのコンストラクタ。

Geocoder(Context context, Locale locale)

Localeは、言語と国の指定です。Locale.getDefault() で使用している端末のデフォルトが指定されます。日本・日本語を指定する場合、Locale.JAPAN でも可能です(リファレンス)。

住所を指定するのは、getFromLocationName()メソッドです。

public List<Address> getFromLocationName (String locationName, int maxResults)

検索結果は一つとは限らず、Address型のリストが返ってきます。

このリストから、get()メソッドで要素を一つ取り出します。取り出した要素から緯度を取り出すのが getLatitude()メソッドで、経度を取り出すのが getLongitude()メソッドです。

取り出した緯度・経度はdouble型なので、TextViewで表示できるようにDouble.toString()メソッドでString型に変換した上で表示します。

実行結果:
20110903_1

関連記事
スポンサーサイト

タグ :

   印刷ボタン       この記事に拍手する       このエントリーをはてなブックマークに追加

Return to page top

Comments:

Comment Form
Only inform the site author.

Trackback+Pingback:

TrackBack URL for this entry
http://androidhacker.blog94.fc2.com/tb.php/46-53cb6a84
  • 閉じるボタン
レファレンス
月別アーカイブ
リンク
カテゴリ
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。