IP Library Granted Patent US 10,151,600
Granted Patent B2
US 10,151,600 · App. 14/952,676 · Granted Dec 11, 2018

Systems and methods for controlling viewport movement in view of user context

Inventors: David X. Wang (Arncliffe, AU); Stephen Broadfoot (Neutral Bay, AU); Fabian Tamp (Stanmore, AU); Robertus Christianus Elisabeth Mariet (Mountain View, CA); Taylah Hasaballah (Mountain View, CA)
Assignee: GOOGLE LLC
G01C21/367G01C21/3664G06F3/0488G09B29/007G09B29/10
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,151,600
App. No.
14/952,676
Filed
Nov 25, 2015
Granted
Dec 11, 2018
Kind
B2
Art Unit
2142
USPC
715/771
Abstract

As part of a technique for positioning viewports over interactive digital maps, a digital map of a geographic area is provided via a user interface of a computing device. The currently visible portion of the digital map is displayed in a viewport. A user gesture is detected, where the user gesture communicates a particular acceleration to the viewport, along a particular direction, to move the viewport from its current position to a target position over the digital map. A current user context for the digital map is determined. A new position of the viewport over the digital map is determined in accordance with (i) the user gesture and (ii) the current user context, such that the new position is different from the target position, and the viewport is moved from its current position to the new position.

Claims (71)

1. A method for positioning viewports over interactive digital maps, the method comprising:

providing, by one or more processors, a digital map of a geographic area via a user interface of a computing device, including displaying a currently visible portion of the digital map in a viewport;

displaying a navigation route for travelling from a source location to a destination location in the geographic area on the digital map;

detecting, by one or more processors, a user gesture that communicates a particular acceleration to the viewport, along a particular direction, to move the viewport from its current position to a target position over the digital map;

determining, by one or more processors, whether the computing device is operating in a vehicle that currently is in motion;

determining, by one or more processors, a trajectory of the viewport to a new position over the digital map, including:

modifying the direction communicated to the viewport in view of a geometry of the navigation route, so that the viewport is repositioned along the navigation route, when the computing device is determined to be operating in the vehicle that currently is in motion, and

not modifying the direction communicated to the viewport in view of the geometry of the navigation route when the computing device is not determined to be operating in the vehicle that currently is in motion, to move the viewport in the direction of the user gesture; and

moving the viewport from its current position to the new position.

2. The method of claim 1 ,

further comprising determining the trajectory of the viewport relative to the geometry of the navigation route.

3. The method of claim 2 , wherein determining the trajectory of the viewport includes dampening the acceleration communicated to the viewport when no portion of the navigation route is visible in the viewport.

4. The method of claim 2 , wherein determining trajectory of the viewport includes modifying the direction communicated to the viewport to simulate attraction to the navigation route when at least a portion of the navigation route is visible in the viewport.

5. The method of claim 2 , wherein determining the trajectory of the viewport includes modifying the direction communicated to the viewport to simulate attraction to the destination location when the destination location is visible in the viewport.

6. The method of claim 2 , wherein determining the trajectory of the viewport includes:

(i) determining a first direction of the route relative to the viewport,

(ii) determining a second direction perpendicular to the first direction,

(iii) applying a low-friction model to a component of the acceleration communicated to the viewport along the first direction, and

(iii) applying a damped spring model to a component of the acceleration communicated to the viewport along the second direction.

7. The method of claim 2 , further comprising:

displaying, within the viewport at the new position, a position indicator overlaying the navigation route, wherein the viewport is centered at the position indicator once the computing device reaches the location corresponding to the position indicator.

8. The method of claim 1 , further comprising:

determining a primary navigation route for travelling from a source location to a destination location in the geographic area, and

determining an alternate navigation route for travelling from the source location to the destination location in the geographic area,

wherein determining the new position of the viewport includes:

simulating attraction of the viewport toward the primary navigation route with a first strength, and

simulating attraction of the viewport toward the secondary navigation route with a second strength,

wherein the first strength is larger than the second strength.

9. The method of claim 1 , wherein:

the user interface includes a touch surface;

the user gesture is a first gesture in which motion parallel to the touch surface continues when there is no more contact with the touch surface;

the method further comprising:

detecting, by one or more processors in another instance, a second user gesture in which motion parallel to the touch surface occurs only when there is contact with the touch surface;

determining, by one or more processors, a new position of the viewport over the digital map in accordance with the second user gesture, independently of whether when computing device is determined to be operating in the vehicle that currently is in motion;

moving the viewport from its current position to the new position.

10. A computing device comprising:

a user interface configured to receive gesture-based input;

one or more processors; and

a non-transitory memory readable by the one or more processors, wherein the memory stores instructions that, when executed by the one or more processors, cause the computing device to:

provide a digital map of a geographic area via the user interface, including display a currently visible portion of the digital map in a viewport, display a navigation route for travelling from a source location to a destination location in the geographic area on the digital map, detect a user gesture that communicates motion to the viewport, determine how the viewport is to be repositioned over the digital map based on at least one of (i) a direction of the communicated motion relative to the navigation route (ii) a lock condition indicative of motion of the viewport being restricted to the navigation route, wherein the lock condition corresponds to the computing device operating in a vehicle that is currently in motion, and reposition the viewport in accordance with (i) the user gesture and (ii) the current user context lock condition.

11. The computing device of claim 10 , wherein the instructions cause the computing device to:

when the lock condition is met, reposition the viewport along the navigation route, and

when the lock condition is not met, reposition in a direction of the user gesture, independently of a geometry of the navigation route.

12. The computing device of claim 10 , wherein to determine the new position of the viewport, the instructions cause the computing device to dampen the acceleration communicated to the viewport when no portion of the navigation route is visible in the viewport.

13. The computing device of claim 10 , wherein to determine the new position of the viewport, the instructions cause the computing device to modify the direction communicated to the viewport to simulate attraction to the navigation route when at least a portion of the navigation route is visible in the viewport.

14. The computing device of claim 10 , wherein to determine the new position of the viewport, the instructions cause the computing device to modify the direction communicated to the viewport to simulate attraction to the destination location when the destination location is visible in the viewport.

15. The computing device of claim 10 , wherein to determine the new position of the viewport, the instructions cause the computing device to:

(i) determine a first direction of the route relative to the viewport,

(ii) determine a second direction perpendicular to the first direction,

(iii) apply a low-friction model to a component of the acceleration communicated to the viewport along the first direction, and

(iii) apply a damped spring model to a component of the acceleration communicated to the viewport along the second direction.

16. The computing device of claim 10 , wherein the instructions further cause the computing device to:

display, within the viewport at the new position, a position indicator overlaying the navigation route, wherein the viewport is centered at the position indicator once the computing device reaches the location corresponding to the position indicator.

17. The computing device of claim 10 , wherein:

the user interface includes a touch surface;

the user gesture is a first gesture in which motion parallel to the touch surface continues when there is no more contact with the touch surface;

the instructions further configured to:

detect, in another instance, a second user gesture in which motion parallel to the touch surface occurs only when there is contact with the touch surface;

determine a new position of the viewport over the digital map in accordance with the second user gesture, independently of the lock condition,

move the viewport from its current position to the new position.

18. A method for positioning viewports over interactive digital maps, the method comprising:

providing, by one or more processors, a digital map of a geographic area via a user interface of a computing device, including displaying a currently visible portion of the digital map in a viewport;

determining a primary navigation route for travelling from a source location to a destination location in the geographic area;

determining an alternate navigation route for travelling from the source location to the destination location in the geographic area;

overlaying, by one or more processors, a graphical indication of the primary navigation route and the second navigation route on the digital map;

detecting, by one or more processors, a user gesture that communicates a particular acceleration to the viewport, along a particular direction, to move the viewport from its current position to a target position over the digital map;

determining, by one or more processors, a new position of the viewport over the digital map, including modifying at least one of the acceleration or the direction communicated to the viewport by the user gesture in view of the indication of the navigation routes, the modifying including:

simulating attraction of the viewport toward the primary navigation route with a first strength, and

simulating attraction of the viewport toward the secondary navigation route with a second strength, wherein the first strength is larger than the second strength; and

moving the viewport from its current position to the new position.

19. The method of claim 18 , wherein modifying at least one of the acceleration or the direction communicated to the viewport by the user gesture includes simulating attraction of the viewport to the destination location when the destination location is visible in the viewport.

Assignments (3)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2016
From: HASABALLAH, TAYLAH
To: GOOGLE INC.
Reel/Frame 037858/0867 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2016
From: WANG, DAVID X.; BROADFOOT, STEPHEN; TAMP, FABIAN; MARIET, ROBERTUS CHRISTIANUS ELISABETH
To: GOOGLE INC.
Reel/Frame 037774/0718 →
Continuity (3)
Provisional Application 62167176 · May 27, 2015
Provisional Application 62084442 · Nov 25, 2014
Related Publication 20160154538A1 · Jun 2, 2016