http://developer.android.com/reference/android/location/Address.html
1./res/layout/activity_main.xml 放個TextView
2.MainAcitvity.java
package com.terryyamg.addressestest; import android.app.Activity; import android.location.Address; import android.location.Geocoder; import android.os.Bundle; import android.widget.TextView; import java.io.IOException; import java.util.List; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView tvAddress = (TextView) findViewById(R.id.tvAddress); Geocoder geocoder = new Geocoder(this); List<Address> addresses = null; double lat = 22.6721740; double lon = 120.3100350; try { addresses = geocoder.getFromLocation(lat, lon, 1); //放入座標 } catch (IOException e) { e.printStackTrace(); } if (addresses != null && addresses.size() > 0) { Address address = addresses.get(0); String addressText = String.format("%s-%s%s%s%s", address.getCountryName(), //國家 address.getAdminArea(), //城市 address.getLocality(), //區 address.getThoroughfare(), //路 address.getSubThoroughfare() //巷號 ); tvAddress.setText(addressText); } } }
檔案下載:
https://github.com/terryyamg/AddressesTest
參考連結:
http://developer.android.com/reference/android/location/Address.html
http://wptrafficanalyzer.in/blog/android-reverse-geocoding-at-touched-location-in-google-map-android-api-v2/
您好 感謝您的分享!我下載了您的範例並執行了,但是我顯示的不是中文是英文,請問要怎麼轉換呢QQ?
回覆刪除因為你的手機或模擬器的語言是英文語系,他會顯示預設語系,可以在
刪除Geocoder geocoder = new Geocoder(this, Locale.CHINESE);
修改Local語系就好囉~