我使用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);
}
Run Code Online (Sandbox Code Playgroud)
现在,它会为第一个返回的地址记录以下消息:
地点null(地址[addressLines = [0:"14-18 Park Vista",1:"London Green of Greenwich,London SE10",2:"UK"],feature =,admin = null,sub-admin = null, locality = null,thoroughfare = Park Vista,postalCode = null,countryCode = GB,countryName = United Kingdom,hasLatitude = …