2012-12-12 27 views
0

這是我的代碼:DirectionsService - 3請求後的OVER_QUERY_LIMIT?

function traceRoute(part, arr) { 
    var polylineTrattaTreno = new Array(); 
    var request = { 
     origin: part, 
     destination: arr, 
     travelMode: google.maps.TravelMode.TRANSIT 
    }; 

    directionsService.route(request, function (response, status) { 
     if (status == google.maps.DirectionsStatus.OK) { 
      ... manage my data 
     } else { 
      console.log(status); 
     } 
    }); 
}  

,我發現,如果我調用該函數的3倍,一切正常!比我總是得到OVER_QUERY_LIMIT。試圖把超時1或2秒。但沒有任何反應。似乎我不能做超過3個時間要求?

+0

你是否在forloop中遞歸地調用這個函數? – Cdeez

+0

不!只是3次... – markzzz

回答

2

按照Documentation -

使用谷歌地圖API的受到的每天2500個 路線請求查詢的限制。當 交通工具的模式是開車,步行或騎自行車時,每個方向搜索將計爲針對每日配額的單個請求 。搜索中轉 方向將統計爲4個請求。

添加到它 -

此外,注意路線API網址的長度不得超過2048 字符,URL編碼之前。由於某些路線服務網址可能涉及路徑上的許多地點,因此請在 構建您的網址時注意此限制。

您的出發地和目的地值可能相當遠並且考慮到您正在使用公交方向的事實,因此很快就會達到限制。

更新-如果將模式設置爲「過境」,則還必須指定departure_time或arrival_time。

+0

所以「過境」限於4次請求時間? :O – markzzz

+0

當您進行單一的公交路線搜索時,它會計爲4個請求。但是,如您所陳述的3個請求不應達到上限。您可能還需要根據第二次降臨來查看網址的長度。 – Cdeez

+0

你是否也經歷了24小時的時間或者是幾秒鐘?有兩種限制 - 短期和長期(24小時)。 – Cdeez