A magnetic compass, including the compasses on most smart phones, does not point to the North Pole, or even to the North Magnetic Pole. Instead, it points away from True North by an angle known as the Magnetic Declination, which varies considerably, depending on where you are on the earths surface. It also varies slowly over time, as you can see in the animation on the Wikipedia page. On paper maps, this may be further complicated by a third direction known as Grid North, which refers to the direction northwards along the grid lines of the map.
We mentioned in this post a time animation for Google Earth, visualizing the Earth’s magnetic fields changing over time. You can check it out, but we had difficulty getting it to work well as an animation in the current version of Google Earth, although viewing an individual year is not a problem.
To find out what the magnetic declination in your location is, the US National Oceanic and Atmospheric Administration (NOAA), provides a handy tool on their website. There is also this useful site that lets you pick your loction on a map and tells you the magnetic declination. The ruler tool in Google Earth shows ‘heading’, so once you know your magnetic declination it is pretty easy to work out which way your compass will point in Google Earth.
Magnetic declination for Cape Town.
From what we can tell, the mobile versions of both Google Maps and Google Earth automatically correct for magnetic declination and always show True North, although we couldn’t find any documentation to that effect.