0

我调用了Android Geocoder 函数 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)
        }

    }
...
}

我现在真的不知道发生了什么变化,任何帮助表示赞赏。

4

2 回答 2

0

试试这个,希望它会工作

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;
        }
    }
于 2019-06-18T18:56:43.167 回答
-1

我在 2020 年 5 月的今天遇到了同样的问题,问题来自谷歌本身,他们更新了一些依赖项,我在登录云控制台时注意到了。只需将以下内容添加到您的依赖项中:实现 'com.google.android.libraries.places:2.2.0' 或您查看此文件时的最新版本。它应该工作。

于 2020-05-20T00:14:16.887 回答