Android在服务中使用Geocoder获取位置地址

大鹏一日同风起,扶摇直上九万里。这篇文章主要讲述Android在服务中使用Geocoder获取位置地址相关的知识,希望能为你提供帮助。
我跟着this获得了位置坐标和地址
所以这里每10秒获取更新位置坐标纬度和经度
我正在尝试获取位置地址
在这里获取地址我正在使用Const类

public class Const {public static String getCompleteAddressString(Context m_context, double LATITUDE, double LONGITUDE) { String strAdd = ""; Geocoder geocoder = new Geocoder(m_context, Locale.getDefault()); try { List< Address> addresses = geocoder.getFromLocation(LATITUDE, LONGITUDE, 1); if (addresses != null) { Address returnedAddress = addresses.get(0); StringBuilder strReturnedAddress = new StringBuilder(""); for (int i = 0; i < returnedAddress.getMaxAddressLineIndex(); i++) { strReturnedAddress.append(returnedAddress.getAddressLine(i)).append(" "); } strAdd = strReturnedAddress.toString(); Log.v("My Current location add", "" + strAdd.toString()); } } catch (Exception e) { e.printStackTrace(); Toast.makeText(m_context, "Sorry, Your location cannot be retrieved !" + e.getMessage(), Toast.LENGTH_SHORT).show(); } return strAdd; } }

现在在Main Activity获取我正在使用的地址
private void updateUI() { mLatitudeTextView.setText(String.format("%s: %f", mLatitudeLabel, mCurrentLocation.getLatitude())); mLongitudeTextView.setText(String.format("%s: %f", mLongitudeLabel, mCurrentLocation.getLongitude())); mLastUpdateTimeTextView.setText(String.format("%s: %s", mLastUpdateTimeLabel, mLastUpdateTime)); //For AddressmLocAddTextView.setText(String.format("%s: %s", mLocAddressLabel, Const.getCompleteAddressString(this, mCurrentLocation.getLatitude(), mCurrentLocation.getLongitude()))); }

但在这里显示没有任何人可以告诉我这里有什么不对
答案你的守则是完美的
在你的Const class尝试这个
strReturnedAddress .append(returnedAddress.getAddressLine(0)).append(" ");

如果你想使用邮政编码,地区和国家..等...使用
List< Address> addresses = geocoder.getFromLocation(LATITUDE, LONGITUDE, 1); if (addresses != null) { Address returnedAddress = addresses.get(0); StringBuilder strReturnedAddress = new StringBuilder(""); for (int i = 0; i < returnedAddress.getMaxAddressLineIndex(); i++) { strReturnedAddress.append(returnedAddress.getAddressLine(i)).append(" "); } strReturnedAddress .append(returnedAddress.getAddressLine(0)).append(" "); strReturnedAddress .append(returnedAddress.getLocality()).append(" "); strReturnedAddress .append(returnedAddress.getPostalCode()).append(" "); strReturnedAddress .append(returnedAddress.getCountryName()); strAdd= strReturnedAddress.toString(); Log.v("My Current location add", "" + streturnedAddressd.toString()); }

【Android在服务中使用Geocoder获取位置地址】要获取地理编码器地址,请关注Android GeoCode Location

    推荐阅读