ZipCode из местоположения

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


person Udaykiran    schedule 02.05.2011    source источник


Ответы (3)


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

http://maps.google.com/maps/geo?ll= широта, долгота

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

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

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

CountryCode | Город | Почтовый индекс


PH | Cebu | 6000

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

ОБНОВЛЕНИЕ

API геокодирования версии 2 был отключен 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

person spicykimchi    schedule 02.05.2011
comment
@Udaykiran, вам нужна другая база данных с записью почтового индекса. Это пример базы данных. ipinfodb.com/ zipcode_database.php - person spicykimchi; 02.05.2011
comment
Если вы хотите загрузить еще одну базу данных почтовых индексов, здесь ‹a href=populardata.com/downloads.html ›База данных ZipCode ‹/a› - person spicykimchi; 02.05.2011
comment
Спасибо, ты только что спас мне день !!!! и @Udaykiran попытайтесь указать долгую латинскую длину США, он выдаст вам почтовый индекс, я не знаю, в чем проблема для Индии !!!! - person Shrikant; 15.09.2012
comment
Этот ответ больше недействителен, поскольку Google отклонил API геокодирования v2. Android Geocode API - лучшее решение. - person Christer Nordvik; 28.11.2013
comment
Я обновил свой ответ. maps.googleapis.com/maps/api/geocode / - person spicykimchi; 29.11.2013
comment
как можно почтовый индекс, используя широту, долготу .. maps.googleapis. com / maps / api / geocode / также не отвечает на почтовый индекс ... есть предложения? - person CoDe; 18.03.2014
comment
К вашему сведению, данные почтового индекса не статичны ... это плохая рекомендация использовать статическую базу данных. - person stevebot; 17.12.2014

Используйте API геокодера Android!

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

person lordhong    schedule 25.11.2011

Реализация на основе геокодера:

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;
}

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

person Alex Kucherenko    schedule 17.06.2014