根据地编码器文档,该类向后端服务提供方法,该后端服务可能存在于设备上,也可能不存在于设备上。如果设备上不存在地理编码器,理论上,地理编码请求将不会返回任何结果。然而,如何区分由于没有后端地理编码器服务而导致的无结果与由于位置没有意义而没有结果呢?
我的应用程序已经需要Google,所以这也许是一个没有意义的问题;作为次要问题,Google 总是包含一个地理编码器吗?
发布于 2010-02-12 22:35:45
根据谷歌地图文档的说法,“Google为地理编码地址提供了一个客户机地理编码器”。所以我想说,既然你需要谷歌地图API,你就需要一个地理编码器。
发布于 2010-02-14 00:58:39
严格地说,可能有另一个后端安装,只要尝试如果有一个地编码器存在。
final Geocoder geocoder = new Geocoder(this);
final String locName = "1600 Amphitheatre Parkway, Mountain View, CA";
try {
final List<Address> list = geocoder.getFromLocationName(locName, 1);
if ( ! (list == null || list.isEmpty()) ) {
final Address address = list.get(0);
System.out.println("Geocoder backend present, (lat,lon) = (" + address.getLatitude() + ", " + address.getLongitude() + ")");
}
else {
System.out.println("Geocoder backend not present");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}https://stackoverflow.com/questions/2255020
复制相似问题