Javascript 谷歌地图API v3:处理使用限制
谷歌地图对API的使用有限制: 每个web服务每秒10个请求的所有web服务速率限制。GooglePlacesAPI有单独的使用限制。 参考: 我已经向谷歌地图API发送了10多个请求。 下面是我使用以下方法编写的示例代码: 我已经根据我的要求更新了以下jquery函数。 我为每个请求添加了1秒的睡眠/延迟Javascript 谷歌地图API v3:处理使用限制,javascript,jquery,jquery-ui,google-maps,Javascript,Jquery,Jquery Ui,Google Maps,谷歌地图对API的使用有限制: 每个web服务每秒10个请求的所有web服务速率限制。GooglePlacesAPI有单独的使用限制。 参考: 我已经向谷歌地图API发送了10多个请求。 下面是我使用以下方法编写的示例代码: 我已经根据我的要求更新了以下jquery函数。 我为每个请求添加了1秒的睡眠/延迟 displayDirections: function(current, directionsRequest, directionsRendererOptions, callback) {
displayDirections: function(current, directionsRequest, directionsRendererOptions, callback) {
alert("displayDirections "+current);
var startTime = new Date().getTime(); // get the current time
while (new Date().getTime() < startTime + 1000) {
} // hog cpu
var self = this;
var directionService = this.get('services > DirectionsService', new google.maps.DirectionsService());
var directionRenderer =new google.maps.DirectionsRenderer(directionsRendererOptions);
directionService.route(directionsRequest, function(results, status) {
alert("directionService Called " + current);
var startTime = new Date().getTime(); // get the current time
while (new Date().getTime() < startTime + 1000) {
} // hog cpu
if ( status === 'OK' ) {
directionRenderer.setDirections(results);
directionRenderer.setMap(self.get('map'));
} else {
alert(status)
directionRenderer.setMap(null);
}
self.get('directionRenderers').push(directionRenderer);
callback(results, status);
});
}
displayDirections:函数(当前、方向请求、方向呈现器选项、回调){
警报(“显示方向”+当前);
var startTime=new Date().getTime();//获取当前时间
while(new Date().getTime()directionService',new google.maps.directionService());
var directionRenderer=new google.maps.directionRenderer(directionrenderoptions);
路由(DirectionRequest、函数(结果、状态){
警报(“称为“+当前的directionService”);
var startTime=new Date().getTime();//获取当前时间
while(new Date().getTime()
但它没有按要求工作。
有人能帮我演示一下如何绕过这个限制吗
如果需要更多细节,请告诉我
谢谢。您可以检查“超过查询限制”的状态,如果您收到此信息,则可以延迟几秒钟,如$.delay(3000):
您是否超过了每日限制,或10秒限制?这不是睡眠……听说过设置超时吗?谢谢@Adam的帮助。已使用
setTimeout
我超过了10秒的限制
displayDirections: function(current, directionsRequest, directionsRendererOptions, callback) {
alert("displayDirections "+current);
var startTime = new Date().getTime(); // get the current time
while (new Date().getTime() < startTime + 1000) {
} // hog cpu
var self = this;
var directionService = this.get('services > DirectionsService', new google.maps.DirectionsService());
var directionRenderer =new google.maps.DirectionsRenderer(directionsRendererOptions);
directionService.route(directionsRequest, function(results, status) {
alert("directionService Called " + current);
var startTime = new Date().getTime(); // get the current time
while (new Date().getTime() < startTime + 1000) {
} // hog cpu
if ( status === 'OK' ) {
directionRenderer.setDirections(results);
directionRenderer.setMap(self.get('map'));
} else {
alert(status)
directionRenderer.setMap(null);
}
self.get('directionRenderers').push(directionRenderer);
callback(results, status);
});
}