Я пытаюсь получить адрес своего местоположения с помощью Google API v2.Геокодер getFromLocation() не имеет значения null, но имеет размер 0 всегда
Вот что я делаю:
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses = null;
String addressText = "";
try {
while (addresses==null){
addresses = geocoder.getFromLocation(userLocation.latitude,
userLocation.longitude, 1);
}
if (addresses != null && addresses.size() > 0) {
Address address = addresses.get(0);
addressText = String.format(
"%s, %s, %s",
address.getMaxAddressLineIndex() > 0 ? address
.getAddressLine(0) : "", address
.getLocality(), address.getCountryName());
}
} catch (IOException e) {
e.printStackTrace();
}
Я прочитал несколько постов и обнаружил, что запрос getFromLocation() не всегда получить результат. Поэтому я пробовал это зацикливание.
Это не сбой, но адресText всегда «», любые идеи почему? Разрешения для Интернета предоставлены моему приложению. Я не использую GPS.
userLocation не является нулевым, так что это не проблема, я использую это, чтобы добавить маркер к карте, и он отлично работает. Кажется, проблема с геокодером строго.
Вы пробовали увеличить количество результатов? например 'address = geocoder.getFromLocation (userLocation.latitude, userLocation.longitude, 10);' Технически это не имеет значения, просто «интересно»! – iaindownie
Нет, к сожалению, это не работает. но спасибо за ваш быстрый ответ :) –