1

这是我的代码它没有任何错误但是

它在 textView 中显示“没有返回地址!”

double lat = 18.520430300000000000, log = 73.856743699999920000;
    String address = null;                                                 
    Geocoder geocoder = new Geocoder(this, Locale.getDefault());
    StringBuilder sb = null;
    try {
        List<Address> addresses = geocoder.getFromLocation(lat, log, 1); 
        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)+ ",");
           txtAdd.setText("Address :"+sb);
        }
        else{
            txtAdd.setText("No Address returned!");
        }
    } catch (Exception e) {
        // TODO Auto-generated catch block
        /*e.printStackTrace();*/
        txtAdd.setText("Canont get Address!");
    }

请给我解决方案

提前致谢...

4

1 回答 1

0

doku 给出了一个提示,也许这应该有所帮助

http://developer.android.com/reference/android/location/Geocoder.html

返回已知描述给定纬度和经度周围区域的地址数组。返回的地址将针对提供给此类的构造函数的语言环境进行本地化。

返回值可以通过网络查找的方式获得。结果是最佳猜测,不保证有意义或正确。从与主 UI 线程不同的线程调用此方法可能很有用。

于 2014-04-10T11:22:25.010 回答