A computer-implemented method comprising: receiving a destination, a programmed route being associated with the destination; determining a current location of a mobile device; displaying in a map viewport a first map area surrounding the current location of the mobile device; displaying on the first map area a graphical current location indicator representing the current location of the mobile device; and repositioning the graphical current location indicator relative to the map viewport by shifting the first map area to a partially overlapping second map area that includes both a new map area and a portion of the first map area that contains the graphical current location indicator; wherein the repositioned graphical current location indicator is displayed at a boundary of a forward map area that is forward of the graphical current location indicator and a rearward map area that is rearward of the graphical current location indicator, to thus provide more map area in a forward direction of travel; wherein the map areas (205, 210, 260, 270) and the graphical current location indicator are displayed track-up such that the direction of travel points vertically upward on a display; wherein repositioning the graphical current location indicator comprises determining a velocity and direction of travel of the mobile device and automatically shifting from the first map area to the second map area based on the direction of travel and the velocity; and wherein an amount by which the graphical current location indicator is repositioned is proportional to the velocity of the mobile device; characterized in that: repositioning the graphical position indicator comprises determining the velocity and the direction of travel of the mobile device using a GPS receiver; wherein repositioning the graphical current location indicator takes into account the programmed route and comprises (i) computing a confidence level relating to the direction of travel and (ii) using the confidence level to vary the repositioning of the indicator, whereby if the device has zero confidence, the indicator is moved toward a central default position and if the device has maximum confidence, the indicator is moved to a bottom edge of the viewport. receiving a destination, a programmed route being associated with the destination; determining a current location of a mobile device; displaying in a map viewport a first map area surrounding the current location of the mobile device; displaying on the first map area a graphical current location indicator representing the current location of the mobile device; and repositioning the graphical current location indicator relative to the map viewport by shifting the first map area to a partially overlapping second map area that includes both a new map area and a portion of the first map area that contains the graphical current location indicator; wherein the repositioned graphical current location indicator is displayed at a boundary of a forward map area that is forward of the graphical current location indicator and a rearward map area that is rearward of the graphical current location indicator, to thus provide more map area in a forward direction of travel; wherein the map areas (205, 210, 260, 270) and the graphical current location indicator are displayed track-up such that the direction of travel points vertically upward on a display; wherein repositioning the graphical current location indicator comprises determining a velocity and direction of travel of the mobile device and automatically shifting from the first map area to the second map area based on the direction of travel and the velocity; and wherein an amount by which the graphical current location indicator is repositioned is proportional to the velocity of the mobile device; characterized in that: repositioning the graphical position indicator comprises determining the velocity and the direction of travel of the mobile device using a GPS receiver; wherein repositioning the graphical current location indicator takes into account the programmed route and comprises (i) computing a confidence level relating to the direction of travel and (ii) using the confidence level to vary the repositioning of the indicator, whereby if the device has zero confidence, the indicator is moved toward a central default position and if the device has maximum confidence, the indicator is moved to a bottom edge of the viewport. repositioning the graphical position indicator comprises determining the velocity and the direction of travel of the mobile device using a GPS receiver; wherein repositioning the graphical current location indicator takes into account the programmed route and comprises (i) computing a confidence level relating to the direction of travel and (ii) using the confidence level to vary the repositioning of the indicator, whereby if the device has zero confidence, the indicator is moved toward a central default position and if the device has maximum confidence, the indicator is moved to a bottom edge of the viewport.