4
List<Address> addresses = new Geocoder(a).getFromLocation(latitude,longitude, 1);
Address adr = addresses.get(0)

//receive different paramters of an address
postalCode = a.getPostalCode();
city = a.getLocality();
county = a.getAdminArea();
country = a.getCountryName();
street = a.getThoroughfare();

しかし、家屋番号を受け取るにはどうすればよいですか?

注意!a.getAddressLine(0) は、通りの名前と番号を 1 つの文字列で返します (例: MyAddress 101b)。番地(例:101b)だけを受け取る方法はありますか?

4

3 に答える 3

3

多くの場合、住所は概算であり、番地が含まれていません。特に場所が北米または西ヨーロッパでない場合。私の以前の調査では、番地専用のフィールドがないことが示されました。番地が含まれているかどうかを調べるには、正規表現などでアドレス文字列をチェックする必要があります。

于 2012-06-25T13:44:32.347 に答える
-2
Geocoder geocoder = new Geocoder(context, Locale.getDefault());
String result = null;
try {
    List<Address> addressList = geocoder.getFromLocation(
    latitude, longitude, 1);
    if (addressList != null && addressList.size() > 0) 
    {
        Address address = addressList.get(0);
        StringBuilder sb = new StringBuilder();
        // House no and street name
        sb.append(address.getAddressLine(0)).append(""); 
    }
}
于 2016-05-09T11:37:28.547 に答える