地理编码器不继续奥利奥



>我有一个应用程序必须从Google Maps API上的标记中收集地址。我测试了这段代码,它在运行Android 6.0的设备上运行良好:

Geocoder geocoder = new Geocoder(this, Locale.getDefault());
try {
List<Address> addressList1 = geocoder.getFromLocation(currentLatitude,currentLongitude,1);
Address addressCurrent = addressList1.get(0);
full_address = addressCurrent.getAddressLine(0); //Detail address
country = addressCurrent.getCountryName();
//locality =  addressCurrent.getLocality(); //sub-district
admin_area = addressCurrent.getAdminArea(); //City
sub_admin_area = addressCurrent.getSubAdminArea(); //District
road_name = addressCurrent.getThoroughfare(); // road
Toast.makeText(this, full_address, Toast.LENGTH_SHORT).show();
}catch (IOException e){
Toast.makeText(this, "No Data", Toast.LENGTH_SHORT).show();
Log.e("error geocoder", e.toString());
}

但是当我尝试在Android 8.1设备上运行时,它会返回一个错误日志:

E/error geocoder: java.io.IOException: NetCode:-1000,NetRes:{}

我试图搜索它,但没有找到解决方案。 我该如何解决这个问题?

正如 Gencoder 文档所说:使用 isPresent(( 方法确定是否存在地理编码器实现。

所以首先调用isPresent((方法,然后手动检查设备网络状态。

如果仍然失败,也许您需要创建自定义地理编码器实现,此链接很有帮助。

相关内容

  • 没有找到相关文章