The WheelJoint is similar to a RevoluteJoint with a spring that allows the bodies to move along a defined axis.
The movement is done by enabled the joint motors.
If you run it with debug drawing enabled you will see two additional fixtures:
The bottom one is a heavy fixture that helps with stabilizing the car. It is destroyed after 100 meters to make the car crash.
The top one is very light and it used to find out when the car rolled over.
Getting the physics to behave nicely was challenging and it still needs a bit fine tuning.
There are many parameters that affect the behavior. The hills in this example are too steep. It would have been better to use different tile set with more gentle heels.
The example will be added to the examples pack.
Tileset credit: http://www.kenney.nl