I have played about with this recently. The best software for me is Viewranger using free downloadable maps. (Open cycle map is free, although you pay for more detailed maps). Map my ride would be good as well although I hink you would need to cache the map prior to going out . You can also import gpx files into Strava and also Endomondo.