Android 地理编码减慢了一切?

Android 地理编码减慢了一切?,android,google-maps,geocoding,Android,Google Maps,Geocoding,我有以下问题: 我编写了一个函数来确定作为字符串参数传递的街道的确切位置: private GeoPoint LocationToGeoPointParser(String address) throws IOException { Geocoder geoCoder = new Geocoder(this.context,Locale.ENGLISH); List<Address> addr = null; addr = geoCoder.

我有以下问题: 我编写了一个函数来确定作为字符串参数传递的街道的确切位置:

private GeoPoint LocationToGeoPointParser(String address) throws IOException
    {
        Geocoder geoCoder = new Geocoder(this.context,Locale.ENGLISH);
    List<Address> addr = null;
    addr =  geoCoder.getFromLocationName(address, 1);
    double la = addr.get(0).getLatitude();
    double lo = addr.get(0).getLongitude();

    Double longitude = addr.get(0).getLongitude()*1E6;
    Double latitude = addr.get(0).getLatitude()*1E6;
    return new GeoPoint(latitude.intValue(),longitude.intValue());
    //return new GeoPoint(73,32);
}
private GeoPoint LocationToGeoPointParser(字符串地址)引发IOException异常
{
Geocoder Geocoder=新的地理编码器(this.context,Locale.ENGLISH);
List addr=null;
addr=geoCoder.getFromLocationName(地址,1);
double la=addr.get(0.getLatitude();
double lo=addr.get(0.getLongitude();
Double longitude=addr.get(0.getLongitude()*1E6;
双纬度=addr.get(0.getLatitude()*1E6;
返回新的地理点(纬度.intValue(),经度.intValue());
//返回新的地质点(73,32);
}
如果我这样使用这个函数,当地图加载时,一切都非常缓慢。如果我对地理编码代码进行注释并使用return new GeoPoint(73,32),它将正常工作。 有人能解释一下为什么地理编码会减慢我的应用程序吗?
谢谢!:)

Geocoder类需要一个后端服务,该服务不包含在核心android框架中。如果平台中没有后端服务,Geocoder查询方法将返回空列表


使用类似于
处理程序
异步任务
等的线程调用后台,然后更改UI

我没有使用Android API,但我想象地理编码将调用某种google web服务,该服务执行地理编码并返回结果。由于这涉及到网络通信,并且getFromLocationName()方法似乎是阻塞的,因此遇到延迟并非不合理,可能在移动互联网连接中更是如此。如果你连续快速地调用你的方法,那么会有更多的延迟空间


当然,这是假设我是正确的,地理编码是在某个服务器上完成的。

谢谢你的回答。似乎Geocoder类需要后端服务才能运行。