我正在爲我公司使用的內部工具之一添加一個映射函數。長話短說,我們有一個需要放置在地圖上的大約50個地址的列表。我使用的是Google地圖,因此它是交互式地圖,然後是用於地理編碼和添加標記的JavaScript API。按照Google's documentation,我被限制爲每秒10個請求。所以,我已經通過地址數組來設置我的JavaScript來攪動,並在每個批次之間加入延遲。谷歌地圖地理編碼API錯誤率限制
所以我的功能是設置有兩個confif變量我可以設置:addressesPerBatch和timeoutPerBatch - 很明顯了每個人應該做的。你會認爲,從谷歌的文件來看,我會被允許
addressesPerBatch = 10;
timeoutPerBatch = 1000; //That's in milliseconds
我當然不是。當我快速發送請求時,我很快就達到了費率限制。甜蜜點我發現其實是圍繞着」
addressesPerBatch = 2;
timeoutPerBatch = 2000;
所以,這是我的javascript問題或與谷歌的速率限制?
我已經創建了一個的jsfiddle,以便在出現問題更好地瞭解我在做什麼: http://jsfiddle.net/Qt4gV/1/
如何僅在您點擊OVER_QUERY_LIMIT時添加休眠/重試,因此您不必嘗試調整配置以準確地匹配API限制。 –
@ScottWegner這實際上是一個[建議的谷歌方法](http://code.google.com/apis/maps/articles/phpsqlgeocode.html#geocodephp)。我考慮過這樣做,(可能會),但它仍然沒有回答根本問題。我* *應該被允許每秒10個請求,但現在我只獲得1次每秒。 – jwegner
您在上面引用的速率限制文檔僅限於「Google Maps API Premier」。此處描述的一般使用限制不會引用特定的每分鐘限制:http://code.google.com/apis/maps/faq.html#usagelimits。請注意,由於您將調用作爲客戶端JavaScript進行調用,因此配額適用於客戶端。這對您很有幫助,除非用戶位於許多客戶端使用相同配額的代理之後:http://code.google.com/apis/maps/articles/geocodestrat.html#quota-limits –