Javascript 谷歌地图API v3:处理使用限制

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) {

谷歌地图对API的使用有限制: 每个web服务每秒10个请求的所有web服务速率限制。GooglePlacesAPI有单独的使用限制。 参考:

我已经向谷歌地图API发送了10多个请求。 下面是我使用以下方法编写的示例代码:

我已经根据我的要求更新了以下jquery函数。 我为每个请求添加了1秒的睡眠/延迟

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);
        });
    }