如果我们在 Android 中使用位置 API 给出纬度和经度,如何获取地址
Posted
技术标签:
【中文标题】如果我们在 Android 中使用位置 API 给出纬度和经度,如何获取地址【英文标题】:How to get addresses if we give latitude and longitude using location API in Android 【发布时间】:2011-04-08 15:44:35 【问题描述】:我有一个应用程序,我尝试根据纬度、经度坐标获取某个位置的地址。当我尝试打印特定坐标的所有地址时,我只得到一个地址。是否有任何方法可以获取所提供坐标的所有地址列表。我的代码 sn-p 如下:
其中 locationLatitude,locationLongitude 是 String 类型,它们被转换为双精度值。 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();
【问题讨论】:
这是***.com/questions/3649401/…的副本 【参考方案1】:遍历所有地址,并将 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
【讨论】:
这个代码的问题是,它没有附加州或国家,有时城市来有时不。这是什么行为?以上是关于如果我们在 Android 中使用位置 API 给出纬度和经度,如何获取地址的主要内容,如果未能解决你的问题,请参考以下文章
可以使用 Google API 通过 android 移动 gps 跟踪位置吗?