目前我正在做一个project, 会用到google direction API
以及geometry library (主要是用里面的某一个islocatededge function)
大概介绍一下project目的:
跑循环, 每次送一对起终点, 然后用directionservice算route
然后用isLocationOnEdge来看是否我在意的一些路口有在route上
因为google在query数量上有限制, 因此我每两秒才送一个query
(我目前用settimeout)
但发现程式执行到大约270左右个query时, gogole就开时回传over limit query的status
因此想要动态延长等待的时间,
但因为我的循环中的setimeout是类似这样做
function doSetTimeout(a,b) {
setTimeout(function() {
getRoute(a, b); //抓路口是否在route上的function
}, times*2000);
times++
}
感觉像是一开始就把query都ready to send out, 只是隔两秒才会真正发送出去
请问有办法动态调整等待时间吗?
或是让程式暂停
在if (status == google.maps.DirectionsStatus.OVER_QUERY_LIMIT) 时
我查过似乎javascript没有这种功能?)
或是有其他更好的作法呢?
谢谢!
ˇ