ZipCode от местоположения - PullRequest
5 голосов
/ 02 мая 2011

Есть ли способ получить почтовый индекс текущего местоположения пользователя из местоположения или в лат, или в длинное. Если так, то как?

Ответы [ 3 ]

7 голосов
/ 25 ноября 2011

Используйте Android Geocoder API !

getFromLocation (double, double, int) - это все, что вам нужно.

5 голосов
/ 02 мая 2011

Да, вы можете ... Все, что вам нужно сделать, это извлечь

http://maps.google.com/maps/geo?ll=latitude,longitude

http://maps.google.com/maps/geo?ll=10.345561,123.896932

Или попробуйте поэкспериментировать с этими решениями. Я могу дать вам представление.

Ты можешь иметь город, верно? С этими данными JSON, если у вас есть база данных (на maxmind.com) почтового индекса с этим форматом

CountryCode | Город | ZipCode <Ч /> PH | Cebu | 6000

Теперь запросите вашу базу данных относительно кода страны, которую возвращает Google.

UPDATE

API Geocoding v2 был закрыт 9 сентября 2013 года.

Вот новый URL службы API

http://maps.googleapis.com/maps/api/geocode/json?latlng=your_latitude,your_longitude

http://maps.googleapis.com/maps/api/geocode/json?latlng=10.32,123.90&sensor=true

4 голосов
/ 17 июня 2014

Геокодерная реализация:

private String getZipCodeFromLocation(Location location) {
    Address addr = getAddressFromLocation(location);
    return addr.getPostalCode() == null ? "" : addr.getPostalCode();
}

private Address getAddressFromLocation(Location location) {
    Geocoder geocoder = new Geocoder(this);
    Address address = new Address(Locale.getDefault());
    try {
        List<Address> addr = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
        if (addr.size() > 0) {
            address = addr.get(0);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
    return address;
}

Вы также можете получить другую информацию по адресу, например, название города.

...