1

我有一个应用程序,我尝试根据纬度、经度坐标获取某个位置的地址。当我尝试打印特定坐标的所有地址时,我只得到一个地址。是否有任何方法可以获取所提供坐标的所有地址列表。我的代码片段如下:

其中 locationLatitude,locationLongitude 是转换为双精度的字符串类型。Address 是一个类,它具有用于获取州、城市、国家等详细信息的 getter 和 setter 方法。

List<Address> addresses = geoCoder.getFromLocation(Double.parseDouble(locationLatitude),
Double.parseDouble(locationLongitude), 1);
StringBuffer  addressAsString  = new StringBuffer("");
if(!addresses.isEmpty()){
    for (int i = 0; i < addresses.get(0).getMaxAddressLineIndex(); i++)
        addressAsString.append(addresses.get(0).getAddressLine(i) + "\n");
    return addressAsString.toString();
}
4

1 回答 1

0

循环遍历所有地址,并将 getFromLocation 的第三个参数更改为 10 而不是 1,以获取给定地理位置的所有 10 个周围位置:

List addresses = geoCoder.getFromLocation(Double .parseDouble(locationLatitude), Double.parseDouble(locationLongitude), 10); 

for (Address addr:List addresses) {

  for (int i = 0; i < addr.getMaxAddressLineIndex(); i++) {
  // your previous code here
  }
}
于 2010-09-06T07:19:14.123 回答