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

android geocoder:如何在城市所在国家/地区检索城市名称?,android,google-maps,google-maps-api-3,Android,Google Maps,Google Maps Api 3,我使用android geocoder检索城市名称。但是,名称在我们用来构造地理编码器的本地文件中返回。他们是否有办法在城市本地检索名称(例如,法国巴黎的巴黎或俄罗斯莫斯科的莫斯科) Geocoder gcd=new Geocoder(context,Locale.getDefault()); 列表地址=gcd.getFromLocation(lat,lng,1); 如果(地址.size()>0) { System.out.println(addresses.get(0.getLocality(

我使用android geocoder检索城市名称。但是,名称在我们用来构造地理编码器的本地文件中返回。他们是否有办法在城市本地检索名称(例如,法国巴黎的巴黎或俄罗斯莫斯科的莫斯科)

Geocoder gcd=new Geocoder(context,Locale.getDefault());
列表地址=gcd.getFromLocation(lat,lng,1);
如果(地址.size()>0)
{
System.out.println(addresses.get(0.getLocality());
}
其他的
{
//你的员工呢
}

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

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();
        }
}
private void getLocation(双lat,双lng){
试一试{
Geocoder gcd=新的地理编码器(getApplicationContext(),Locale.getDefault());
列表地址=gcd.getFromLocation(lat,lng,1);
如果(地址.size()>0){
地址=地址。获取(0);
地址。getAddressLine(0);
地址。getAddressLine(1);
StringBuilder strReturnedAddress=新StringBuilder(“”);
对于(int i=0;i
您可以使用
地理编码器的方法:

最终板条=新板条(0.0,0.0);
最终车床Lmax结果=10;
最终地理编码器lGeocoder=新地理编码器(此,Locale.ENGLISH);
最终列表laddires=lGeocoder.getFromLocation(llatling.latitude、lLatLng.longitude、lMaxResults);

通过传递您的latlng,您可以获得您的城市、当地地址、邮政编码等您的代码……谢谢mohd,但您确定我将获得莫斯科和莫斯科的Мааа么北京 为了北京?我想我会在我的本地网站上收到这个名字:(谢谢alex,但你确定我会在莫斯科和莫斯科获得Маа北京 对于pekin?我想我会收到英文名称:(是的,这可能会发生!这就是您更改
区域设置的地方,就像in的回答一样。:)但是如何知道所有国家的本地名称呢?
Locale.getDefault()
将返回您当前使用的设备的
区域设置
,因此它将适合该特定用户。谢谢akhilesh,但您确定我将获得莫斯科和莫斯科的Маа北京 对于北京?我想我会在我的本地(
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();
        }
}
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);