21

緯度経度を人間が読める住所に変換する以下のコードがあります。今、通りの名前を含む完全な詳細を取得しています。市、州、国のみを取得するにはどうすればよいですか? 詳細は何もいらない。私を助けてください。

Geocoder geoCoder = new Geocoder(getBaseContext(), Locale.getDefault());
try {
   List<Address> addresses = geoCoder.getFromLocation(latitude, longitude, 1);

   String add = "";
   if (addresses.size() > 0) 
   {
      for (int i=0; i<addresses.get(0).getMaxAddressLineIndex();i++)
     add += addresses.get(0).getAddressLine(i) + "\n";
   }

   showToastMessage(add);
}
catch (IOException e1) {                
   e1.printStackTrace();
}   
4

6 に答える 6

24

アドレスからのオブジェクトに対して次のメソッドを使用します。

getLocality()

getCountryName()

使用する

getAdminArea()状態を戻します。

これが他の国でどれほど正確かはわかりませんが、米国内の住所の場合、これは正しい州名を返します。

PSまったく別の回答を書いて申し訳ありませんが、まだコメントすることはできません。

于 2013-11-27T04:20:14.397 に答える
20

逆ジオコーディングされた場所の説明の詳細の量はさまざまです。たとえば、最寄りの建物の完全な住所が含まれているものもあれば、都市名と郵便番号のみが含まれているものもあります。これは都市名と国名を返します

    if (addresses.size() > 0) {
        System.out.println(addresses.get(0).getLocality());
        System.out.println(addresses.get(0).getCountryName());
    }

詳細については、Addressオブジェクトを調べることができます

于 2012-10-01T12:41:12.843 に答える
3

ジオコーダから返されたAddress( javadoc ) を見てください。getLocality()これには、市の組織getCountry()を返して国名を返すなどの個別のメソッドがあります。

于 2012-10-01T12:39:35.040 に答える
1

アドレスからのオブジェクトに対して次のメソッドを使用します。

 getLocality()
 getCountryName()

ただし、状態を取得する方法がわかりません。

于 2012-10-01T12:39:44.580 に答える