JQuery & Google Maps: как AJAX это - PullRequest
0 голосов
/ 24 января 2011

У меня есть простая задача, но я не могу ее выполнить.У меня будет страница, которая позволяет пользователю вводить свой адрес и получать от Google указания по возвращению к месту назначения.Итак, первым шагом было перейти к API карт Google и посмотреть, как это делается.Итак, из их примера я получил следующий URL:

http://maps.googleapis.com/maps/api/directions/json?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&sensor=false

Если вы добавите этот URL в браузер, вы получите результат json.Итак, я подумал, почему я не могу вызвать это в запросе jQuery AJAX?Это возможно?Я пробовал запрос ниже, но получаю ошибку «Отказано в доступе» в скрипте jQuery:

        $.ajax({
            type: "POST",
            url: "http://maps.googleapis.com/maps/api/directions/json?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&sensor=false",
            success: function (msg) {
                alert(msg);
            }
        });

Кто-нибудь видит проблему с синтаксисом или знает, почему это не работает?И к вашему сведению, это только первый вопрос.Я хотел бы, чтобы этот вопрос стал отличным ресурсом для других, чтобы создать карту Google с указаниями через jquery и ajax без использования php (который, как кажется, используют все остальные).

1 Ответ

2 голосов
/ 24 января 2011

Чтобы сделать кросс-домен $.ajax, указанный URL должен поддерживать JSON-P. Используемый вами URL-адрес поддерживает только JSON.

Редактировать: Я был не прав. Вы ищете направления, а не геокодирование. Я не уверен, есть ли что-нибудь для вас в библиотеке API, но вы можете его осмотреть.

https://code.google.com/apis/maps/documentation/javascript/reference.html

https://code.google.com/apis/maps/documentation/geocoding/

(игнорировать информацию о геокодировании ниже)

Google отключил обратный вызов JSON-P для геокодирования, чтобы предотвратить злоупотребления. Вы должны использовать библиотеку API геокодирования Google, чтобы сделать правильный запрос, и целью обратного геокодирования должно быть отображение адреса в Картах Google.

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