Android Geocoder*突然*不返回街道地址,只返回城市

Android Geocoder*突然*不返回街道地址,只返回城市,android,google-geocoder,Android,Google Geocoder,我有一些简单的代码可以从纬度/经度坐标返回地址。 昨天它工作得很好,没有什么变化,但今天它返回的是城市而不是街道地址 我知道我可以深入研究Address类并显式调用getthorougheare(),但这只会返回null Geocoder geocoder = new Geocoder(MainActivity.this, Locale.getDefault()); try { List<Address> addresses = geocoder.getFromLocatio

我有一些简单的代码可以从纬度/经度坐标返回地址。 昨天它工作得很好,没有什么变化,但今天它返回的是城市而不是街道地址

我知道我可以深入研究Address类并显式调用
getthorougheare()
,但这只会返回null

Geocoder geocoder = new Geocoder(MainActivity.this, Locale.getDefault());
try {
    List<Address> addresses = geocoder.getFromLocation(lat, lon, 1);
    return addresses.get(0).getAddressLine(0);
}
Geocoder-Geocoder=new-Geocoder(MainActivity.this,Locale.getDefault());
试一试{
列表地址=地理编码器.getFromLocation(lat,lon,1);
返回地址.get(0).getAddressLine(0);
}
没有模拟器,Nexus5


更新:这很神奇,今天地理编码器又能正常工作了!请注意,经度/纬度坐标在整个时间内保持完全相同。也许我会依赖getThroughfare()来获取街道地址,但请说明它可能不会返回值。

这是由于Geocoder服务的可靠性问题。 在我的单元测试中,经度/纬度坐标保持完全相同,有时只返回城市而不是完整地址


不要依赖Geocoder服务始终返回完整地址

若地理编码器不能准确地找到街道地址,它将只返回城市。