PYTHON:GoogleAPI方向层在10次请求后显示多个点之间的路由时,给出了超过查询限制
我正在做一个项目,使用google map distance API显示来自数据帧的a点和B点之间的路线,我不断得到的错误。”PYTHON:GoogleAPI方向层在10次请求后显示多个点之间的路由时,给出了超过查询限制,python,google-maps,map-directions,google-directions-api,Python,Google Maps,Map Directions,Google Directions Api,我正在做一个项目,使用google map distance API显示来自数据帧的a点和B点之间的路线,我不断得到的错误。” [方向层]您发送的方向请求太多。请等待配额补充“。只有当请求数超过10时才会发生这种情况。尽管如此,我在第10次请求后增加了1秒的延迟,但运气不好!我还尝试批量发送请求,每个请求的大小为10个,但这也不起作用!此外,我还阅读了API文档 我有帐单设置,虽然我在免费试用,显然我仍然有超过300美元的信用卡 这是我的代码的一个模拟,非常简单,供您参考 import gmap
[方向层]您发送的方向请求太多。请等待配额补充“。只有当请求数超过10时才会发生这种情况。尽管如此,我在第10次请求后增加了1秒的延迟,但运气不好!我还尝试批量发送请求,每个请求的大小为10个,但这也不起作用!此外,我还阅读了API文档 我有帐单设置,虽然我在免费试用,显然我仍然有超过300美元的信用卡 这是我的代码的一个模拟,非常简单,供您参考
import gmaps
import time
dict_k ={}
dict_k['st_coordinates'] =[ '24.760669, 54.704782','25.168596, 56.355549','25.004274, 55.063742','25.000252, 55.060932',
'24.872900, 55.137325','24.537609, 54.383664','24.050339, 53.470903','24.211435, 55.424501',
'24.196804, 55.855923','24.308309, 54.675861','24.988239, 55.104435','24.985047, 55.071542',
'24.306433, 54.490205','25.000252, 55.060932','24.536064, 54.383048' ]
dict_k['en_coordinates'] =[ '24.454036, 54.376656','24.130453, 55.801786','23.931339, 53.045892','24.171,54.408',
'24.454036, 54.376656','24.130453, 55.801786','23.931339, 53.045892','24.171,54.408',
'24.454036, 54.376656','24.130453, 55.801786','23.931339, 53.045892','24.171,54.408',
'24.454036, 54.376656','24.130453, 55.801786','23.931339, 53.045892']
key = 'AIzA...............'
dataframe = pd.DataFrame.from_dict(dict_k)
def draw_map (dataframe,key):
gmaps.configure(key)
fig = gmaps.figure()
for i in range(len(dataframe)):
start_point = eval(dataframe['st_coordinates'].iloc[i] )
end_point = eval(dataframe['en_coordinates'].iloc[i] )
layer = gmaps.directions_layer(start_point, end_point)
fig.add_layer(layer)
if i >10:
time.sleep(1)
return fig
df = draw_map(dataframe,key)
df
这里是API指南的链接。说得很清楚。 您可以通过以下方式超过Google地图平台web服务的使用限制:
在收到状态代码超过\u QUERY\u LIMIT的响应后,应用程序应确定超出了哪个使用限制。这可以通过暂停2秒钟并重新发送相同的请求来完成。如果状态代码仍然超过查询限制,则应用程序每天发送的请求太多。否则,您的应用程序每秒发送的请求太多。“我在第10个请求之后添加了1秒延迟,但没有运气!”-为什么您认为您的配额会在1秒内重置?这不是配额重置,我强制应用程序在发送下一个请求之前等待1秒。我已经读到,在第10次请求之后,您应该等待1秒钟,然后再发送其余的请求。问题仍然是:为什么您认为延迟1秒钟会起到任何作用?配额通常不是这样的。速率限制可能会出现,但您的错误消息明确表示“等待配额补充”。所以,嗯。。。等待配额补充。嗨@Chris,因为每当我再次运行相同的代码时(但分数不超过10分),消息就会消失:)