我给Android Geocoder function getFromLocation打了个电话,它在2019年6月6日之前大部分时间都能用。但在那之后,它失败了很多。
在那一天之前,我曾经有不到10个错误,然后在6号,它上升到100,从那以后每天大约有80个错误。
这就是发生的事情,这些天周围没有任何新的版本或代码更改。该异常有一条消息,它只显示"GPRC失败“
我的代码非常标准:
try {
addresses = V1Motorista.getGeocoder().getFromLocation(lastLocation.latitude, lastLocation.longitude, 5)
} catch (e: Exception) {
Log.d("GEOCODE TRY 1", e.message)
Analytics.logError("Erro ao tentar resolver Geocode pela primeira vez", e)
}和
class V1Motorista : Application() {
companion object {
lateinit var instance: V1Motorista
fun getGeocoder(): Geocoder {
return Geocoder(instance)
}
}
...
}我真的不知道现在发生了什么变化,任何帮助都很感激。
发布于 2019-06-19 02:56:43
尝试一下,希望它能起作用
public String getAddress(double lat, double lng) {
Geocoder geocoder = new Geocoder(context, Locale.getDefault());
try {
List<Address> addresses = geocoder.getFromLocation(lat, lng, 1);
if (addresses.size() > 0) {
Address obj = addresses.get(0);
String mainAddress = obj.getAddressLine(0);
String add = obj.getAddressLine(0);
add = add + "\n" + obj.getCountryName();
add = add + "\n" + obj.getCountryCode();
add = add + "\n" + obj.getAdminArea();
add = add + "\n" + obj.getPostalCode();
add = add + "\n" + obj.getSubAdminArea();
add = add + "\n" + obj.getLocality();
add = add + "\n" + obj.getSubThoroughfare();
Log.e("IGA", "Address" + add);
return mainAddress;
} else {
Toast.makeText(context, "Address still not selected.", Toast.LENGTH_SHORT).show();
return "";
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show();
return null;
}
}发布于 2020-05-20 08:14:17
我在2020年5月的今天遇到了同样的问题,这个问题来自Google本身,他们更新了一些依赖项,当我登录到我的云控制台时,我注意到了这一点。只需将以下内容添加到您的依赖项中:实现‘com.google.android.library aries.place:2.2.0’或您正在查看的最新版本。应该能行得通。
https://stackoverflow.com/questions/56650435
复制相似问题