对 Google Maps API 的 AJAX 请求停止工作

Posted

技术标签:

【中文标题】对 Google Maps API 的 AJAX 请求停止工作【英文标题】:AJAX request to Google Maps API stopped working 【发布时间】:2013-11-11 17:45:36 【问题描述】:

我正在尝试在我的应用程序中使用 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,+India&travelMode=DRIVING&sensor=false

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

这几天出了什么问题?

【问题讨论】:

Google Maps API Webservices的可能重复 【参考方案1】:

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

就您的具体情况而言,您可能已达到每日限额。它以前发生在我身上。谷歌对免费使用的限制在个人使用方面非常宽松,但如果你只是在抓取行车路线,那就很严重了:)

【讨论】:

我尝试使用错误:function()alert("error");并收到错误警报。我不认为我的每日限制已经完成。我什至没有完成 10 个请求。它是别的东西。 @user2962766 既然您确定自己遇到了错误,为什么不增强您的错误处理程序以告诉我们您遇到的确切错误呢?此外,如果您之前使用过 done(),那么您现在应该使用 fail。使用 function(jqXHR, textStatus, errorThrown) 作为失败回调而不是当前的空回调。 我也遇到了这个问题link,我使用 Ajax 从 Google Directions 获取 XML 并从中获取一些数据,但在最后几天它停止工作。完成后也无法收到警报。

以上是关于对 Google Maps API 的 AJAX 请求停止工作的主要内容,如果未能解决你的问题,请参考以下文章

Google Maps API 仅在使用 AJAX 时抛出“Uncaught ReferenceError: google is not defined”

为啥“Google Maps”一书中的 Google Maps Directions API 示例对我不起作用?

对 maps.google.com 进行大量(可能约为 100000)的 api 调用会导致 getaddrinfo ENOTFOUND 错误

Google maps API V3 - 无法对 AutocompleteService 预测进行地理编码

Google Maps API 密钥可能对您的捆绑包 ID 无效

直接进入地址栏时,您必须使用 API 密钥来验证对 Google Maps Platform API 的每个请求错误