Странное поведение геокода Google Maps v3, когда в адресе есть цитата - PullRequest
0 голосов
/ 05 мая 2010

См. Мою тестовую страницу .

Находясь на странице, нажмите в левом верхнем углу кнопку «Геокод». Если вы находитесь в Firefox, geocoder.geocode () будет иметь статус, равный ERROR (и выдает предупреждение через несколько секунд). В Internet Explorer (как минимум 7) все нормально и маркер добавляется на карту.

Если вы удалите кавычку с адреса (l'Assomption -> lAssomption), все будет нормально выполняться в Firefox.

Теперь с моим вопросом: как цитата может «вывести из строя» API Карт Google V3 только в Firefox !?

ОБНОВЛЕНИЕ: Статус мой отчет изменен на "Подтверждено" Google. Кажется, это действительно ошибка V3. Пока это исправлено, я удаляю кавычки с адреса перед геокодированием (Google Maps достаточно умен, чтобы найти его без него).

1 Ответ

1 голос
/ 05 мая 2010

Странно. Когда я пробую это в Firefox, код ответа от сервера - 403. Вот тестовая ссылка на вызов API, как сообщается в Firebug

5415 бул. de l'Assomption, Монреаль, Квебек, H1T2M4, Канада

Итак, я загрузил его в IE и запустил Charles . Вот ссылка на вызов API, сгенерированный IE.

5415 бул. de l'Assomption, Монреаль, Квебек, H1T2M4, Канада

Видите разницу? Firefox кодирует ' в %27, тогда как IE - нет.

Выводы

  1. Либо встроенная функция, либо разница в обработке браузеров API Google, Firefox и IE по-разному обрабатывают экранирование апострофов в URL.
  2. Конечная точка службы геокодирования Google не знает, как обрабатывать апостроф с URL-кодом, и выдает 403 - Forbidden как ложный минус.

Короче говоря? Похоже, ошибка.

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