2012-06-01 130 views
0

我是android手機開發的新手。我使用了位置管理器類,併成功找出了用戶的經度和緯度。我想使用這些值來查找城市名稱。我不想要地圖,我只想獲取城市名稱。我該怎麼做呢?如何獲取經度和緯度後的用戶位置

+4

檢查所檢索:安卓:反向地理編碼 - getFromLocation(http://stackoverflow.com/questions/472313/android-reverse-geocoding-getfromlocation) –

+2

可能的重複:http://stackoverflow.com/questions/472313/android-reverse-geocoding-getfromlocation – kgiannakakis

+0

Try [this](http://stackoverflow.com/q/8968592/940096) – Praveenkumar

回答

1

首先得到緯度和使用位置和的LocationManager類經度(你已經完成)。現在嘗試下面獲取城市代碼,地址信息現在

double latitude = location.getLatitude(); 
    double longitude = location.getLongitude(); 
    Geocoder gc = new Geocoder(this, Locale.getDefault()); 
    try { 
    List<Address> addresses = gc.getFromLocation(lat, lng, 1); 
    StringBuilder sb = new StringBuilder(); 
    if (addresses.size() > 0) { 
    Address address = addresses.get(0); 
    for (int i = 0; i < address.getMaxAddressLineIndex(); i++) 
    sb.append(address.getAddressLine(i)).append("\n"); 
    sb.append(address.getLocality()).append("\n"); 
    sb.append(address.getPostalCode()).append("\n"); 
    sb.append(address.getCountryName()); 

市信息是SB。現在將sb轉換爲String(使用sb.toString())。

1
+1

沒有冒犯,但你的鏈接不真正提供解決方案這樣的。請編輯你的答案。 「位置管理器」用於檢索經緯度,但該人沒有真正詢問它。這個問題表明答案是'Reverse Geo-coding'。建議你編輯你的答案,然後再開始得到負面評價。 – Ghost

+1

hi thiru ......! – Dinesh

1

可以使用Geocoder

Geocoder myLocation = new Geocoder(context, Locale.getDefault()); 
List<Address> myList = null; 
try { 
    myList = myLocation.getFromLocation(latitude, longitude, 1); 
} catch (IOException e) {} 

凡經度和緯度的寶貴通過網絡或GPS