Извлечь почтовый индекс из Латвии
Какой веб-сервис я должен использовать, чтобы получить почтовый индекс от широты и долготы? Я использую 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()
чтобы получить свой почтовый индекс.
См. Отображение адреса местоположения для учебника.