2013-10-30 48 views
0

我是Android開發初學者。我在我的應用程序中使用Google Maps API V2。我想自動顯示當前位置的街道名稱,郵政編碼/郵政編碼,城市。目前我只顯示當前位置的經緯度,但不知道如何獲取這些信息。誰能告訴我正確的方式,我怎樣才能得到這些信息(街道名稱,郵政編碼/郵政編碼,市)從Maps API第2 ..如何顯示街道名稱,郵政編碼/郵政編碼,城市自動使用地圖API當前位置v2

回答

1

請參閱此鏈路http://developer.android.com/reference/android/location/Geocoder.html

反向地理編碼是將(緯度,經度)座標轉換爲(部分)地址的過程。反向地理編碼位置描述中的詳細信息數量可能會有所不同,例如,其中可能包含最近建築物的完整街道地址,而另一個可能只包含城市名稱和郵政編碼。 Geocoder類需要一個未包含在覈心android框架中的後端服務。如果平臺中沒有後端服務,Geocoder查詢方法將返回一個空列表。使用isPresent()方法來確定Geocoder實現是否存在。

例子: -

Geocoder geoCoder = new Geocoder(context); 

    List<Address> matches = geoCoder.getFromLocation(latitude, longitude, 1); 

    Address bestMatch = (matches.isEmpty() ? null : matches.get(0)); 

給你的當前位置座標的功能geoCoder.getFromLocation()和查找地址的詳細信息。

2

地理編碼是查找給定地址或位置的地理座標(緯度和經度)的過程。

反向地理編碼正如你可能猜到的是相反的,如果地理編碼。在這種情況下,一對經度和緯度被轉換成地址或位置。

Geocoder geocoder; 
List<Address> addresses; 
geocoder = new Geocoder(this, Locale.getDefault()); 
addresses = geocoder.getFromLocation(latitude, longitude, 1); 

String address = addresses.get(0).getAddressLine(0); 
String city = addresses.get(0).getAddressLine(1); 
String country = addresses.get(0).getAddressLine(2); 
+0

我使用這種方法來獲取郵政編碼,但這將返回null給我。 address.getPostalCode() –

+0

這可能是因爲該位置不會有任何郵政編碼。 – GrIsHu

相關問題