iMapMyRide is great. It records and uploads all your route data to the iMapMyRide web site. Once uploaded you can view the route on a Google map, see the total distance travelled, see a chart of the elevation plus the total gain, add notes, log the workout and share the route with others. I really can't recommend it enough