Сбой функции получения jQuery в API Карт Google - PullRequest
0 голосов
/ 24 января 2012

Я пытаюсь создать небольшой инструмент, используя API Google Maps. Я думал, что с использованием API DistanceMartrix я мог бы сделать это с помощью HTML / Javascript

$.get("http://maps.googleapis.com/maps/api/distancematrix/json?origins=Vancouver+BC&destinations=San+Francisco|Victoria+BC&sensor=false", function(data){
    alert("Hello world");
});

вышеприведенный код не срабатывает при предупреждении. Я могу заставить его предупреждать перед функцией, и у меня есть команды jquery перед этим, которые все работают хорошо. Так что же не так в этом невероятно простом утверждении? (Я предполагаю, что это глупо, потому что я устал!)

Ответы [ 3 ]

1 голос
/ 24 января 2012

похоже, что вам нужно включить библиотеку google maps v3 js через тег script, а затем использовать этот сервис http://code.google.com/apis/maps/documentation/javascript/reference.html#DistanceMatrixService

будет что-то подобное

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>


<script type=text/javascript">
    var service = new google.maps.DistanceMatrixService();
    service.getDistanceMatrix(

          {
            origins: [...], //array of origins
            destinations: [...], //aray of destionations
            travelMode: google.maps.TravelMode.DRIVING,
            unitSystem: google.maps.UnitSystem.METRIC,
            avoidHighways: false,
            avoidTolls: false
          }, function(response, status){
              if(status==google.maps.DistanceMatrixStatus.OK)
              {
                  alert('ok')
              }
          });
      }
</script>

`

UPD:

У меня есть некоторые проблемы с форматированием кода, но я надеюсь, вы догадались, что я имею в виду.

0 голосов
/ 24 января 2012

API Карт Google требует базовой аутентификации (вы должны платить за> 25 000 запросов в день).Загрузка их библиотеки делает это автоматически, но загрузка через Google.

0 голосов
/ 24 января 2012

Поскольку вы делаете запрос «AJAX» из домена, отличного от вашего скрипта, он должен быть запросом JSONP, а не просто запросом JSON.JSONP требует обратного вызова в вашем скрипте, который получает данные и обрабатывает их.Многие API будут обслуживать запрос JSONP, если вы просто добавите &callback=? в конец URL.JQuery позаботится обо всем остальном, заставив его перейти к обратному вызову успеха.

Я предполагаю, что это так.

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