大鹏一日同风起,扶摇直上九万里。这篇文章主要讲述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
推荐阅读
- Android Compass指向我的位置而不是北
- Android(使用FusedLocationProviderClient获取一次位置())
- 尝试在空对象引用上调用虚方法'double android.location.Location.getLatitude()'[duplicate]
- 如何使用Swift在Cocoa App中设置NSView的颜色()
- Android位置权限代码无法正常运行
- 在Android中计算罗盘方位/前往位置
- 从类android获取位置
- 创建为您提供位置的按钮(Android Studio)
- android检查位置服务启用播放服务位置api