GMaps api Geocode странное поведение - PullRequest
2 голосов
/ 17 мая 2011

Я использую веб-сервис gmaps apiv3 для геокодирования с парой latlng.Это довольно просто, но у меня странное поведение для некоторых данных.

Уравнение:

http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&region=fr&latlng=46.16141,-1.149797

Далее я открываю URL с помощью навигатора (Firefox / Chrome) и в строке formatted_address значение:

<formatted_address>57-79 Rue des Merciers, 17000 La Rochelle, France</formatted_address>

Но когда я получаю XML-файл через PHP

$xml = simplexml_load_file($url);
var_dump($xml)

результат:

public 'formatted_address' => string '57-79 Rue des Merciers, 17000 Rochelle, France' (length=46)

Слово «Ла» перед «Рошель» просто исчезает ... Это моя проблема.И это не уникальный случай (я могу опубликовать больше примеров).

Я пытаюсь также попробовать с file_get_contents, curl, wget ... Тот же результат

1 Ответ

6 голосов
/ 17 мая 2011

Это потому, что отформатированный уличный адрес учитывает локали и реагирует на заголовок accept-language вашего браузера, который, вероятно, равен fr-FR.

Если вы закодируете позицию в Лондоне, вы получите Londres в браузере на французском языке, London в английском, Lontoo в финском и т. Д.

Используйте параметр language для принудительной установки языка.

http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&
region=fr&latlng=46.16141,-1.149797&language=fr
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...