In mapquest.com I have found out the best APIs for working with maps and geopositions in my opinion.

For example, I wrote a small script to navigate between cities. That is the result for the route from Bryansk to Moscow.

The API has many request parameters. JSON response contains a lot of data: