6

リクエストを行うためにCoffeeScriptを使用していますgetJSON

$.getJSON(
    "http://maps.googleapis.com/maps/api/distancematrix/json?callback=?"
    origins: origin
    destinations: destinations
    sensor: false
    success: (data) -> 
        console.log data
   error: (data) ->
        console.log data
  'json'
)

URL は次のとおりです。

http://maps.googleapis.com/maps/api/distancematrix/json?callback=?&origins=-25.8350643,28.1636066&destinations=-25.551836,%2028.423075|-25.218503,%2027.923075|&sensor=false

それをブラウザに入力すると、JSON が返されますが、ajax リクエストは次のように伝えます。

Uncaught SyntaxError: Unexpected token: 

何か案は?

4

2 に答える 2

6

そのエンドポイントは (JSONP) コールバックをサポートしていません。
Google の方法で行う必要があります。

    var distanceService = new google.maps.DistanceMatrixService();
    distanceService.getDistanceMatrix({
        origins: ['Istanbul, Turkey'],
        destinations: ['Ankara, Turkey'],
        travelMode: google.maps.TravelMode.DRIVING,
        unitSystem: google.maps.UnitSystem.METRIC,
        durationInTraffic: true,
        avoidHighways: false,
        avoidTolls: false
    },
    function (response, status) {
        if (status !== google.maps.DistanceMatrixStatus.OK) {
            console.log('Error:', status);
        } else {
            console.log(response);
        }
    });

こちらのドキュメントを参照してください。

于 2014-05-25T23:38:06.843 に答える
2

クライアント側のコード*から直接Googleマップのウェブサービスを呼び出さないでください。単にJSONP(つまり、「コールバック」を使用したjson)はサポートされていません。

Google Maps JavascriptAPIhttps://developers.google.com/maps/documentation/javascript/services#distance_matrixの一部としてDistanceMatrixServiceを使用する必要があり ます

  • Webサービスは、Javascript APIが実行できないAPI、つまりサーバーにアクセスするためのものです。
于 2012-09-20T11:51:13.267 に答える