I used three methods. I had a good sense of pace and even on hilly trails could make good enough estimates of distance by how much time I took divided by estimated average pace. This was mentally calibrated by known distances on some of those trails. So my sense of average pace was improved by sometimes checking against measured distances on those trails, and my estimated distances were improved by having a good sense of pace even on trails. (I also had a perfect sense of pace on a track and made for a good pacer in workouts. . . the wavelight would have done nothing to help.)
On sections of road that I ran frequently, I memorized mile marks based on a calibrated bike computer. A calibrated bike computer counts wheel rotations, which is what the Jones counter mounted on bicycles used for course certification does. It can be as accurate as a Jones counter if you are careful with how you use it. A bike is a better than a car odometer because you can't drive your car on the exact path that you run most of the time, such as on the sidewalk or on multiuse paths/trails. (I'm fortunate to have access to trails and multiuse paths right out my back yard and haven't really run much on roads since the '80s and '90s.) Car odometers can be off by several percent (might have non-OEM tire size on the car, worn tires, etc.).
Old paper road maps often had distances between intersections labeled. You still see this on some trail maps (see link for an example). So you would just add up all the segments between the intersections.
Finally, I'd sometimes measure a route on the map with a ruler that I'd rotate tangentially along any curves and then make calculations against the scale bar. Kind of like amkelley's thread method, which sounds more difficult than just using a small ruler (but I haven't tried). There are also tiny map measurement wheels that you can roll along a map like the measurement wheels people roll on the ground. I never used one. . . a ruler was good enough for me.