Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Получить широту и долготу, используя почтовый индекс

Автор вопроса: KandhaОтветов: 4

я хочу получить широту и долготу, используя почтовый индекс для приложения Android

google-mapsandroid

Ответы

Ответ 1 · рейтинг 25 · Rob Smith

Это гораздо более простое решение, при условии наличия сервисов геокодера:

final Geocoder geocoder = new Geocoder(this);
final String zip = "90210";
try {
  List<Address> addresses = geocoder.getFromLocationName(zipCode, 1);
  if (addresses != null && !addresses.isEmpty()) {
    Address address = addresses.get(0);
    // Use the address as needed
    String message = String.format("Latitude: %f, Longitude: %f",
    address.getLatitude(), address.getLongitude());
    Toast.makeText(this, message, Toast.LENGTH_LONG).show();
  } else {
    // Display appropriate message when Geocoder services are not available
    Toast.makeToast(this, "Unable to geocode zipcode", Toast.LENGTH_LONG).show();
  }
} catch (IOException e) {
  // handle exception
}

Ответ 2 · рейтинг 4 · MohK

Конкурентов Google в геокодировании нет :)

Вам нужно просто сделать запрос http Get для следующей ссылки. Вот ссылка

Просто измените элемент почтового индекса в соответствии с вашими требованиями. И наслаждаться.

Для получения дополнительной информации перейдите по ссылке. Справочник по геокодированию карт

Ответ 3 · рейтинг 3 · Tyler Gillies

Вы можете использовать YQL вот так: выберите центроид из geo.places, где text="ZIPCODE_HERE"

Ответ 4 · рейтинг 2 · npinti

Вам придется использовать службу геокодирования, например те, которые предоставляются Google или свободно доступный Номинатим. Обратите внимание, что, поскольку вы будете указывать только почтовый индекс, вы можете не получить желаемых результатов из-за неточности самого адреса.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы