如果我有一个城市检索:
Geocoder gcd = new Geocoder(context, Locale.getDefault());
Address address = gcd.getFromLocation(lat, lng, 1);
有没有办法使用google maps api获取所选城镇中所有街道名称的列表?
更新
Geocoder gcd = new Geocoder(this, Locale.getDefault());
List<Address> addresses = null;
try {
addresses = gcd.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (addresses.size() > 0)
for (int i = 0; i < addresses.get(0).getMaxAddressLineIndex(); i++)
Log.e("afaf", " " + addresses.get(0).getAddressLine(i));
返回(例如):new york,5th street 3924.并且它不会遍历所有城市街道。
答案 0 :(得分:0)
我认为你在寻找的是:
getFromLocationName (String locationName, int maxResults)
来自文档:
返回已知用于描述命名的地址数组 位置,可能是地名,如&#34; Dalvik,Iceland&#34;,an 地址如&#34; 1600 Amphitheatre Parkway,Mountain View,CA&#34;,an 机场代码如&#34; SFO&#34;等。返回的地址将是 本地化为提供给此类的构造函数的语言环境。
查询将阻止并返回值将通过以下方式获得 网络查找。结果是最佳猜测,无法保证 有意义或正确。从中调用此方法可能很有用 与主UI线程分开的线程。
获取街道名称使用此(我想你已经知道了):
for(int a = 0 ; a < addresses.size() ; a++){
Address address = addresses.get(a);
for (int i = 0; i < address.getMaxAddressLineIndex(); i++) {
// get address like address.getAddressLine(i);
}
}
希望它有所帮助:)