Intereting Posts

Google Geocoding API дает разные результаты для моего сервера и моего веб-браузера

Я использую API геокодирования Google, чтобы получить координаты lat / lng для разных поисков местоположения на моем сайте. Проблема в том, что для районов Лондона (возможно, это не ограничивается только Лондоном, именно там большая часть нашей пользовательской базы), например, «Ватерлоо», геокодирование api возвращает разные результаты моему серверу с того момента, когда я помещаю url непосредственно в мой браузер. Это url, который генерируется для waterloo:

http://maps.googleapis.com/maps/api/geocode/xml?address=waterloo,%20london,%20england&bounds=48.8,-11.2|60.9,1.9&sensor=false&region=uk

Если я вставляю это в свой браузер, я получаю правильную область Ватерлоо («Ватерлоо, Лондонский городок Ламбет, Лондон SE1, Великобритания»). Однако, когда мой сервер извлекает результаты из этого URL-адреса, он получает адрес «2C Waterloo Rd, London, Greater London NW2 7UA, UK», который находится в нескольких километрах от Ватерлоо. (Он возвращает только один результат).

Мой сервер находится в Великобритании, и GeoIP на IP подтверждает это. Почему Google возвращает разные результаты на мой сервер?

(BTW мой сервер использует PHP5 simplexml_load_file () для получения результатов)

** Я не понимаю, почему этот вопрос был отмечен как дубликат другого. Вопрос, который является предполагаемым дубликатом, нисколько не отвечает на мой вопрос, мой вопрос не имеет ничего общего с предприятиями (только почтовые регионы) и не объясняет, почему к моему компьютеру по-разному относятся к моему компьютеру.

Вы испытываете что-то под названием Region Biasing: https://developers.google.com/maps/documentation/geocoding/#RegionCodes

Передайте параметр region=uk GET, и ваши результаты должны быть одинаковыми (т.е. с учетом Великобритании) повсюду.