Служба Google Maps Geocoding XML возвращает ошибку через Curl, если используется название города с более чем одним словом - PullRequest
1 голос
/ 14 февраля 2012

Я использую следующий сервис геокодирования Карт Google с помощью сценария php

http://maps.googleapis.com/maps/api/geocode/xml?address=

Я уже пробовал curl и file_get_contents, но ни один из них не работал. Проблема в том, что когда я использую название города с одним словом, это работает, но когда я использую название города с двумя словами, я ничего не получаю от сервиса, но следующая ошибка

  1. Это ошибка.

Ваш клиент отправил неверный или незаконный запрос. Это все, что мы знаем.

Ниже приведен фрагмент кода из скрипта

$ city = $ _GET ["c"]; $ URL = "http://maps.googleapis.com/maps/api/geocode/xml?address=$city&sensor=false"; $ data = curl_download ($ url); // $ data = file_get_contents ($ url);

echo $ data;

Я также загрузил скрипт в папку ниже

01) http://www.javeria.com/sites/travel/map/googlemap.php?c=Houston (работает) 02) http://www.javeria.com/sites/travel/map/googlemap.php?c=New+York (не работает)

При вызове с 02) карта не отображается, вместо этого я маскирую ошибку, чтобы отобразить сообщение, удобное для пользователя.

Буду признателен за любую помощь в этом вопросе.

1 Ответ

2 голосов
/ 05 декабря 2012

Попробуйте использовать + между словами.Я делаю по сути то же самое - и это изменение заставляет меня работать.

...