我正在尝试从Geocoder获取位置地址,我可以获得纬度和经度,但它返回的地址长度为零。
这是我的代码段
double longi = location.getLongitude();
double latt = location.getLatitude();
Geocoder geocoder = new Geocoder(getApplicationContext(), Locale.ENGLISH);
String add="";
try {
List<Address> address = geocoder.getFromLocation(latt/1E6,longi/1E6, 1);
System.out.println("in location listener "+address.size());
int i=0;
if(address.size()>0)
{
for(i=0;i<address.get(0).getMaxAddressLineIndex();i++)
{
add += address.get(0).getAddressLine(i);
}
Toast toast = new Toast(getApplicationContext());
toast.makeText(getApplicationContext(), add, Toast.LENGTH_LONG).show();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
请帮助我纠正错误。提前谢谢!
答案 0 :(得分:6)
如果平台中没有后端服务,Geocoder查询方法将返回一个空列表。使用isPresent()方法确定是否存在Geocoder实现。
有关详细信息,请参阅Geocoder documentation。
答案 1 :(得分:0)
我认为您的项目并非针对正确的AVD。要使用地理定位,您必须指出实施Google API的avd。一旦你改变它一切都会正常工作。