2016-05-16 11 views
-1

Я искал некоторую информацию о том, чего я хочу достичь, но не получая четких ответов.API Google Map API для поиска добавок

У меня есть база данных с тысячами адресов. Я хочу, чтобы при поиске пользователя, введя почтовый индекс, поиск должен отображать все доступные адреса, расположенные близко к почтовому индексу на карте. Масштабирование In, очевидно, показало бы более близкий адрес к поисковому почтовому индексу (и, следовательно, меньшее количество результатов поиска) и масштабирование, также включало бы дальнейшие адреса (и, следовательно, больше результатов поиска). И затем щелчок по значку местоположения отобразит полный адрес.

Должен ли я хранить адреса в виде долготы и широты, или карта Google может искать местоположение с использованием почтового индекса? Если мне нужно хранить долготу и широту, тогда как лучше всего конвертировать адрес в long и lat?

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

Благодаря

ответ

0

Как я понимаю, вы хотите, чтобы найти все самые близкие местоположения на основе данных в какое-то место, которое идентифицируется по почтовому индексу.

Во-первых, вам необходимо преобразовать все ваши адреса в координаты (широта и долгота). Вы можете сделать это с помощью Google Геокодирование API, вам нужно будет создать как сценарий, который вызывает Google Геокодирование API для каждого адреса в вашей БД:

https://maps.googleapis.com/maps/api/geocode/json?address=EXAMPLE_ADDRES&key=YOUR_API_KEY 

Отклик этот сценарий приносит вам документирована here. Вы можете проанализировать его, чтобы получить широту и долготу для каждого местоположения и сохранить их в своей базе данных. Остерегайтесь ограничений API Google Geocode. Они перечислены here. Вы должны создать свой скрипт таким образом, чтобы он не превышал эти ограничения. Также прочитайте this article для кэширования результатов геокодирования, чтобы убедиться, что вы не нарушаете условия обслуживания. В статье также содержатся некоторые рекомендации и примеры геокодирования на стороне сервера.

Теперь, когда кто-то вводит почтовый индекс в ваше приложение, вы можете использовать API геокодирования или Google maps Geocoding service, чтобы перевести почтовый индекс для координации и использования формулы Хаверсина, вы можете рассчитать ближайшие местоположения от вашего дБ, координаты местоположения почтового индекса. Вы можете сделать это на стороне интерфейса, например, в этом SO answer (вместо адреса вы вводите почтовый индекс + состояние/страну в адресной строке) или на стороне сервера, если вы используете MySQL, проверьте это SO question.