Speed, heart rate, and other gauges over video looks cool and gives an awesome insight what is happening in more details whether it is track day with your sports car, bicycle event or just daily commute to work.
To put GPS and other sensor data over a video you will need a camera with GPS capabilities, or camera and device that is able to record GPS data in .gpx or .fit format. The easiest way is to buy a Garmin Virb XE camera with built-in GPS, it is great all-in-one device if you want plug and play hassle free experience.
The second option is to have 2 separate devices, one for recording video and one for recording GPS data. for first one any camera will do the trick be it your iPhone or GoPro. I personally use GoPro hero4 black and Xiaomi Yi cameras and Suunto Ambit3 Peak sports GPS watch to record GPS data, heart rate, and other sensors. But any phone with GPS will be able to record GPS data. You can use apps like Strava, Endomondo if you are capturing sports related activities or any other app that is capable of recording and exporting .gpx/.fit data.
When you have GPS data and video from a camera, you can use Garmin Virb Edit software to place gauges over video. Simply sync GPS with video and pick gauge from available gauges or download new ones. The result will look something like this:
On the left side, you can see speedometer, elevation, heart rate and compass, but on the right side, you can see map, duration, and distance. Garmin is not just a GPS Navigation company, they specialize also in sports tracking, so you have plenty of gauges to choose from all sort of sensors, for cycling you can have cadence, power output on top of your video, speed and height above sea level for sky jumping video.