A method for displaying a compass heading, the method implemented by a computerized mobile device and comprising: receiving at least two coordinates from a global positioning system, each coordinate representative of a location of the computerized mobile device; storing the at least two coordinates in a memory of the computerized mobile device; retrieving the at least two coordinates from the memory; determining if the computerized mobile device is traveling above or below a motion threshold using the at least two coordinates; retrieving a compass heading from an onboard compass and displaying the compass heading from the onboard compass on a display unit of the computerized mobile device if the computerized mobile device is traveling below a motion threshold; and determining a compass heading using the at least two coordinates and displaying the compass heading determined from the at least two coordinates on the display unit of the computerized mobile device if the computerized mobile device is traveling above the motion threshold, the method characterized in that determining a compass heading using the at least two coordinates comprises: determining a distance between first and second coordinates of the at least two coordinates received successively in time, wherein the second coordinate is the most recently received coordinate, comparing the determined distance between the first and second coordinates with a distance threshold, and discarding the first coordinate if the distance between the first and second coordinates exceeds a distance threshold, and determining a compass heading using the second coordinate and a third coordinate, the third coordinate being subsequently received from the global positioning system, and a determined distance between the second and third coordinates not exceeding the distance threshold. receiving at least two coordinates from a global positioning system, each coordinate representative of a location of the computerized mobile device; storing the at least two coordinates in a memory of the computerized mobile device; retrieving the at least two coordinates from the memory; determining if the computerized mobile device is traveling above or below a motion threshold using the at least two coordinates; retrieving a compass heading from an onboard compass and displaying the compass heading from the onboard compass on a display unit of the computerized mobile device if the computerized mobile device is traveling below a motion threshold; and determining a compass heading using the at least two coordinates and displaying the compass heading determined from the at least two coordinates on the display unit of the computerized mobile device if the computerized mobile device is traveling above the motion threshold, the method characterized in that determining a compass heading using the at least two coordinates comprises: determining a distance between first and second coordinates of the at least two coordinates received successively in time, wherein the second coordinate is the most recently received coordinate, comparing the determined distance between the first and second coordinates with a distance threshold, and discarding the first coordinate if the distance between the first and second coordinates exceeds a distance threshold, and determining a compass heading using the second coordinate and a third coordinate, the third coordinate being subsequently received from the global positioning system, and a determined distance between the second and third coordinates not exceeding the distance threshold. determining a distance between first and second coordinates of the at least two coordinates received successively in time, wherein the second coordinate is the most recently received coordinate, comparing the determined distance between the first and second coordinates with a distance threshold, and discarding the first coordinate if the distance between the first and second coordinates exceeds a distance threshold, and determining a compass heading using the second coordinate and a third coordinate, the third coordinate being subsequently received from the global positioning system, and a determined distance between the second and third coordinates not exceeding the distance threshold.