Openrouteservice is a open source route planner with plenty of features for car, heavy vehicles, hiking and cycling.