A computer-implemented method for pre-fetching map data for a mapping application, comprising: initiating a first routing function, using a computer, to generate a route, the route defined by an origin, a destination, and a set of paths connecting the origin to the destination; determining, using the computer, a first tile radius associated with the origin wherein the first tile radius defines a first set of map data tiles corresponding to map surface areas around and including the origin; determining, using the computer, a second tile radius associated with the destination, wherein the second tile radius defines a second set of map data tiles corresponding to map surface areas around and including the destination; determining, using the computer, a set of points along the route between the origin and the destination and a set of map tile radii for the set of points (502, 504, 704, 1101), wherein the set of map tile radii define a third set of map data tiles corresponding to map surface areas around and including the route; accessing a map database storing the first, the second, and the third map data tiles corresponding to the route, wherein the map database stores a plurality of map data tiles, and the first, the second, and the third set of map data tiles comprise a subset of the plurality of map data tiles of the map database; storing at least one of the first, the second, and the third set of map data tiles in a local memory as a first, a second, and a third set of pre-fetch map data tiles, respectively, wherein the local memory is different from the map database; and initiating a rendering function to display the route using the set of pre-fetch map data tiles of the local memory instead of map data tiles of the map database, characterised in that: the determining of the set of points along the route includes identifying a point of interest (1101, 1120) along the route based on most recently searched or visited points of interest, and setting the map tile radius around the identified point of interest larger than map tile radii of the other points in the set, so that at least two radii in the set of map tile radii are different from each other. initiating a first routing function, using a computer, to generate a route, the route defined by an origin, a destination, and a set of paths connecting the origin to the destination; determining, using the computer, a first tile radius associated with the origin wherein the first tile radius defines a first set of map data tiles corresponding to map surface areas around and including the origin; determining, using the computer, a second tile radius associated with the destination, wherein the second tile radius defines a second set of map data tiles corresponding to map surface areas around and including the destination; determining, using the computer, a set of points along the route between the origin and the destination and a set of map tile radii for the set of points (502, 504, 704, 1101), wherein the set of map tile radii define a third set of map data tiles corresponding to map surface areas around and including the route; accessing a map database storing the first, the second, and the third map data tiles corresponding to the route, wherein the map database stores a plurality of map data tiles, and the first, the second, and the third set of map data tiles comprise a subset of the plurality of map data tiles of the map database; storing at least one of the first, the second, and the third set of map data tiles in a local memory as a first, a second, and a third set of pre-fetch map data tiles, respectively, wherein the local memory is different from the map database; and initiating a rendering function to display the route using the set of pre-fetch map data tiles of the local memory instead of map data tiles of the map database, characterised in that: the determining of the set of points along the route includes identifying a point of interest (1101, 1120) along the route based on most recently searched or visited points of interest, and setting the map tile radius around the identified point of interest larger than map tile radii of the other points in the set, so that at least two radii in the set of map tile radii are different from each other. the determining of the set of points along the route includes identifying a point of interest (1101, 1120) along the route based on most recently searched or visited points of interest, and setting the map tile radius around the identified point of interest larger than map tile radii of the other points in the set, so that at least two radii in the set of map tile radii are different from each other.