IP Library Granted Patent US 10,127,692
Granted Patent B2
US 10,127,692 · App. 15/229,262 · Granted Nov 13, 2018

Draggable maps

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,127,692
App. No.
15/229,262
Granted
Nov 13, 2018
Kind
B2
Abstract

A web server receives a request from a client specifying a location and a bounding area. A mapping engine creates a tile grid centered at the specified location. A seed tile is created, including or adjacent to the center location. The web server creates a resource identifier for each tile in the tile grid, and returns the tile grid including the resource identifiers to the client. The resource identifier for each tile includes the location of the seed tile and a position offset for the tile relative to the seed tile, in one embodiment specified in units of northward and eastward movement. The client requests tiles from the system using the resource identifiers previously provided by the system. Upon receiving the request, the mapping engine dynamically renders each requested tile using map data from the map database, and the web server returns the dynamically-generated tiles to the requesting client.

Claims (61)

1. A computer-implemented method comprising:

receiving, by a computer, a request for a dynamic tile grid, the request for the tile grid specifying a geographic location and (i) a tile width and height, (ii) a bounding area, and (iii) dimensions for the requested dynamic tile grid;

responsive to the received request, dynamically generating, by the computer, the requested tile grid;

determining, by the computer, a position within the tile grid for a seed tile of a digital map and a resource identifier for the seed tile, the seed tile centered at the received geographic location;

providing, by the computer to the requester, the generated tile grid, including the resource identifier for the seed tile;

receiving, by the computer, a request for a tile, the request including the resource identifier for the seed tile;

rendering, by the computer in response to the request for the tile, the tile identified by the resource identifier; and

providing the rendered tile to the requester.

2. The method of claim 1 wherein the dimensions include number of columns and rows for the tile grid.

3. The method of claim 2 wherein the number of columns and rows is an even number, and the seed tile is a tile that borders the specified location at which the tile grid is centered.

4. The method of claim 2 wherein the seed tile borders the specified location to the northeast.

5. The method of claim 2 wherein the number of columns and rows is an odd number, and the seed tile is a tile centered at the specified location.

6. The method of claim 1 wherein rendering the requested tile further comprises retrieving map data for coordinates associated with the requested tile from a map database; and

rendering the tile according to the retrieved map data.

7. The method of claim 1 wherein the request for the tile includes rendering parameters, and rendering the requested tile further comprises rendering the tile according to the rendering parameters.

8. The method of claim 7 wherein one of the rendering parameters specifies a color for a feature to be rendered.

9. The method of claim 1 wherein the location is specified as a street address, and generating the tile grid further comprises geocoding the address to find coordinates of the specified location.

10. The method of claim 1 wherein the request includes an overlay element, and the tiles are rendered to include the requested overlay element.

11. The method of claim 10 wherein the overlay element includes route geometry.

12. The method of claim 10 wherein the overlay element includes a point of interest.

13. The method of claim 10 wherein the overlay element includes text.

14. The method of claim 1 wherein the request includes a session ID and at least one of the tiles is cached, the method further comprising:

responsive to the session ID having a first value, returning the cached tile; and

responsive to the session ID having a second value, rendering the tile in response to the request.

15. A computer-implemented method comprising:

receiving, by a computer, a request for a dynamic tile grid, the request for the tile grid specifying a geographic location;

responsive to the received request, dynamically generating, by the computer, the requested tile grid;

determining, by the computer, a position within the tile grid for a seed tile of a digital map and a resource identifier for the seed tile, the seed tile centered at the received geographic location;

providing, by the computer to the requester, the generated tile grid, including the resource identifier for the seed tile;

receiving, by the computer, a request for a tile, the request including the resource identifier for the seed tile;

rendering, by the computer in response to the request for the tile, the tile identified by the resource identifier;

providing the rendered tile to the requester;

for each of a plurality of additional tiles that can be rendered, determining, by the computer, an offset of the tile position relative to the seed tile and a resource identifier including the offset;

providing, by the computer to the requester, identifiers for each tile that can be rendered and located within the grid;

receiving, by the computer, a second request for at least one tile, the second request including at least one resource identifier differing from the provided resource identifiers;

rendering, by the computer in response to the second request, the tile identified by each resource identifier included in the second request; and

providing the rendered tiles to the requester.

16. The method of claim 15 wherein the resource identifier differing from the provided resource identifiers specifies an offset from the seed tile.

17. A non-transient computer-readable medium including software code that, when loaded into memory, cause a processor to execute the steps of:

receiving, by a computer, a request for a dynamic tile grid, the request for the tile grid specifying a geographic location and (i) a tile width and height, (ii) a bounding area, and (iii) dimensions for the requested dynamic tile grid;

responsive to the received request, dynamically generating, by the computer, the requested tile grid;

determining, by the computer, a position within the tile grid for a seed tile of a digital map and a resource identifier for the seed tile, the seed tile centered at the received geographic location;

providing, by the computer to the requester, the generated tile grid, including the resource identifier for the seed tile;

receiving, by the computer, a request for a tile, the request including the resource identifier for the seed tile;

rendering, by the computer in response to the request for the tile, the tile identified by the resource identifier; and

providing the rendered tile to the requester.

18. The non-transient computer-readable medium of claim 17 , wherein the dimensions include number of columns and rows for the tile grid.

19. The non-transient computer-readable medium of claim 18 , wherein the number of columns and rows is an even number, and the seed tile is a tile that borders the specified location at which the tile grid is centered.

20. A non-transient computer-readable medium including software code that, when loaded into memory, cause a processor to execute the steps of:

receiving, by a computer, a request for a dynamic tile grid, the request for the tile grid specifying a geographic location and (i) a tile width and height, (ii) a bounding area, and (iii) dimensions for the requested dynamic tile grid;

responsive to the received request, dynamically generating, by the computer, the requested tile grid;

determining, by the computer, a position within the tile grid for a seed tile of a digital map and a resource identifier for the seed tile, the seed tile centered at the received geographic location;

providing, by the computer to the requester, the generated tile grid, including the resource identifier for the seed tile;

receiving, by the computer, a request for a tile, the request including the resource identifier for the seed tile;

rendering, by the computer in response to the request for the tile, the tile identified by the resource identifier;

providing the rendered tile to the requester;

for each of a plurality of additional tiles that can be rendered, determining, by the computer, an offset of the tile position relative to the seed tile and a resource identifier including the offset;

providing, by the computer to the requester, identifiers for each tile that can be rendered and located within the grid;

receiving, by the computer, a second request for at least one tile, the second request including at least one resource identifier differing from the provided resource identifiers;

rendering, by the computer in response to the second request, the tile identified by each resource identifier included in the second request; and

providing the rendered tiles to the requester.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Oct 3, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069110/0508 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT (TERM LOAN) AT REEL 050767, FRAME 0076 Recorded Sep 11, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC. AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069133/0167 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2021
From: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 055547/0404 →
SECURITY INTEREST Recorded Oct 18, 2019
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 050767/0109 →
SECURITY INTEREST Recorded Oct 18, 2019
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 050767/0076 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBER PREVIOUSLY RECORDED AT REEL: 45853 FRAME: 418. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 26, 2018
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 049259/0064 →
SECURITY INTEREST Recorded Apr 6, 2018
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 045853/0418 →