Abstract:
Some embodiments of the invention provide a novel prediction engine that (1) can formulate predictions about current or future destinations and/or routes to such destinations for a user, and (2) can relay information to the user about these predictions. In some embodiments, this engine includes a machine-learning engine that facilitates the formulation of predicted future destinations and/or future routes to destinations based on stored, user-specific data. The user-specific data is different in different embodiments. In some embodiments, the stored, user-specific data includes data about any combination of the following: (1) previous destinations traveled to by the user, (2) previous routes taken by the user, (3) locations of calendared events in the user's calendar, (4) locations of events for which the user has electronic tickets, and (5) addresses parsed from recent e-mails and/or messages sent to the user. In some embodiments, the prediction engine only relies on user-specific data stored on the device on which this engine executes. Alternatively, in other embodiments, it relies only on user-specific data stored outside of the device by external devices/servers. In still other embodiments, the prediction engine relies on user-specific data stored both by the device and by other devices/servers.
Abstract:
A method of providing a sequence of turn-by-turn navigation instructions on a device traversing a route is provided. Each turn-by-turn navigation instruction is associated with a location on the route. As the device traverses along the route, the method displays a turn-by-turn navigation instruction associated with a current location of the device. The method receives a touch input through a touch input interface of the device while displaying a first turn-by-turn navigation instruction and a first map region that displays the current location and a first location associated with the first turn-by-turn navigation instruction. In response to receiving the touch input, the method displays a second turn-by-turn navigation instruction and a second map region that displays a second location associated with the second turn-by-turn navigation instruction. Without receiving additional input, the method automatically returns to the display of the first turn-by-turn navigation instruction and the first map region.
Abstract:
Some embodiments provide a navigation application. The navigation application includes an interface for receiving data describing junctures along a route from a first location on a map to a second location on the map. The data for each juncture includes a set of angles at which roads leave the juncture. The navigation application includes a juncture decoder for synthesizing, from the juncture data, instruction elements for each juncture that describe different aspects of a maneuver to be performed at the juncture. The navigation application includes an instruction generator for generating at least two different instruction sets for a maneuver by combining one or more of the instruction elements for the juncture at which the maneuver is to be performed. The navigation application includes an instruction retriever for selecting one of the different instruction sets for the maneuver according to a context in which the instruction set will be displayed.
Abstract:
A method of providing a sequence of turn-by-turn navigation instructions on a device traversing a route is provided. Each turn-by-turn navigation instruction is associated with a location on the route. As the device traverses along the route, the method displays a turn-by-turn navigation instruction associated with a current location of the device. The method receives a touch input through a touch input interface of the device while displaying a first turn-by-turn navigation instruction and a first map region that displays the current location and a first location associated with the first turn-by-turn navigation instruction. In response to receiving the touch input, the method displays a second turn-by-turn navigation instruction and a second map region that displays a second location associated with the second turn-by-turn navigation instruction. Without receiving additional input, the method automatically returns to the display of the first turn-by-turn navigation instruction and the first map region.
Abstract:
Some embodiments of the invention provide a mobile device with a novel route prediction engine that (1) can formulate predictions about current or future destinations and/or routes to such destinations for the device's user, and (2) can relay information to the user about these predictions. In some embodiments, this engine includes a machine-learning engine that facilitates the formulation of predicted future destinations and/or future routes to destinations based on stored, user-specific data. The user-specific data is different in different embodiments. In some embodiments, the stored, user-specific data includes data about any combination of the following (1) previous destinations traveled to by the user, (2) previous routes taken by the user, (3) locations of calendared events in the user's calendar, (4) locations of events for which the user has electronic tickets, and (5) addresses parsed from recent e-mails and/or messages sent to the user. The device's prediction engine only relies on user-specific data stored on the device in some embodiments, relies only on user-specific data stored outside of the device by external devices/servers in other embodiments, and relies on user-specific data stored both by the device and by other devices/servers in other embodiments.
Abstract:
Some embodiments of the invention provide a novel prediction engine that (1) can formulate predictions about current or future destinations and/or routes to such destinations for a user, and (2) can relay information to the user about these predictions. In some embodiments, this engine includes a machine-learning engine that facilitates the formulation of predicted future destinations and/or future routes to destinations based on stored, user-specific data. The user-specific data is different in different embodiments. In some embodiments, the stored, user-specific data includes data about any combination of the following: (1) previous destinations traveled to by the user, (2) previous routes taken by the user, (3) locations of calendared events in the user's calendar, (4) locations of events for which the user has electronic tickets, and (5) addresses parsed from recent e-mails and/or messages sent to the user. In some embodiments, the prediction engine only relies on user-specific data stored on the device on which this engine executes. Alternatively, in other embodiments, it relies only on user-specific data stored outside of the device by external devices/servers. In still other embodiments, the prediction engine relies on user-specific data stored both by the device and by other devices/servers.
Abstract:
A method of providing navigation on an electronic device when the display screen is locked. The method receives a verbal request to start navigation while the display is locked. The method identifies a route from a current location to a destination based on the received verbal request. While the display screen is locked, the method provides navigational directions on the electronic device from the current location of the electronic device to the destination. Some embodiments provide a method for processing a verbal search request. The method receives a navigation-related verbal search request and prepares a sequential list of the search results based on the received request. The method then provides audible information to present a search result from the sequential list. The method presents the search results in a batch form until the user selects a search result, the user terminates the search, or the search items are exhausted.
Abstract:
Some embodiments provide a mapping application that provides routing information to third-party applications on a device. The mapping application receives route data that includes first and second locations. Based on the route data, the mapping application provides a set of routing applications that provide navigation information. The mapping application receives a selection of a routing application in the set of routing applications. The mapping application passes the route data to the selected routing application in order for the routing application to provide navigation information.
Abstract:
Some embodiments provide a mapping application that provides a variety of UI elements for allowing a user to specify a location (e.g., for viewing or serving as route destinations). In some embodiments, these location-input UI elements appear in succession on a sequence of pages, according to a hierarchy that has the UI elements that require less user interaction appear on earlier pages in the sequence than the UI elements that require more user interaction. In some embodiments, the location-input UI elements that successively appear in the mapping application include (1) selectable predicted-destination notifications, (2) a list of selectable predicted destinations, (3) a selectable voice-based search affordance, and (4) a keyboard. In some of these embodiments, these UI elements appear successively on the following sequence of pages: (1) a default page for presenting the predicted-destination notifications, (2) a destination page for presenting the list of predicted destinations, (3) a search page for receiving voice-based search requests, and (4) a keyboard page for receiving character input.
Abstract:
A mobile computing device can be used to locate a vehicle parking location. In particular, the mobile device can automatically identify when a vehicle in which the mobile device is located has entered into a parked state. The mobile device can determine that the vehicle is in a parked state by analyzing one or more parameters that indicate a parked state or a transit state. The location of the mobile device at a time corresponding to when the vehicle is identified as being parked can be associated with an identifier for the current parking location.