> Can anyone tell me any idea to solve this problem?
You might implement a queue.
Send a request for the first item in the queue.
When the response comes, process it.
Remove the completed item from the queue.
Look to see if there is a next request in the queue, and send that.
Beware of the terms of use, regarding displaying Directions results
and saving data extracted from results.