我正在使用Android地理编码获取当前城市的Address.getLocality()方法。它工作得很好,直到最近它似乎经常为当地返回null。下面是一个例子:Android反向地理编码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);
}
这现在将以下消息记录为第一个返回地址:
局部性空(地址[addressLines = [0: “14-18园Vista的”,1: “伦敦 格林威治自治市镇,伦敦 SE10”,2:“UK”],feature =,admin = null,sub-admin = null,locality = null,通票= ParkVista,postalCode = null,countryCode = GB, countryName = United Kingdom,hasLatitude = true,latitude = 51.4819069,hasLongitude = true,longitude = -6.327E-4,phone = null,url = null,extras = null])
某些地点确实会在当地返回城市,而其旁边的位置不会。
所以它以前工作得很好,实际上我之前没有看到过一个空位置。所以我猜想Google的地理编码服务必须改变。任何想法正在发生,这种情况是永久的吗?如果是的话,从一个地点确定城市的最佳方式是什么?
感谢您的片段。这比拥有null值更好:) – Alex 2017-01-12 04:04:50