IP Library Granted Patent US 10,295,347
Granted Patent B2
US 10,295,347 · App. 14/845,849 · Granted May 21, 2019

Stack of 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,295,347
App. No.
14/845,849
Granted
May 21, 2019
Kind
B2
Abstract

A system collects user data that describes at least one destination. The system generates, based on the collected user data, map data to render a plurality of maps. The maps are arranged in a stack so that a first interactive map is primarily displayed in the user interface and one or more dynamic maps are conceptually below that interactive map. A portion of each dynamic map is viewable and selectable within the user interface. As updated map data is received, information on the interactive map and dynamic maps is correspondingly updated. When a dynamic map is selected or the system detects that a dynamic map is to be displayed, the system provides for display a new interactive map that replaces the previous interactive map in the user interface.

Claims (67)

1. A computer-implemented method for rendering maps for a user, the method comprising:

collecting user data for rendering a plurality of maps to a user, the user data describing at least one destination;

generating, based on the user data, map data for rendering a plurality of maps arranged in a stack, the plurality of maps including a first interactive map and one or more dynamic maps, the first interactive map displayed on top of the one or more dynamic maps, and each of the plurality of maps rendered with a portion that is selectable;

updating the map data to replace the first interactive map with a second interactive map in response to selection of one of the one or more dynamic maps via the portion that is selectable, the selected dynamic map becoming the second interactive map; and

transmitting the map data for rendering a second plurality of maps arranged in a stack, the second interactive map displayed on top to replace the first interactive map.

2. The method of claim 1 , wherein the one or more dynamic map are displayed as collapsed at an edge of a screen of a user interface.

3. The method of claim 1 , wherein the user data further describes one or more locations favored by the user.

4. The method of claim 1 , further comprising:

responsive to the user favoring a new location that has not been described by the plurality of maps, adding a new map describing the new location to the plurality of maps.

5. The method of claim 1 , further comprising:

responsive to the user un-favoring a location that has been described by the plurality of maps, removing the map describing the location from the plurality of maps.

6. The method of claim 1 , wherein the user data further describes a current location of the user.

7. The method of claim 1 , wherein the generating the map data for rendering the stack of multiple maps comprises:

determining the map data for rendering the interactive map based on the current location of the user.

8. The method of claim 1 , wherein the generating the map data for rendering the plurality of maps arranged in a stack comprises:

detecting an update of the current location of the user; and

updating the map data for rendering the interactive map responsive to detecting the update of the current location of the user.

9. The method of claim 1 , wherein the generating the map data for rendering the plurality of maps arranged in a stack comprises:

detecting an update of the current location of the user; and

updating the map data for rendering each of the dynamic maps responsive to detecting the update of the current location of the user.

10. The method of claim 1 , wherein the updating the map data to replace the first interactive map with a second interactive map in response to selection of one of the one or more dynamic maps comprises:

detecting the user scrolling the one of the one or more dynamic maps; and

responsive to detecting the user scrolling through one of the one or more dynamic maps, determining updated map data for rendering the second interactive map corresponding to the scrolled dynamic map.

11. The method of claim 1 , wherein the updating the map data to replace the first interactive map with a second interactive map in response to selection of one of the one or more dynamic maps comprises:

detecting a match between coordinates of the first interactive map and the one of the one or more dynamic maps; and

responsive to detecting the match between coordinates of the first interactive map and the one of the one or more dynamic maps, determining updated map data for rendering the second interactive map corresponding to the matched dynamic map.

12. A system comprising:

a processor; and

a non-transitory computer readable storage medium storing instructions thereon, that when executed by the processor, causes the processor to perform operations comprising:

collecting user data for rendering a plurality of maps to a user, the user data describing at least one destination;

generating, based on the user data, map data for rendering a plurality of maps arranged in a stack, the plurality of maps including a first interactive map and one or more dynamic maps, the first interactive map displayed on top of the one or more dynamic maps, and each of the plurality of maps rendered with a portion that is selectable;

updating the map data to replace the first interactive map with a second interactive map in response to selection of one of the one or more dynamic maps via the portion that is selectable, the selected dynamic map becoming the second interactive map; and

transmitting the map data for rendering a second plurality of maps arranged in a stack, the second interactive map displayed on top to replace the first interactive map.

13. The system of claim 12 , the storage medium storing further instructions, that when executed by the processor, causes the processor to perform operations comprising:

responsive to the user favoring a new location that has not been described by the plurality of maps, adding a new map describing the new location to the plurality of maps.

14. The system of claim 12 , the storage medium storing further instructions for the generating the map data for rendering the plurality of maps arranged in a stack, that when executed by the processor, causes the processor to perform operations comprising:

detecting an update of the current location of the user; and

updating the map data for rendering each of the dynamic maps responsive to detecting the update of the current location of the user.

15. The system of claim 12 , the storage medium storing further instructions for the updating the map data to replace the first interactive map with a second interactive map in response to selection of one of the one or more dynamic maps, that when executed by the processor, causes the processor to perform operations comprising:

detecting a match between coordinates of the first interactive map and the one of the one or more dynamic maps; and

responsive to detecting the match between coordinates of the first interactive map and the one of the one or more dynamic maps, determining updated map data for rendering the second interactive map corresponding to the matched dynamic map.

16. A non-transitory computer readable storage medium storing instructions thereon, that when executed by at least one processor causes the processor to:

collect user data for rendering a plurality of maps to a user, the user data to describe at least one destination;

generate, based on the user data, map data to render a plurality of maps arranged in a stack, the plurality of maps including a first interactive map and one or more dynamic maps, the first interactive map to be displayed on top of the one or more dynamic maps, and each of the plurality of maps rendered with a portion that is selectable;

update the map data to replace the first interactive map with a second interactive map in response to selection of one of the one or more dynamic maps via the portion that is selectable, the selected dynamic map to become the second interactive map; and

transmit the map data to render a second plurality of maps arranged in a stack, the second interactive map to be displayed on top to replace the first interactive map.

17. The non-transitory computer readable storage medium of claim 16 , wherein the one or more dynamic map are displayed as collapsed at an edge of a screen of a user interface.

18. The non-transitory computer readable storage medium of claim 16 , wherein the user data further describes one or more locations favored by the user.

19. The non-transitory computer readable storage medium of claim 16 , further comprising instructions that when executed by the processor causes the processor to:

add, responsive to the user favoring a new location that has not been described by the plurality of maps, a new map describing the new location to the plurality of maps.

20. The non-transitory computer readable storage medium of claim 16 , further comprising instructions that when executed by the processor causes the processor to:

remove, responsive to the user un-favoring a location that has been described by the plurality of maps, the map describing the location from the plurality of maps.

21. The non-transitory computer readable storage medium of claim 16 , wherein the user data further describes a current location of the user.

22. The non-transitory computer readable storage medium of claim 16 , wherein instructions to generate the map data to render the stack of multiple maps further comprises instructions that when executed by the processor causes the processor to:

determine the map data for rendering the interactive map based on the current location of the user.

23. The non-transitory computer readable storage medium of claim 16 , wherein the instructions to generate the map data to render the plurality of maps arranged in a stack further comprises instructions that when executed by the processor causes the processor to:

detect an update of the current location of the user; and

update the map data to render the interactive map responsive to the detection of the update of the current location of the user.

24. The non-transitory computer readable storage medium of claim 16 , wherein the instructions to generate the map data to render the plurality of maps arranged in a stack further comprise instructions that when executed by the processor causes the processor to:

detect an update of the current location of the user; and

update the map data to render each of the dynamic maps responsive to the detection of the update of the current location of the user.

25. The non-transitory computer readable storage medium of claim 16 , wherein the instructions to update the map data to replace the first interactive map with a second interactive map in response to selection of one of the one or more dynamic maps further comprises instructions that when executed by the processor causes the processor to:

detect the user scrolling the one of the one or more dynamic maps; and

determine, responsive to the detection of the user scrolling through one of the one or more dynamic maps, updated map data to render the second interactive map corresponding to the scrolled dynamic map.

26. The non-transitory computer readable storage medium of claim 16 , wherein the instructions to update the map data to replace the first interactive map with a second interactive map in response to selection of one of the one or more dynamic maps further comprises instructions that when executed by the processor causes the processor to:

detect a match between coordinates of the first interactive map and the one of the one or more dynamic maps; and

determine, responsive to the detection of the match between coordinates of the first interactive map and the one of the one or more dynamic maps, updated map data to render the second interactive map corresponding to the matched dynamic map.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2020
From: URBAN ENGINES, INC.
To: GOOGLE LLC
Reel/Frame 053783/0177 →
CHANGE OF NAME Recorded Dec 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044695/0115 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2015
From: KROL, AGATA
To: URBAN ENGINES, INC.
Reel/Frame 037240/0422 →