Geocoder getFromLocationName()无法正常运作,传回0个值

时间:2019-04-06 19:10:17

标签: android location android-location geocoder

我想获取一个与所传递的字符串更相似的5种地址的列表,但有些地方不起作用。

例如,如果我写“ avenida”,西班牙有成千上万条“ avenida”街道,但是方法getFromLocationName返回0。

private void getAddressInfo(Context context, String locationName){
        Geocoder geocoder = new Geocoder(context);
        try {
        List<Address> a = geocoder.getFromLocationName(locationName, 5);
        for(int i=0;i<a.size();i++){
            String city = a.get(0).getLocality();
            String country = a.get(0).getCountryName();
            String address = a.get(0).getAddressLine(0); // If any additional address line present than only, check with max available address lines by getMaxAddressLineIndex()
            addressList.add(address+", "+city+", "+country);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

代码中有什么问题吗?

1 个答案:

答案 0 :(得分:0)

我刚刚在代码中确认了这一点;它的工作方式是为它提供一个有效的地名,例如地址。它不需要城市。那么它应该给您列出的列表。没有预期的有用。街道名称或公司名称似乎无效。 :-(

如果我在没有城市的情况下在2000年东部进行比赛,我会受到打击

如果我去东部,我会得到0

I am going to use this instead