I've decided to go directly the 3D route using Babylon.js, see here for an example: https://cubetrek.com/view/6338
Within Switzerland, it also uses Swiss-style maps as texture, outside of Switzerland a visually similar map style.
I'm looking for Beta testers, so feel free to sign up: https://cubetrek.com/