У Google есть несколько слоев с информацией об улицах, дорогах и т. Д. ... когда вы используете карты Google, отображается только "графическое представление" их данных в растровом формате, но им нужен "векторный" слой, который мы не делаемпосмотрите.
Расчет маршрутизации - очень сложная проблема инфраструктуры в ГИС-сервере, например, с Geoserver и PostGIS вы можете использовать Dijkstra Routing с Pgdijkstra.
Это очень сложный вопрос, для краткостиответить.