2

我正在尝试在 android 中使用 GPS 显示确切的地址名称。所以我已经搜索并得到了这个例子,我正在关注它。

上面的示例仅以数字显示确切的经度和纬度地址,但我需要以这些特定经度和纬度的文本形式显示确切地址。

如何做到这一点?。我已经根据我的知识搜索了这个,但仍然没有得到任何好的解决方案。如果你有,谁能告诉我解决方案。

4

2 回答 2

1

将latlong传递给以下方法,它将返回您的地址

 public String getAddress(double latitude, double longitude) {
 String strCompAdd;
    try {

        Geocoder geocoder;
        List<Address> addresses;
        geocoder = new Geocoder(passHomeCall.this);
        if (latitude != 0 || longitude != 0) {
            addresses = geocoder.getFromLocation(latitude, longitude, 1);
            String address = addresses.get(0).getAddressLine(0);
            String city = addresses.get(0).getAddressLine(1);
            String country = addresses.get(0).getAddressLine(2);
            Log.d("TAG", "address = " + address + ", city =" + city
                    + ", country = " + country);
            strCompAdd = address + ", " + city + ", " + country;
            strCompAdd = strCompAdd.replaceAll("null", "");
            strCompAdd = strCompAdd.replaceAll("Unnamed", "");

        }

    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        // Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show();
    }
      return strCompAdd;
}
于 2013-07-05T10:16:58.067 回答
0

我使用以下代码从 lat 和 lng 中查找地址。它是android自己的位置api。

import android.location.Geocoder;

public static String getPickupXY(double x, double y) throws IOException {
    Geocoder geocoder = new Geocoder(applicationContext, Locale.getDefault());
    List<Address> addresses = geocoder.getFromLocation(x, y, 1);
    if (addresses == null || addresses.size() <= 0)
        return null;
    return (addresses.get(0).getAddressLine(0).toString());
}
于 2013-07-05T10:14:59.520 回答