Я использую Android Geocoding, чтобы получить текущий город с помощью метода Address.getLocality ().Он работал нормально, до недавнего времени он часто возвращал null для данной местности.Вот пример:
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);
}
Теперь регистрируется следующее сообщение для первого возвращенного адреса:
Локальный ноль (Address [addressLines = [0: "14-18 ParkVista ", 1:" Лондонский городской округ Гринвич, Лондон SE10 ", 2:" Великобритания "], feature =, admin = null, sub-admin = null, locality = null, магистраль = Park Vista, postalCode = null, countryCode =GB, countryName = Великобритания, hasLatitude = true, широта = 51.4819069, hasLongitude = true, долгота = -6.327E-4, телефон = ноль, url = ноль, дополнительные функции = ноль])
Некоторыелокации возвращают город в местности, а локация рядом с ним - нет.
Так что раньше все работало нормально, на самом деле я раньше не видел нулевой населенный пункт.Так что, я думаю, что-то изменилось в службе геокодирования Google.Есть идеи, что происходит, и является ли эта ситуация постоянной?Если да, каков будет лучший способ определить город по местоположению?