我正在尝试将纬度和经度转换为地址。当我使用WIFI时,我得到了正确的答案。但是当我尝试使用3G / LTE时,我遇到了错误:
等待服务器的响应超时。
我在调试模式下发现了这一点。但为什么?我使用相同的信息(Lat,Long)。我该如何解决?继承我的功能
public void convert_adresses (double lat , double lng) throws IOException
{
addresses = geocoder.getFromLocation(lat, lng, 1);
address = addresses.get(0).getAddressLine(0);
city = addresses.get(0).getAddressLine(1);
country = addresses.get(0).getAddressLine(2);
txt_street.setText(address);
txt_city.setText(city);
txt_country.setText(country);
}
我称之为:
try {
convert_adresses(latitude,longtitude);
} catch (IOException e) {
e.printStackTrace();
}
有人有想法吗?
答案 0 :(得分:0)
我不确定GEOcoding ..问题可能是您的网络提供商...
尝试从设备中打开以下网址,然后检查您是否通过wifi连接了所需的输出
答案 1 :(得分:0)
new Geocoder(context) - >您必须为上下文参数提供活动或使用Activity的基类。不要使用Context类实例。
答案 2 :(得分:0)
我不知道如何,但这可以解决问题
addresses = geocoder.getFromLocation(lat, lng, 2);