There are endless ways, which makes programming as fun and sometimes complicated as it is.
- Use an array to simulate a tilemap, 1 means road, 2 means ice...
- Run the check against your heightmap itself and check for the RGB values that reflect a street
- Place invisible spheres alongside the road and check if the motorcycle is near it
and many more.
It depends on how you set things up. Your advantage is that you dont use random generation (i assume) and you know the complete layout of your map beforehand. Cache that information in a way that makes sense and access that information during the game.