android geocoder:如何检索城市所在国家/地区的城市名称?

时间:2017-07-14 13:41:54

标签: android google-maps google-maps-api-3

我使用android地理编码器来检索城市的名称。但是在我们用于构建地理编码器的本地中返回名称。是他们在城市当地取回名称的任何方式(例如法国巴黎的巴黎或俄罗斯莫斯科的Москва)。

3 个答案:

答案 0 :(得分:0)

Geocoder gcd = new Geocoder(context, Locale.getDefault());
    List<Address> addresses = gcd.getFromLocation(lat, lng, 1);
    if (addresses.size() > 0) 
    {
        System.out.println(addresses.get(0).getLocality());
    }
    else
    {
       // do your staff
    }

答案 1 :(得分:0)

试试这个你会得到完整的地址

private void getLocation(double lat, double lng) {
        try {
            Geocoder gcd = new Geocoder(getApplicationContext(), Locale.getDefault());
            List<Address> addresses = gcd.getFromLocation(lat, lng, 1);
            if (addresses.size() > 0) {
                Address address = addresses.get(0);
                address.getAddressLine(0);
                address.getAddressLine(1);

                StringBuilder strReturnedAddress = new StringBuilder("");
                for (int i = 0; i < address.getMaxAddressLineIndex(); i++) {
                    strReturnedAddress.append(address.getAddressLine(i)).append(" ");
                }
                Log.d(TAG, "strReturnedAddress : " + strReturnedAddress);
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
}

答案 2 :(得分:0)

您可以使用Geocoder&#39; https://gist.github.com/argyleink/5463021方法:

final LatLng        lLatLng     = new LatLng(0.0, 0.0);
final LatLng        lMaxResults = 10; 
final Geocoder      lGeocoder   = new Geocoder(this, Locale.ENGLISH);
final List<Address> lAddresses  = lGeocoder.getFromLocation(lLatLng.latitude, lLatLng.longitude, lMaxResults);