Próbuję pobrać mój adres lokalizacji przy użyciu interfejsu Google API v2.Geocoder getFromLocation() nie ma wartości null, ale ma rozmiar 0 zawsze
Oto co mam zrobić:
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();
}
Przeczytałem kilka postów i stwierdził, że żądanie getFromLocation() nie zawsze pobrać wynik. Więc próbowałem tego zapętlić.
To nie ulega awarii, ale addressText jest zawsze "", wszelkie pomysły, dlaczego? Uprawnienia do internetu zostały przyznane mojej aplikacji. Nie używam GPS.
UserLocation nie jest pusta, więc to nie jest problem, używam tego, aby dodać znacznik do mapy i działa dobrze. Wydaje się, że problem z geokoderem jest ściśle ograniczony.
Czy próbowałeś podnieść liczbę wyników? na przykład 'addresses = geocoder.getFromLocation (userLocation.latitude, userLocation.longitude, 10);' Technicznie to nie powinno mieć znaczenia, po prostu 'zainteresowany'! – iaindownie
Nie, niestety to nie działa. ale dzięki za szybką odpowiedź :) –