对 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 预测进行地理编码