Genymotion - 从经度和纬度获取地址

时间:2014-05-11 15:29:44

标签: android google-geocoder genymotion

我使用此代码获取当前地址:

public String getAdressFromLongLat(double lati, double longi) {
    List<Address> addresses = new ArrayList<Address>();
    Geocoder geocoder = new Geocoder(mContext,Locale.getDefault());

    try {
        addresses = geocoder.getFromLocation(lati, longi, 1);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return null;
    }
    if(addresses==null || addresses.size()<=0) {
        return null;
    }
    String address = addresses.get(0).getAddressLine(0);
    String city = addresses.get(0).getAddressLine(1);
    return address + "/;/" + city;
}

但它每次都返回null。我没有真正的设备,所以我在genymotion模拟器中测试。这是问题吗?或者代码有问题吗?

- &GT;我使用调试器来查找问题: 地址不为空,但大小为0,为什么? :(

1 个答案:

答案 0 :(得分:3)

Genymotion可能不支持地址查找。来自official documentation

  

注意:地址查找需要未包含的后端服务   在核心Android框架中。如果这个后端服务不是   可用,Geocoder.getFromLocation()返回一个空列表。该   辅助方法isPresent(),可在API级别9及更高版本中检查   查看后端服务是否可用。

请务必致电Geocoder.isPresent()