I have enjoyed RideWithGPS. There are various tiers, and the free tier gets you a lot of features you might be looking for with the paid tiers providing more features related to route planning. It can be integrated with computers (I now use a wahoo) or run from a phone in your jersey pocket. It can connect with other services like Strava if you want to share your ride data there. Routes can be imported/exported in a variety of formats and I believe other sensors like heart rate / power / cadence can be added in, but I don't personally use those so don't take my word on that.
Good luck