android – Geocoder getFromLocation()不为null但总是大小为0
作者:互联网
我正在尝试使用Google API v2检索我的位置地址.
这是我做的:
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();
}
我已阅读了几篇帖子,发现getFromLocation()请求并不总是检索结果.所以我尝试循环.
这不会崩溃但是addressText总是“”,任何想法为什么?
INTERNET权限已经提供给我的应用程序.我不使用GPS.
userLocation不是null,所以这不是问题,我使用它来添加标记到地图,它工作正常.这似乎是地理编码器严格的问题.
解决方法:
您可以通过两种方法获取地址
1.使用Geocoder
2.使用Google API
您可以从此链接获得解决方案.它有两种解决方案.访问我的Google API解决方案的答案.
Get the particular address using latitude and longitude
标签:android,google-maps,android-maps-v2,reverse-geocoding 来源: https://codeday.me/bug/20190520/1141914.html