What would be the best solution for routing in an Android application?

I've been looking a bit for some possibility to show a route on a Google Map inside an Android application. Since the new SDK doesn't provide DrivingDirections anymore.

I have found for example this topic: J2ME/Android/BlackBerry - driving directions, route between two locations which seems to be fine but as the topic author already stated, it's violating the "Google Maps/Google Earth APIs Terms of Service" so it's not really reliable solution I think.

I was looking around OpenStreetMap which provides such service but unfortunately I didn't found any possibility to get results for a routing for a third part application.

Beside them there is Nutiteq Mobile Mapping library which seems to be closer to what I'm looking for but unfortunately it's GPL. Please don't get me wrong, I'm a really big fan of open source I just think that GPL is the worst licence for a library from all open source licenses.

Is there is some other library which provides routing possibilities for an Android App? Or maybe there is some possibility to get routing results from OpenStreetMap for example in an exchangeable format (XML, JSON)?

Regards, Radek


CloudMade has a routing service implementing OSM (so expect a lot of inaccuracy!). EDIT (regarding accuracy): In the context of OSM the accuracy totally depends on the location. E.g. in Italy, it might be not as accurate as in Germany. What's the difference between these countries - you tell me! In the waste majority of cases it has all the streets (as physical routes), but it doesn't know very much about names/directions (single or double)/enumeration/number of lanes/POI's. This makes it totally suitable for walking directions though. See my blog entry for working code.

My company wasn't very satisfied with any free solution so they moved to a local ESRI representative who provides us with custom routing for a fee.

Need Your Help

Merging of two part files with header as only first line Hadoop

hadoop apache-pig cloudera

how can i merge two or more part files in hadoop to single file in such a way that merge output is having entire data but, only one header that is in the 1st line of merge output .

Debugging a tough LINQ-to-SQL Timeout

sql-server linq sql-server-2005 linq-to-sql deadlock

I'm getting a timeout error when trying to execute a LINQ (-to-SQL) query