LeafletJS is great! I've been using it successfully with multiple tile layers and a few additional plugins as well (such as leaflet-ruler[0] and RotatedMarker[1]) as the foundation for the map display in my virtual sailing project. Here's a sample of what that looks like: https://i.postimg.cc/8z7DMz3T/leaflet-sample.png
[0] https://github.com/gokertanrisever/leaflet-ruler
[1] https://github.com/bbecquet/Leaflet.RotatedMarker