Google Maps API - Ошибка Хеокодер Тимеоут Exception

У меня есть метод, который берется за то, чтобы возвращать мне унифицированный указатель ресурса с широтой и длиной согласно термину поисков, метод - следующий:

public String getUrlFromTermsSearch(String searchTerm, Context context,String baseUrl){
    String url = "";

    try {
        Geocoder selected_place_geocoder = new Geocoder(context);
        List<Address> address;
        address = selected_place_geocoder.getFromLocationName(searchTerm,1);

        if (address.size()>0) {
            Address location = address.get(0);
            String urlF = baseUrl+searchTerm+"/"+location.getLatitude()+"/"+location.getLongitude()+"";
            url = urlF.replaceAll(" ","%20");
        }else{
            Log.d("error con Geocoder", ">>>: ");
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return url;
}

Но в каких-то моментах покажи или возврати исключение в этой части:

selected_place_geocoder.getFromLocationName(searchTerm,1);

Которая

ошибка geocoder timeout exception

Как он мог бы решать эту ситуацию?.

1
задан 25.01.2017, 00:41
0 ответов

Эта ошибка последовала за мной, потому что в этом моменте ему не удается реализовать связь с сервером, уже будьте, потому что я нахожусь в подвижной сети и не считаю достаточным сигнал или просто мой Интернет не удается.

Что я рекомендую тебе?

1) Размещать весь этот метод в Асинк Таск

2) Проверь прежде чем во время реализации просьбы у тебя есть активный Интернет.

Другое решение:

Вместо того, чтобы использовать geocoder, ты можешь делать запрос в следующее соединение:

http://maps.googleapis.com/maps/api/geocode/json?latlng=latitud,longitud&sensor=true

Этот возвратит тебе JSON с близкими адресами заменяя широту и длину на координаты, в которой ты нуждаешься. Например: http://maps.googleapis.com/maps/api/geocode/json?latlng=40.416786,-3.703680&sensor=true

Для большей информации как настраивать просьбу, ты можешь вводить информацию в компьютер здесь.

0
ответ дан 03.12.2019, 17:31