All recent iPhones have a magnetic compass sensor chip. Hardware wise this seems to work similarly to the same option in some Garmin GPS’s. I’m not sure how useful this is in the GPS navigation context but I have implemented a compass anyway. In the past I have usually selected Garmin GPS’s with the compass feature for my own use but I seldom need to use it in practice.
You will see the “Show compass” option in the View menu.
All bearings in the app including the compass are relative to true North. The compass is overlaid on the center of the map and the “North” arrow is relocated to the center. The actual bearing the phone is “pointed” at is also displayed at the top of the map screen. If your device settings allow the app to flip then the concept of “pointed” means relative to the current “top” of the app.
From the main menu tap “View” then tap “Show compass” to either show or hide the compass.
Show the compass working with the device “pointed” nearly to North. Note that the map is rotated 8° to align with the point direction. Generally if the map is rotated you can reset it to North up by tapping the translucent North arrow.
Preferences dialog has a “Rotate map GPS / Compass up” option (set by default). This causes auto map rotation action if set. This function rotates the map firstly to current bearing if you are moving but to the direction “pointed” if you are stationery.
Here GPS is on and the user is moving (0.2 m/s) so the GPS arrow points up and the map orientates to the direction of movement regardless of the compass.
Here the user has stopped and the map rotates to the direction the phone is pointed. It can take a moment for the app to recognise that you have stopped.
It seems that the compass sensor requires occasional “calibration” similarly to Garmin GPS’s. You can Google search to see various ways to do this but the Garmin way seems to work. With the compass on rotate the phone 360 degrees successively on each of its three planes.