Извлечь почтовый индекс из Латвии

Какой веб-сервис я должен использовать, чтобы получить почтовый индекс от широты и долготы? Я использую Geonames API, но он не соответствует требованию. Я хочу использовать любые другие веб-сервисы, которые предоставляют почтовый индекс.

        Geocoder geocoder;
        List<Address> addresses;
        geocoder = new Geocoder(this, Locale.getDefault());
        addresses = geocoder.getFromLocation(_mylat, _mylong, 1);
        String address = addresses.get(0).getAddressLine(0);
        String city = addresses.get(0).getAddressLine(1);
        String country = addresses.get(0).getAddressLine(2);
                        String zipcode = addresses.get(0).getPostalCode();

Даже я попробовал этот код, но я не получил результат. Я получил исключение как IndexOutOfBoundException.

2 ответа

Решение
Geocoder geocoder;
            List<Address> addresses;
            geocoder = new Geocoder(this, Locale.getDefault());
            addresses = geocoder.getFromLocation(_mylat, _mylong, 1);
            String address = addresses.get(0).getAddressLine(0);
            String city = addresses.get(0).getAddressLine(1);
            String country = addresses.get(0).getAddressLine(2);
                            String zipcode = addresses.get(0).getPostalCode();

Исходя из тега, я предполагаю, что вы разрабатываете приложение для Android. Если это так, я бы предложил использовать Geocoder.getFromLocation() вместо веб-сервиса.

Учитывая широту и местоположение, он выдаст список возможных Address объекты. Вы можете использовать getPostalCode() чтобы получить свой почтовый индекс.

См. Отображение адреса местоположения для учебника.

Другие вопросы по тегам