Nova Patents
CA2856554C

Pre-fetching map tile data along a route

Abstract

The present application describes techniques for fetching map data as a selected subset of entire map data available by selecting map data tiles corresponding to an area that encompasses a route. An amount of map data accessed may be adjusted based on a priority assigned to areas or points along the route. A sequence of map data may be accessed based on a priority assigned to sets of map data.

CA2856554C, drawing sheet 1
Sheet 1 of 11

Term

5.9 yearsleft in the term

Expires 20 August 2032.

  1. Priority and filed
  2. Granted
  3. Today
  4. Expires

36 claims: 7 independent, 29 dependent

  1. 1
    What is claimed is:I. A computer-implemented method for pre-fetching map data for a route in response to an initiation of a routing function of 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 of a first zoom level corresponding to a first map surface area 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 of the first zoom level corresponding to a second map surface area 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, wherein the set of map tile radii define a third set of map data tiles of the first zoom level corresponding to a set of map surface areas around and including the set of points along the route, wherein at least one of the first tile radius, the second tile radius, and one of the set of map tile radii are different from each other;determining, using the computer, a fourth set of map data tiles of a second zoom level different than the first zoom level, wherein the fourth set of map data tiles are defined by at least one of the first tile radius, the second tile radius, or one of the set of map tile radii, and wherein the fourth set of map data tiles provides a different magnification of corresponding map areas than the first, the second, or the third map data tiles;retrieving from an external map database the first, the second, the third and the fourth sets of map data tiles, wherein the map database stores a plurality of map data tiles, and the first, the second, the third and the fourth sets of map data tiles comprise a subset of the plurality of map data tiles of the map database;storing the first, the second, the third and the fourth set of map data tiles in a local memory as a first, a second, a third and a fourth set of pre-fetch map data tiles, respectively, wherein the local memory is different from the map database;CA 2856554 2019-08-26 initiating a first rendering function to display at least a portion of the route at the first zoom level using at least one of the first, second, or the third set of pre-fetched map data tiles of the local memory instead of map data tiles of the external map database;and initiating a second rendering function to display at least a portion of the route at the second zoom level using the fourth set of pre-fetched map data tiles of the local memory instead of map data tiles of the external map database, wherein the fourth set of map data tiles is retrieved from the external map database and stored in the local memory prior to initiating the first rendering function.
  2. 8
    The computer-implemented method of claim I, further including determining the first tile radius, the second tile radius, and the first set of map tile radii to be smaller when a bandwidth of the client device is below a threshold than when the bandwidth is above the threshold and to be smaller when a processor load of the client device is above a threshold than when the processor load is below the threshold.
  3. 9
    A computer device comprising:a communications network interface;one or more processors;one or more memories coupled to the one or more processors;a display device coupled to the one or more processors;wherein the one or more memories include computer executable instructions stored therein that, when executed by the one or more processors, cause the one or more processors to: initiating a first routing function, using a computer, to generate a first route, the first route defined by an origin, a destination, and a set of paths connecting the origin to the destination;determine a first set of map tile radii associated with a set of points along the first route including the origin and the destination, wherein first set of map tile radii define a first set of map data tiles at a first zoom level corresponding to map surface areas around and including the first route;determine a second set of map data tiles at a second zoom level different than the first zoom level, wherein the second set of map data tiles are defined by at least one of the first set of map tile radii wherein the second set of map data tiles provides a different magnification of corresponding map areas than the first set of map data tiles;CA 2856554 2019-08-26 retrieve from an external map database the first set of map data tiles and the second set of map data tiles, wherein the map database stores the map data as a plurality of map data tiles, and the first set of map data tiles and the second set of map data tiles comprise a subset of the plurality of map data tiles of the map database;store the first set of map data tiles and the second set of map data tiles in a local memory as a first set and a second set of pre*fetched map data tiles, respectively, wherein the local memory is different from the map database;initiate a first rendering function to display at least a portion of the first route using the first set of pre-fetched map data tiles of the local memory instead of map data tiles of the external map database;and initiate a second rendering function to display at least a portion of the route at the second zoom level using the second set of pre-fetched map data tiles, wherein the second set of map data tiles is retrieved from the external map database and stored in the local memory prior to initiating the first rendering function.
  4. 14
    A computer device comprising:a communications network interface;one or more processors;one or more memories coupled to the one or more processors;a display device coupled to the one or more processors;wherein the one or more memories include computer executable instructions stored therein that, when executed by the one or more processors, cause the one or more processors to: initiate a 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;determine a first set of map data tiles at a first zoom level corresponding to a first map surface area around and including the origin, a second set of map data tiles at the first zoom level corresponding to a second map surface area around and including the destination, a third set of map data tiles at the first zoom level corresponding to a third map surface area around the route between the origin and the destination, wherein a route map surface area includes the first map surface area around and including the origin, the second map surface area around and including the destination and the third map surface area around and including the route;CA 2856554 2019-08-26 determine a fourth set of map data tiles at a second zoom level different than the first zoom level, wherein the fourth set of map data tiles correspond to an area along the route, and wherein the fourth set of map data tiles provides a different magnification of the corresponding map area than the first, the second, or the third map data tiles;retrieve from an external map database, the first set, the second set, third and the fourth set of map data tiles, wherein the map database stores the map data as a plurality of map data tiles, and the first, third and fourth set of map data tiles comprise a subset of the plurality of map data tiles of the map database;store the first set, the second set, third and the fourth set of map data tiles in a local memory as a first, a second, third and a fourth set of pre-fetched map data tiles, respectively, wherein the local memory is different from the map database;initiate a first rendering function to display at least a portion of the route at the first zoom level using at least one of the first, second, or the third set of pre-fetched map data tiles of the local memory instead of map data tiles of the map database;and initiate a second rendering function to display at least a portion of the route at the second zoom level using the fourth set of pre-fetched map data tiles of the local memory instead of map data tiles of the external map database, wherein the fourth set of map data tiles is retrieved from the external map database and stored in the local memory prior to initiating the first rendering function.
  5. 17
    A computer-implemented method for pre-fetching map data for a mapping application, comprising:initiating, using a computer, a first routing function 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 set of map data tiles of a first zoom level corresponding to a first map surface area, the first set of map data tiles including the origin;determining, using the computer, a second set of map data tiles of the first zoomlevel corresponding to a second map surface area, the second set of map tiles including the destination;determining, using the computer, a set of points along the route between the origin and the destination and a third set of map tiles of the first zoom level corresponding to a set of map surface areas including the set of points along the route;determining, using the computer, a fourth set of map data tiles of a second zoom level, wherein the fourth set of map data tiles include at least one of the origin, the destination, or the set of map surface areas including the set of points along the route, and the fourth set of map data tiles provides a different magnification of corresponding map areas than the first, the second, or the third map data tiles;retrieving, using the computer, from an external map database the first, the second, the third and the fourth sets of map data tiles;storing, using the computer, the first, the second, the third and the fourth set of map data tiles in a local memory;initiating, using the computer, a first rendering function, to display at least a portion of the route at the first zoom level using at least one of the first, the second, the third and the fourth sets of map data tiles stored in the local memoiy;and initiating, using the computer, a second rendering function, to display at least a portion of the route at the second zoom level using the fourth set of map data tiles stored in the local memory instead of map data tiles of the external map database, wherein the fourth set of map data tiles is retrieved from the external map database and stored in the local memory prior to initiating the first rendering function. CA 2856554 2019-08-26
  6. 25
    A computer device comprising:a communications network interface;one or more processors;one or more memories coupled to the one or more processors;a display device coupled to the one or more processors;wherein the one or more memories include computer executable instructions stored therein that, when executed by the one or more processors, cause the one or more processors to: initiate a first routing function to generate a route, the route defined by an origin, a destination, and a set of paths connecting the origin to the destination;determine a first set of map data tiles of a first zoom level corresponding to a first map surface area, the first set of map data tiles including the origin;determine a second set of map data tiles of the first zoom level corresponding to a second map surface area, the second set of map tiles including the destination;determine a set of points along the route between the origin and the destination and a third set of map tiles of the first zoom level corresponding to a set of map surface areas including the set of points along the route;determine a fourth set of map data tiles of a second zoom level, wherein the fourth set of map data tiles include at least one of the origin, the destination, or the set of map surface areas including the set of points along the route, and the fourth set of map data tiles provides a different magnification of corresponding map areas than the first, the second, or the third map data tiles;retrieve from an external map database the first, the second, the third and the fourth sets of map data tiles;store the first, the second, the third and the fourth set of map data tiles in a local memory;CA 2856554 2019-08-26 initiate a first rendering function to display at least a portion of the route at the first zoom level using at least one of the first, the second, the third and the fourth sets of map data tiles stored in the local memoiy;and initiate a second rendering function to display at least a portion of the route at the second zoom level using the fourth set of map data tiles stored in the local memory instead of map data tiles of the external map database, wherein the fourth set of map data tiles is retrieved from the external map database and stored in the local memory prior to initiating the first rendering function.
  7. 33
    A computer-readable medium storing instructions, the instructions when executed by a processor cause the processor to:initiate a first routing function to generate a route, the route defined by an origin, a destination, and a set of paths connecting the origin to the destination;determine a first set of map data tiles of a first zoom level corresponding to a first map surface area, the first set of map data tiles including the origin;determine a second set of map data tiles of the first zoom level corresponding to a second map surface area, the second set of map tiles including the destination;determine a set of points along the route between the origin and the destination and a third set of map tiles of the first zoom level corresponding to a set of map surface areas including the set of points along the route;determine a fourth set of map data tiles of a second zoom level, wherein the fourth set of map data tiles include at least one of the origin, the destination, or the set of map surface areas including the set of points along the route, and the fourth set of map data tiles provides a different magnification of corresponding map areas than the first, the second, or the third map data tiles;retrieve from an external map database the first, the second, the third and the fourth sets of map data tiles;store the first, the second, the third and the fourth set of map data tiles in a local memory;CA 2856554 2019-08-26 initiate a first rendering function to display at least a portion of the route at the first zoom level using at least one of the first, the second, the third and the fourth sets of map data tiles stored in the local memory;and initiate a second rendering function to display at least a portion of the route at the second zoom level using the fourth set of map data tiles stored in the local memory instead of map data tiles of the external map database, wherein the fourth set of map data tiles is retrieved from the external map database and stored in the local memory prior to initiating the first rendering function.