Поиск местоположения на jQuery и / или PHP: почтовый индекс и город / штат

Я хочу автоматически заполнить текстовое поле ввода формы с городом пользователя, государством. Мне также нужен почтовый индекс для передачи с формой. Карта мне не нужна.

Какие-либо предложения? (Я предпочитаю jQuery и / или PHP.)

ОБНОВЛЕНИЕ. Я обнаружил этот маленький js-файл, чтобы получить город, штат, широту, долготу, код города и т. д., за исключением того, что он не получает zip. Вероятно, потому что во многих городах есть несколько молний. Но все, что мне нужно, это один почтовый индекс из города ... неважно, какой, потому что я собираю данные в радиусе 50 миль. Так есть ли способ взять этот сценарий ниже и найти почтовый индекс из местоположения на основе данных, которые он возвращает.

<html>
<head>
    <script language="JavaScript" src="http://www.geoplugin.net/javascript.gp" type="text/javascript"></script>
</head>
<body>
    <script language="Javascript"> 
document.write("Welcome to our visitors from "+geoplugin_city()+", "+geoplugin_region()+", Area code = "+geoplugin_areaCode()+", Latitude = "+geoplugin_latitude()+geoplugin_areaCode()+", Longitude = "+geoplugin_longitude()); 
    </script>
</body>
</html>

Источник: GeoPlugin


person Jeffrey    schedule 02.04.2011    source источник


Ответы (3)


Вы можете использовать GeoLite City для преобразования IP-адреса пользователя в City, State Zip.

person Christopher Manning    schedule 02.04.2011
comment
Что-нибудь знаете о геоплагине? Как получить почтовый индекс по коду города? - person Jeffrey; 03.04.2011

Невозможно сделать это без кода на стороне сервера, что очевидно, учитывая потенциальную угрозу безопасности. Однако вы можете сделать запрос к некоторому сценарию на стороне сервера и заставить его проанализировать IP-адрес пользователя, но с этим есть определенные подводные камни: 1.) город / штат - это все, что вы можете получить, и 2.) Пользователи могут использовать прокси и, вдобавок ко всему, IP-адреса иногда неточны.

Также существует API геолокации HTML5: http://html5demos.com/geo

person mattsven    schedule 02.04.2011
comment
Страница уже управляется php, поэтому скрипт на стороне сервера подойдет. Кроме того, меня не слишком беспокоят прокси или сбой скрипта, потому что пользователь всегда может ввести город. - person Jeffrey; 03.04.2011
comment
ссылка выше не работает без проблем. Я получаю сообщение в firefox, что htm5demos хочет знать ваше местоположение. Вы не хотите, чтобы эти вопросы задавали пользователю - person vsingh; 14.04.2011

Это можно сделать двумя способами.

1) на стороне сервера с использованием библиотеки php для геолокации на основе ip (работает только в том случае, если геоданные для ip правильно введены провайдером) и вставьте данные в любое место

2) используйте службу геокодирования карт Google для динамического получения информация, которая вам нужна.

p.s. мой любимый способ №2 предлагает гораздо большую гибкость.

person Nikola Sivkov    schedule 02.04.2011
comment
Я обновил публикацию. Вы знаете, как получить почтовый индекс по широте / долготе или коду города? - person Jeffrey; 03.04.2011