Смещение регионов с помощью Google Maps - PullRequest
3 голосов
/ 31 октября 2010

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

Я бы хотел помочь Google Map API сделать более точные предположения, сделав смещение региона .Есть ли способ сообщить Google о смещении в регион, откуда делается запрос?Или как я могу передать эту информацию в Google при вызове через веб-службу (например, преобразовать IP-адрес в информацию о стране)?

Спасибо.

Ответы [ 2 ]

6 голосов
/ 31 октября 2010

В прошлый раз, когда я проверял, "смещение региона" как для клиентской, так и для серверной части геокодера Google было ненадежным. Прочтите этот пост с апреля прошлого года (проверено еще раз прямо сейчас, и проблема не устранена):

Самый надежный способ, который я нашел, это добавить страну в конце адреса. Поэтому, если пользователь находится в Великобритании и вводит «Оксфорд-стрит Лондон», вы должны присоединить «, Великобритания» к адресу для геокодирования.

Чтобы получить страну пользователя, существует довольно много решений. Вы можете использовать Geolocation API , как @You предложил в другом ответе , или вы можете использовать стороннюю службу IP-to-location. Возможно, вы захотите воспользоваться услугой MaxMind GeoLite City , которая является бесплатной и, как сообщается, с точностью до 99,5% на уровне страны.

0 голосов
/ 31 октября 2010

В современных браузерах вы можете использовать API геолокации HTML5, как описано в Dive Into HTML5 . Это предполагает поддержку на стороне клиента и то, что вы делаете запросы на стороне клиента. Для серверного (или резервного) решения вы можете попробовать что-то вроде PHP Geo IP-функций .

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