Вам, очевидно, понадобится база данных карт улиц, аналогичная той, что есть у Google.Они огромные и огромные боли для поддержания.Тогда вам понадобится довольно сложный алгоритм поиска пути.
Лучше всего использовать API Карт Google и позволить им выполнить всю работу за вас.
Для сравнения посмотрите Bing Maps.и Yahoo Maps (оба имеют API, похожий на Google)
Я также слышал, что ArcGIS имеет API, аналогичный Bing, но НАМНОГО дешевле (2500 долларов вместо 8000 долларов на миллион транзакций)