Как минимум, логика поиска свободных водителей не расположена у клиента в приложении. Поэтому никаких перегрузок по запросам нет.
Логика такая:
1) Клиент отсылает запрос на поездку, в месте с ним отсылается его геопозиция на сервер
2) По приходу запроса на сервер, становится в очередь на выполнение (или сразу же обрабатывается)
3) Происходит поиск по актуальной базе водителей (где расположены текущие их координаты)
4) Сервер отправляет ответ клиентскому приложению что заказ принят, водитель найден
И да, сделано все это чудо не на php и js :D
Как минимум питончик. А если хотите реализовать открытый канал (когда сервер может отсылать данные клиенту (я про веб)), смотрите в сторону ratchet
socketo.me