Sto usando Android Geocoding per ottenere la città corrente con il metodo Address.getLocality(). Ha funzionato bene, fino a poco fa sembra spesso restituire null per la località. Ecco un esempio:Geocodifica inversa Android getLocality restituisce spesso nullo
try {
Geocoder c = new Geocoder(this, Locale.getDefault());
double lat = 51.481;
double lon = 0.0;
List<Address> l = c.getFromLocation(lat, lon, 5);
for (Address a: l) {
Log.i("GeocoderTest", "Locality " + a.getLocality() + " (" + a + ")");
}
} catch (IOException e) {
Log.e("GeocoderTest", "", e);
}
Questo ora registrato il seguente messaggio per il primo indirizzo restituito:
Località null (Indirizzo [addressLines = [0: "14-18 Park Vista", 1: "London Borough of Greenwich, London SE10", 2: "UK"], feature =, admin = null, sub-admin = null, località = null, thoroughfare = Park Vista, postalCode = null, countryCode = GB, countryName = United Kingdom, hasLatitude = true, latitude = 51.4819069, hasLongitude = true, longitude = -6.327E-4, phone = null, url = null, extras = null])
Alcune località restituiscono la città nella località, mentre una posizione accanto non lo fa.
Quindi ha funzionato bene prima, in realtà non avevo mai visto una località nulla prima. Quindi immagino che qualcosa debba essere cambiato nel servizio di geocodifica di Google. Qualche idea su cosa sta succedendo e questa situazione è permanente? Se sì, quale sarebbe il modo migliore per determinare la città da una posizione?
Grazie per la snippet. È meglio che avere un valore nullo :) – Alex