1

我正在尝试在我的应用程序中使用 Google Maps API。我无法从这个简单的 API 请求中得到结果。一周前,这段代码运行良好。不知道是谷歌的服务有问题还是我的代码有问题。

这是我的要求:

       $.ajax({
            type: "GET",
            url: apilink,
            data: {
                origin: start.replace(/ /g, '+'),
                destination: end.replace(/ /g, '+'),
                waypoints: 'optimize:true|' + waypts.join('|').replace(/ /g, '+'),
                travelMode: google.maps.DirectionsTravelMode.DRIVING,
                sensor: false
            },
            dataType: "json"
        }).done(function (response) {
        alert("inside done");
       });

查看我的 javascript 控制台,这是我的请求:

https://maps.googleapis.com/maps/api/directions/json?&origin=Chennai,+Tamil+Nadu,+India&destination=New+Delhi,+Delhi,+India&waypoints=optimize:false|New+Delhi,+Delhi ,+印度&travelMode=驾驶&传感器=假

现在,当我打开此链接时,我可以看到 JSON 响应。但我无法获得“内部完成”的警报。

这几天出了什么问题?

4

1 回答 1

1

done()等效于旧的 success() 调用 - 只有在调用成功时才会调用它。如果调用失败,完成回调将不会被执行。始终向 ajax 调用添加失败回调。如果没有别的,那么只是提醒自己这个调用有一天可能会失败,并且业务规则还没有指定在这种情况下必须做什么。

至于您的特殊情况,您可能已经达到每日限额。它以前发生在我身上。谷歌对免费使用的限制在个人使用方面非常慷慨,但如果你只是在刮取行车路线,那就太严重了:)

于 2013-11-11T17:53:39.993 回答