如何使用android中的地理编码器从纬度经度值获取位置的地址?

时间:2014-02-21 09:44:55

标签: android google-geocoder

我尝试使用一些常见的代码集,将lat long值转换为地址。但是我无法一直得到它。 这将是最好的选择。我需要这个服务应该是不变的。因为我需要把这个交给客户。

建议我一个好的解决方案? 我应该从谷歌或雅虎购买服务吗? 这些人为此提供单独的服务。 我的主要问题是这个“地理编码器”应该没问题吗?

我的代码是

void getAddress(){
try{
    Geocoder gcd = new Geocoder(this, Locale.getDefault());

    List<Address> addresses = gcd.getFromLocation(latitude, longitude,100);

    Log.d("latlong value",latitude +"---"+longitude);
    if (addresses.size() > 0) 
    {
        StringBuilder result = new StringBuilder();
        result.append(addresses.get(0).getCountryName());
        country=result.toString();
    }
      }
catch(IOException ex){

}
}

1 个答案:

答案 0 :(得分:3)

  

这个“地理编码器”应该没问题吗?

是的,使用Geocode类绝对没问题。

试试这个非常简单的代码,

Geocoder geocoder;
List<Address> addresses;
geocoder = new Geocoder(this, Locale.getDefault());
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);