如何解决无法实现反向地址编码
| 我正在为Android开发GPS系统。我可以找到当前位置的纬度和经度,但是当我尝试将纬度和经度转换为物理地址时,我的代码不起作用。我尝试了几种可能性。我已经在这里发布了我的代码。 任何帮助深表感谢。 谢谢。try {
List<Address> addresses = gc.getFromLocation(latitude,longitude,1);
System.out.println(\"\"+latitude);
StringBuilder sb = new StringBuilder();
if (addresses.size() > 0) {
Address address = addresses.get(0);
for (int i = 0; i < address.getMaxAddressLineIndex(); i++)
sb.append(address.getAddressLine(i)).append(\"\\n\");
sb.append(address.getLocality()).append(\"\\n\");
sb.append(address.getPostalCode()).append(\"\\n\");
sb.append(address.getCountryName());
}
addressstring = sb.toString();
} catch (IOException e) {}
} else {
latLongString = \"No location found\";
}
myLocationText.setText(\"Your Current Position is:\\n\" +
latLongString + \"\\n\" + addressstring);
}
我的问题是,ѭ1中没有任何值。它仅返回一个空列表。
谁能告诉我问题出在哪里以及如何解决...解决方法
Geocoder gc = new Geocoder(ctx,Locale.getDefault());
List<Address> addresses;
addresses = gc.getFromLocation(lat,lng,1);
StringBuilder sb = new StringBuilder();
if (addresses.size() > 0)
{
Address address = addresses.get(0);
for (int i = 0; i < address.getMaxAddressLineIndex(); i++)
sb.append(address.getAddressLine(i)).append(\",\");
}
这将获得一个位置。但有时会出现例外情况,例如\"Unable to parse the response from server\"
。您需要处理异常。还要检查清单中的“ 4”。,如果GeoCoder返回一个空列表,则需要检查设备(模拟器或真实电话)上是否有正确的GeoCoder实现。
可以使用Geocoder对象上的isPresent()方法来完成此操作。
http://developer.android.com/reference/android/location/Geocoder.html
另外,在模拟器上运行时,请确保已使用Google API设置了AVD图像。版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。