обратного геокодирования don't показать адрес

голоса
1

Я обратное геокодирование от Google Maps, чтобы получить адрес, и в первый раз он работал, поставил адрес полностью, но теперь он просто показывает мне широты и долготы, не имя, в любом адресе.

Кто-нибудь может мне помочь?

Мой код:

private class GetAddressTask extends AsyncTask<Location, Void, String> {

    @Override
    protected String doInBackground(Location... params) {
        Geocoder geocoder = new Geocoder(MainActivity.this);
        Location loc = params[0];
        List<Address> addresses = null;

        try {
            addresses = geocoder.getFromLocation(loc.getLatitude(), loc.getLongitude(), 1);
        } catch (IOException e) {
            return null;
        }

        if( addresses != null && addresses.size() > 0 ) {
            Address addr = addresses.get(0);
            String addressText = addr.getAddressLine(0);
            updateLastStreet(addressText, MainActivity.this);
            return addressText;
        }

        return null;
    }
}
Задан 27/01/2018 в 18:48
источник пользователем
На других языках...                            


1 ответов

голоса
1

Вы не нашли разрешения в Android.Manifest файл, а затем добавить этот

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

И попробуйте этот метод:

public List<Address> getAddress(LatLng point) {
    try {
        Geocoder geocoder;
        List<Address> addresses;
        geocoder = new Geocoder(this);
        if (point.latitude != 0 || point.longitude != 0) {
            addresses = geocoder.getFromLocation(point.latitude ,
                    point.longitude, 1);
            String address = addresses.get(0).getAddressLine(0);
            String city = addresses.get(0).getAddressLine(1);
            String country = addresses.get(0).getAddressLine(2);
            return addresses;

        } else {
            Toast.makeText(this, "Coordinates are null",
                    Toast.LENGTH_SHORT).show();
            return null;
        }
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}
Ответил 27/01/2018 в 19:08
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more