получить широту и долготу, используя почтовый индекс - PullRequest
21 голосов
/ 04 сентября 2010

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

Ответы [ 4 ]

23 голосов
/ 29 января 2011

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

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
}
4 голосов
/ 10 октября 2013

В GeoCoding нет конкурента Google:)

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

Просто измените почтовый индекс Элемент В соответствии с вашими требованиями .And Enjoy.

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

3 голосов
/ 04 сентября 2010

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

2 голосов
/ 04 сентября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...