function test(a, b){
.
.
directionsService.route({
origin: origin,
destination: destination,
travelMode: 'DRIVING',
}, function(response, status) {
if (status === 'OK') {
var interval = window.setInterval(function() {
.
.
window.clearInterval(interval);
test(a, b);
}
}
}
этот код часто запускает API служб направления еще до того, как метод test вызывается рекурсивно.