Google Direction API OVER_QUERY_LIMIT错误

时间:2018-08-09 16:17:14

标签: android google-maps google-maps-api-3

调用Google的Directions API时间歇性地收到OVER_QUERY_LIMIT错误。

enter image description here

2 个答案:

答案 0 :(得分:0)

Google Maps Platform

  

问题

     

您可以通过以下方式超出Google Maps Platform网络服务的使用限制:

     
      
  • 每天发送太多请求。
  •   
  • 发送请求太快,也就是   每秒有很多请求。
  •   
  • 发送请求太长时间太长时间,否则会滥用Web服务。
  •   
  • 超出其他使用限制,例如Elevation API中每个请求的点数。
  •   

  

解决方案

     

可以通过组合两种方法来解决上述问题:

     
      
  • 通过优化应用程序以使用Web服务来降低使用率   更有效率。
  •   
  • 在可能的情况下通过以下方式增加使用限制   为您的Google Maps API for Work购买额外津贴   许可证。
  •   

答案 1 :(得分:0)

您可以在代码中添加2秒的睡眠时间。这样可以防止每秒发送太多请求

这是一个Python示例:

url = "MAPS_API_WEBSERVICE_URL"
attempts = 0
success = False

while success != True and attempts < 3:
  raw_result = urllib.urlopen(url).read()
  attempts += 1
  # The GetStatus function parses the answer and returns the status code
  # This function is out of the scope of this example (you can use a SDK).
  status = GetStatus(raw_result)
  if status == "OVER_QUERY_LIMIT":
    time.sleep(2)
    # retry
    continue
  success = True

if attempts == 3:
  # send an alert as this means that the daily limit has been reached
  print "Daily limit has been reached"

也可能出现OVER_QUERY_LIMIT错误:

  • 当每个请求的得分超过512点时,从Elevation API获得 提供。
  • 当每个元素超过625个元素时,从距离矩阵API中获取 提供了请求。

应用程序应确保在发送请求之前未达到这些限制。