我正在尝试使用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,所以这不是问题,我使用它向 map 添加了标记,并且效果很好。严格来说,这似乎与地址解析器有关。

最佳答案

您可以通过两种方法获取地址
1.使用地理编码器
2.使用Google API

您可以从此链接获得解决方案。它有两种解决方案。请访问我对Google API解决方案的回答。

Get the particular address using latitude and longitude

关于android - Geocoder getFromLocation()不为null,但始终为0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17965973/

10-12 03:28