你好,世界!
我正在尝试开发一个应用程序,它可以根据纬度和经度显示波斯语地址。
我应该如何实施呢?
我以这种方式使用GeoCoder类;
public String getAddress(Context context ,double latitude , double longitude)
{
String fullAddress = null ;
try {
Geocoder geocode = new Geocoder(context, new Locale("fa"));
List<android.location.Address> addresses = geocode.getFromLocation(latitude, longitude, 1);
Address ad = addresses.get(0);
fullAddress = ad.getAddressLine(0);
}
catch (IOException exc)
{
fullAddress =exc.getMessage();
exc.printStackTrace();
}
return fullAddress;
}
这就是我得到的。
W/System.err: java.io.IOException: grpc failed
W/System.err: at android.location.Geocoder.getFromLocation(Geocoder.java:136)
如果我将Locale.getDefault()作为Geocoder Ctor参数发送,则结果不会改变
这段代码有什么问题?
感谢您的答复
最佳答案
有一种可能是您从getFromLocation
方法获得的,该方法返回的空列表称为here,但是我通过以下操作解决了相同的问题。
如果您在发布本文之前遇到此问题,请重新运行您的应用并查看
如果现在可行。
如果仍然无法正常工作,请尝试卸载并删除所有文件
与Android Studio有关。 (不是项目文件)。
然后重新安装Android Studio,并重新打开备份的项目。
运行应用程序时,请使用其他虚拟设备和设备API。