Sign up to receive free email alerts when patent applications with chosen keywords are publishedSIGN UP

Abstract:

Techniques are provided for presenting a route using a route presentation
that provides both a context map and one or more detail route maps.
Narrative instructions for the route also may be presented. The
presentation of the context map and the one or more detail route maps may
be interactive. The route presentation also may be user controllable such
that a user may control the portions of a route that are printed. The
route presentation also may include a re-routing feature that allows a
user to request that a new route be identified that avoids a particular
maneuver or maneuvers in a route.

Claims:

1. A computer-implemented method for presenting a route, the method
comprising:accessing route information for a route that includes an
origin location and a destination location;generating a context map that
includes the origin location, the destination location, and a route
between the origin location and destination location, the route including
a series of maneuvers;identifying, within the series of maneuvers, at
least two maneuvers based on a relationship between the at least two
maneuvers;generating, based at least in part on the identified maneuvers
within the series of maneuvers, at least one detail map which is
associated with the context map and includes a portion of the route such
that the detail map includes at most one of the origin location or the
destination location and includes the two maneuvers within the series of
maneuvers;enabling generation of a graphical user interface which
includes the context map and the detail map generated based on the
identified maneuvers within the series of maneuvers such that at least a
portion of the route is concurrently included in both the context map and
the detail map; andenabling displaying of the generated graphical user
interface on a display associated with a user system.

2. The method of claim 1 wherein the relationship is a distance between
the two maneuvers within the series of maneuvers, and the two maneuvers
are identified based on a distance therebetween.

3. The method of claim 1 further comprising communicating the context map
to the user system for presentation on the display.

4. The method of claim 1 wherein generating the context map comprises
generating the context map to include an indication of the location of
one of the at least one detail map.

5. The method of claim 1 wherein generating the context map comprises
generating the context map using a highlighted style to display elements
on the route and using a faded style to display elements that are not on
the route.

6. The method of claim 1 wherein the context map comprises a context map
including a variable road network map showing finer detail for geographic
features near the route and less detail for geographic features farther
from the route.

7. The method of claim 1 wherein the display associated with the user
system comprises a display screen associated with the user system.

8. The method of claim 1 wherein the display associated with the user
system comprises a dashboard display screen associated with a vehicle.

9. The method of claim 1 wherein generating at least one detail map
comprises generating at least one detail map to include a predetermined
number of identified maneuvers.

10. The method of claim 1 wherein generating the at least one detail map
comprises causing the at least one detail map to include at least one
point of interest.

11. The method of claim 1 further comprising generating narrative text
associated with the route and enabling displaying on the display
associated with the user system.

12. The method of claim 1 wherein the route is a driving route.

13. The method of claim 1 wherein the route is a walking route.

14. The method of claim 1 further comprising generating an animation of
traveling the route, the animation including the route and at least one
point of interest along the route.

15. The method of claim 14, wherein: the animation is user-controllable
such that a user controls starting and the stopping of displaying the
route, and when the animation is stopped, the animation displays the at
least one point of interest associated with the point of the route at
which the animation is stopped.

16. The method of claim 1 wherein the at least one detail map that
includes a portion of the route may be generated by a user input when the
detail map has not been automatically generated.

17. The method of claim 1 wherein the at least one detail map that
includes a portion of the route is displayed within the context map.

18. The method of claim 1 further comprising generating a list of
maneuvers which includes at least the maneuvers illustrated in the detail
map, wherein the graphical user interface also includes the generated
list of maneuvers.

19. The method of claim 1 wherein enabling generation of the graphical
user interface which includes the context map and the detail map includes
enabling generation of a single display configured to concurrently render
both the context map and the detail map and to provide a mechanism for
concurrent perception of at least a portion of the route with both of the
context map and the detail map.

20. The method of claim 1 wherein enabling displaying of the generated
graphical user interface includes enabling concurrent display of the
context map and the detail may by arranging the context map and the
detail map on a single display screen.

21. A computer-implemented method for presenting a route, the method
comprising:accessing route information for a route that includes an
origin location and a destination location;generating a context map that
includes the origin location, the destination location, and a route
between the origin location and destination location, the route including
a series of maneuvers;steps for identifying, within the series of
maneuvers, at least two maneuvers based on a relationship between the at
least two maneuvers;generating, based at least in part on the identified
maneuvers within the series of maneuvers, at least one detail map which
is associated with the context map and includes a portion of the route
such that the detail map includes at most one of the origin location or
the destination location and includes the two maneuvers within the series
of maneuvers;enabling generation of a graphical user interface which
includes the context map and the detail map generated based on the
identified maneuvers within the series of maneuvers such that at least a
portion of the route is concurrently included in both the context map and
the detail map; andenabling displaying of the generated graphical user
interface on a display associated with a user system.

Description:

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001]This application is a Continuation of and claims priority to U.S.
application Ser. No. 12/035,641, titled "Presenting A Travel Route" and
filed Feb. 22, 2008, now allowed, which is a Divisional of and claims
priority to U.S. application Ser. No. 10/330,563, filed on Dec. 30, 2002
and titled "Presenting a Travel Route," the entire contents of which are
incorporated by reference in its entirety.

TECHNICAL FIELD

[0002]This document relates to presenting a travel route that shows a
route between an origin location and a destination location.

BACKGROUND

[0003]A travel route between an origin location and a destination location
may be presented as a paper map with manually-highlighted routes for
assistance in traveling from a departure point to a destination point. A
computer system may draw a map for a travel route on a display screen.
The map may be generated based on geographic information. The geographic
information may include shape information, such as latitude and longitude
coordinates, to properly draw the location of roads, highways, hydrology,
cities, and other objects on the map. A computer system may generate
narrative text, such as driving directions or walking directions, that
describes a travel route.

SUMMARY

[0004]In one general aspect, presenting a route includes accessing route
information for a route. At least one detail map is generated. The at
least one detail map includes a portion of the route such that the detail
map includes at most one of the origin location or the destination
location and maneuvers that are within a predetermined distance from one
another. The predetermined distance is programmatically-configurable or
user configurable. The at least one detail map are communicated to a user
system for presentation on a display associated with the user system.

[0005]Implementations may include one or more of the following features.
For example, a context map for that route that includes the origin
location and the destination location may be generated. The context map
may be generated to the user system for presentation on the display. The
context map may include an indication of the location of at least one
detail map. The context map may use a highlighted style to display
elements on the route and use a faded style to display elements that are
not on the route. The context map may include a variable road network map
showing finer detail for geographic features near the route and less
detail for geographic features farther from the route. The display
associated with the user system may include a display screen, a printer,
or a vehicle dashboard display screen.

[0006]The detail map may include a predetermined number of maneuvers that
are within a predetermined distance from one another. The detail map may
include at least one point of interest. Narrative text associated with
the route may be generated and may be communicated to the user system for
presentation on a display associated with the user system. The driving
route may be a driving route or a walking route.

[0007]An animation of traveling the route may be generated. The animation
may display the route and at least one point of interest along the route.
The animation may be user-controllable. The user may control the starting
and the stopping of displaying the route. When the animation is stopped,
the animation may display any point of interests associated with the
point of the route at which the animation is stopped.

[0008]In another general aspect, displaying a route includes displaying a
context map that includes an origin location, a destination location, and
at least one user-selectable indicator associated with a detail map that
includes a portion of the route such that the detail map includes at most
one of the origin location or the destination location. An indication
that identifies a user-selectable indicator is received. A detail map
associated with the user-selectable indicator identified by the received
indication is displayed.

[0009]Implementations may include one or more of the features noted above
and one or more of the following features. For example, the displayed
detail map may include a user-selectable indicator associated with the
context map. An indication that identifies the user-selectable indicator
associated with the context map may be received, and the context map may
be displayed in response to the received indication.

[0010]Narrative text associated with the route may be displayed. The
displayed narrative text may correspond to a displayed detail map. A
series of detail maps may be displayed and corresponding narrative text
may be displayed with each detail map displayed. The display detail map
and narrative text may be controlled by commands entered by a user
through an animation control.

[0011]The displayed detail map may include at least one point of interest.
An indication that identifies a detail map may be received, and the
detail map and associated narrative text may be printed. An indication
that identifies a maneuver in a route to be avoided may be received, and
a second route between the origin location and the destination location
may be to determined such that the second route does not include the
maneuver.

[0012]Implementations of the techniques described may include a method or
process, an apparatus or system, or computer software on a
computer-accessible medium. The details of one or more implementations
are set forth below. Other features will be apparent from the description
and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

[0013]FIG. 1 is a block diagram of a communications system capable of
presenting a route between origin and destination locations.

[0016]FIG. 5 is a diagram depicting a route presentation that emphasizes
the route and provides context information.

[0017]FIG. 6 is a flow chart showing a process that displays a context map
that uses a combination of vivid styles and faded styles and detail maps
associated with the context map.

[0018]FIGS. 7 and 8 are diagrams illustrating the presentation of a route
on an on-board navigation system.

[0019]FIG. 9 is a diagram showing the presentation of a route.

[0020]FIG. 10 is a block diagram illustrating a system for presenting on a
vehicle display a map that is re-oriented based on the position of the
vehicle.

[0021]Like reference symbols in the various drawings indicate like
elements. For brevity, several elements in the figures described below
are represented as monolithic entities. However, as would be understood
by one skilled in the art, these elements each may include numerous
interconnected computers and components designed to perform a set of
specified operations and/or dedicated to a particular geographic region.

DETAILED DESCRIPTION

[0022]Techniques are provided for presenting a route that includes a
detail map in which the maneuvers are within a predetermined distance
from one another. The route presentation provides both a context map and
detail route information. The detail route information typically is
presented as a map and narrative travel route instructions. A context map
and a detail map may use different scales when presenting route
information. In general, more than one detail map is associated with a
context map for a route. The context map provides context for the route
by including both the origin location and the destination location for
the route, and by adjusting the amount of detail presented such that the
entire route is presented on a display. The detail map provides
additional route information for a portion of the route.

[0023]The route presentation may be interactive. For example, the context
map may include one or more user-selectable portions that, when clicked
or otherwise selected, present a detail map associated with the
user-selectable portion of the context map. The route presentation also
may be user-controllable such that a user may select the portions of a
route that are printed. The route presentation also may include a
re-routing feature that allows a user to request identification of a new
route that avoids a particular maneuver or maneuvers in a current route.

[0024]For illustrative purposes, FIGS. 1 and 2 describe a communications
system that may present a route between origin and destination locations.

[0025]Referring to FIG. 1, a communications system 100 is capable of
delivering and exchanging data between a client system 105 and a host
system 110 through a communications link 115. The client system 105
typically includes one or more client devices 120 and/or client
controllers 125, and the host system 110 typically includes one or more
host devices 135 and/or host controllers 140. For example, the client
system 105 or the host system 110 may include one or more general-purpose
computers (e.g., personal computers), one or more special-purpose
computers (e.g., devices specifically programmed to communicate with each
other and/or the client system 105 or the host system 110), or a
combination of one or more general-purpose computers and one or more
special-purpose computers. The client system 105 and the host system 110
may be arranged to operate within or in concert with one or more other
systems, such as, for example, one or more LANs ("Local Area Networks")
and/or one or more WANs ("Wide Area Networks").

[0026]The client device 120 (or the host device 135) is generally capable
of executing instructions under the command of a client controller 125
(or a host controller 140). The client device 120 (or the host device
135) is connected to the client controller 125 (or the host controller
140) by a wired or wireless data pathway 130 or 145 capable of delivering
data.

[0027]Each of the client device 120, the client controller 125, the host
device 135, and the host controller 140 typically includes one or more
hardware components and/or software components. An example of a client
device 120 or a host device 135 is a general-purpose computer (e.g., a
personal computer) capable of responding to and executing instructions in
a defined manner. Other examples include a special-purpose computer, a
workstation, a server, a device, a component, other physical or virtual
equipment or some combination thereof capable of responding to and
executing instructions.

[0028]An example of the client controller 125 or the host controller 140
is a software application loaded on the client device 120 or the host
device 135 for commanding and directing communications enabled by the
client device 120 or the host device 135. Other examples include a
program, a piece of code, an instruction, a device, a computer, a
computer system, or a combination thereof, for independently or
collectively instructing the client device 120 or the host device 135 to
interact and operate as described. The client controller 125 and the host
controller 140 may be embodied permanently or temporarily in any type of
machine, component, physical or virtual equipment, storage medium, or
propagated signal capable of providing instructions to the client device
120 or the host device 135.

[0029]The communications link 115 typically includes a delivery network
160 that provides a direct or indirect communication link between the
client system 105 and the host system 110, irrespective of physical
separation. Examples of a delivery network 160 include the Internet, the
World Wide Web, WANs, LANs, analog or digital wired and wireless
telephone networks (e.g., PSTN ("Public Switched Telephone Network"),
ISDN ("Integrated Services Digital Network"), and DSL ("Digital
Subscriber Line") including various forms of DSL such as SDSL
("Single-line Digital Subscriber Line"), ADSL ("Asymmetric Digital
Subscriber Loop), HDSL ("High bit-rate Digital Subscriber Line"), and
VDSL ("Very high bit-rate Digital Subscriber Line)), radio, television,
cable, satellite, and/or any other delivery mechanism for carrying data.
The communications link 115 may include communication pathways 150 and
155 that enable communications through the one or more delivery networks
160 described above. Each of the communication pathways 150 and 155 may
include, for example, a wired, wireless, cable or satellite communication
pathway.

[0030]FIG. 2 illustrates a communication system 200 including a client
system 205 that communicates with a host system 210 through a
communications link 215. Client system 205 typically includes one or more
client devices 220 and one or more client controllers 225 for controlling
the client devices 220. Host system 210 typically includes one or more
host devices 235 and one or more host controllers 240 for controlling the
host devices 235. The communications link 215 may include communication
pathways 250 and 255 that enable communications through the one or more
delivery networks 260.

[0031]Examples of each element within the communication system of FIG. 2
are broadly described above with respect to FIG. 1. In particular, the
host system 210 and the communications link 215 typically have attributes
comparable to those described with respect to the host system 110 and the
communications link 115 of FIG. 1, respectively. Likewise, the client
system 205 of FIG. 2 typically has attributes comparable to, and may
illustrate one possible implementation of, the client system 105 of FIG.
1.

[0033]The general-purpose computer 270 also includes a central processing
unit 282 (CPU) for executing instructions in response to commands from
the client controller 225. In one implementation, the client controller
225 includes one or more of the application programs installed on the
internal or external storage 272 of the general-purpose computer 270. In
another implementation, the client controller 225 includes application
programs externally stored in and executed by one or more device(s)
external to the general-purpose computer 270.

[0034]The general-purpose computer 270 typically includes a communication
device 284 for sending and receiving data. One example of the
communication device 284 is a modem. Other examples include a
transceiver, a set-top box, a communication card, a satellite dish, an
antenna, or another network adapter capable of transmitting and receiving
data over the communications link 215 through a wired or wireless data
pathway 250. The general-purpose computer 270 also may include a TV
("television") tuner 286 for receiving television programming in the form
of broadcast, satellite, and/or cable TV signals. As a result, the client
device 220 can selectively and/or simultaneously display network content
received by the communications device 284 and television programming
content received by the TV tuner 286.

[0035]The general-purpose computer 270 typically includes an input/output
interface 288 to enable a wired or wireless connection to various
peripheral devices 290. Examples of peripheral devices 290 include, but
are not limited to, a mouse 291, a mobile phone 292, a personal digital
assistant 293 (PDA), a keyboard 294, a display monitor 295 with or
without a touch screen input, and/or a TV remote control 296 for
receiving information from and rendering information to subscribers.
Other examples may include voice recognition and synthesis devices.

[0036]Although FIG. 2 illustrates devices such as the mobile phone 292,
the PDA 293, and the TV remote control 296 as being peripheral with
respect to the general-purpose computer 270, in another implementation,
such devices may themselves include the functionality of the
general-purpose computer 270 and operate as the client device 220. For
example, the mobile phone 292 or the PDA 293 may include computing and
networking capabilities, and may function as a client device 220 by
accessing the delivery network 260 and communicating with the host system
210. Furthermore, the client system 205 may include one, some, all, or
none of the components and devices described above.

[0037]FIG. 3 illustrates a route presentation 300 that provides both
context route information and detail route information. The route
presentation 300 may be displayed on a client system display, such as the
display 295 of FIG. 2. The route presentation 300 also may be printed on
a printer associated with a client system, such as the client system 105
of FIG. 1 or the client system 205 of FIG. 2, or may be displayed on a
display associated with an on-board vehicle navigation system. The
context route information is presented in the form of a map and may be
referred to as a context map 310 or an overview map.

[0038]The context map 310 includes an origin location 330, a destination
location 335, and a route 340 between the origin location 330 and the
destination location 335. The context map 310 is uniformly scaled. The
use of a uniform scale avoids distortion of distances and spatial
locations, which may be advantageous to a user of the context map 310.
The context map 310 may use an aspect ratio that is optimized to provide
the greatest route visibility when the context map 310 is displayed.

[0039]The context map 310 provides context for the route 340 by including
geographic data 350 near the route. The geographic data 350 includes a
variable road network display such that finer detail is provided near the
route 340 and less detail, or even no detail, is provided farther away
from the route 340. The geographic data 350 also may include other
geographic features, such as hydrology (e.g., rivers) and cities. The
context map 310 may include fewer labels for roads or other geographic
features as compared to the number of labels included in the detail route
information. Typically, the context map 310 includes only the labels
necessary to show context and provide spatial awareness to the user of
the route presentation 300.

[0040]The detail route information is presented as detailed maps 321-324.
Each of detail maps 321-324 presents a portion 361-364, respectively, of
the route 340. The detail map 321 includes the origin location 330, and
the detail map 324 includes the destination location 335. In general,
each of the detail maps 321-324 includes greater detail and geographic
features than are included in the context map 310 for the corresponding
portion of the route 340. For example, each of the detail maps 321-324
may include a full road network.

[0041]The detail maps 321-324 also may include places of interest to
provide detail for portions 361-364 of the route 340. A place of interest
(POI) may also be referred to as a point of interest. For example, the
detail maps 322 and 323 include, respectively, POI 382 and POI 383.
Examples of POIs include gas stations, restaurants, lodging,
entertainment and educational opportunities (such as amusement parks,
water parks, movie theaters, night spots, museums, and libraries), and
historical or other types of landmarks.

[0042]The detail maps 321-324 represent a POI using a symbol, a bit-mapped
image, or another type of image (collectively, "symbols"). A symbol may
represent a type of POI (e.g., a lodging POI, a gas station, a historical
landmark) or a particular POI (e.g., the United States Capitol or an
amusement park may be represented by a particular symbol that is only
used for that POI). Some implementations may use a single symbol to
represent all POIs regardless of the type of the POI. The inclusion of
POIs in the detail maps 321-324 may help a user to plan activities along
the route. The inclusion of POIs also may provide an opportunity for the
route presentation provider to obtain revenue by charging for the display
of a POI on the detail maps, which may help create or invigorate a market
for route presentation services.

[0043]In some implementations, a detail map may include different types of
POIs along different portions of the route. For example, a route along a
state road may include a scenic vista POI, a historic landmark POI, and a
park POI, while a route along an interstate highway includes POIs for
gas, food and lodging opportunities.

[0044]Additionally or alternatively, the types of POI presented may be
based on the length of the route and the POI location along the route.
For example, when a route is long and an overnight stay may be
anticipated, convenience store POIs and gas station POIs may dominate the
presentation of POIs near the origin location. As the route progresses,
gas stations, fast-food restaurants, and hotels may dominate the
presentation of POIs. Near the destination, hotels, full service
restaurants, entertainment and nightspots, and tourist destinations may
dominate the presentation of POIs. The types and proximities of POIs
presented may be controllable by the user. For example, a user may select
to drive eight hours in a day and hotels approximately eight hours away
may be displayed (e.g., hotels that are less than six hours or more than
ten hours are not displayed).

[0045]The context map 310 includes detail map indications 391-394, each of
which indicates the portion of the route 340 included in a corresponding
detail map. This may provide context such as where along the route the
detail map is located (e.g., near the origin, near the destination, or in
the middle of the route). The detail map location (or region of detail)
may be indicated, for example, by an outline (here, a dotted outline), a
transparent shaded region drawn over the overview map, or a
representation of a magnifying glass.

[0046]A context map 310 and a detail map 321, 322, 323 or 324 may use
different scales when presenting route information. A detail map 321,
322, 323 or 324 may use the same or different scale as another detail map
321, 322, 323 or 324 for the context map 310.

[0047]The route presentation 300 may be interactive. For example, the
context map 310 may include one or more user-selectable portions that,
when clicked or otherwise selected, present a corresponding detail map.
The user-selectable portion may be the same as or different from the
detail map indication 391-394 on the context map. The user also may
select to re-display the context map 310 after viewing the detail map,
for example, by activating a control, such as a button or icon. The
control may be referred to as a user-selectable indicator associated with
the context map. The user may select to display another detail map. The
user may continue to switch between the context map and a detail map.

[0048]The interactive presentation of detail maps may be advantageous,
particularly when a user is familiar with a portion of the route and does
not wish to receive detailed route information for the portion. With an
interactive display, the user is able to select the portions of the route
for which the user requires additional detail.

[0049]In some implementations, the context map may be a static map that
may not be re-sealed or re-centered by the user. This may provide more
efficient updating methods, such as using overlay planes or a stored
bitmap of the context map, that may avoid redrawing the map when the user
re-displays the context map after the display of a detail map.

[0050]The route presentation also may be user-controllable such that a
user may determine the portions of a route that are printed. This may be
referred to as interactive print control. Interactive print control may
allow greater user control over the printing of map route details. With
interactive printing, the user is able to select the portions of the
route for which the user requires additional detail and print only the
selected portions. For example, the user may select one or more detail
maps to be printed. This may be particularly advantageous when a user is
familiar with a portion of the route, such as a portion of the route near
the home of the user, and the user only wants to print the portion of the
route that is unfamiliar or not as familiar to the user.

[0051]The route presentation 300 may be implemented by using a client
application, such as client application 278 of FIG. 2, on a client
system, such as the client system 105 of FIG. 1 or the client system 205
of FIG. 2. The host system, such as the host system 110 of FIG. 1 or the
host system 210 of FIG. 2, may send data associated with the context map
310 to the client system for display. While the client system displays
the context map 310, the host system sends the data associated with the
detail maps 321-324 to the client system such that the detail map data is
available at the client system when the user wants to display a detail
map 321, 322, 323 or 324.

[0052]FIG. 4 describes a particular implementation of a route presentation
400 that provides context route information and detail route information,
and includes interactive controls. The route presentation 400 may be
displayed on a client system display, such as display 295 of FIG. 2,
displayed on an on-board vehicle navigation system, or printed. The route
presentation 400 includes a context map portion 410, a detail inset map
portion 420, a narrative driving direction portion 425, and an animation
control 430.

[0053]The context map portion 410 displays a context map that provides a
variable road network display across the map such that finer detail is
presented on the map near the route and less detail is presented on the
map farther away from the route, as described previously with respect to
context map 310 of FIG. 3. The context map portion 410 includes an
indication 435 of the location of the detail insert map 420.

[0054]The detail insert map portion 420 presents a detail insert map that
includes a complete road network and labels, as described previously with
respect to detail maps 321-324 of FIG. 3 for a portion of the route. The
detail insert map also may include POIs and geographic features to
provide detail for the area covered by the detail map. The detailed
insert map portion 420 uses a display area having a fixed geometric shape
(e.g., rectangular) and a fixed size.

[0055]The detail insert map includes the maneuvers that occur within a
predetermined distance of one another. Such a detailed map may be
referred to as a maneuver map. The maneuvers are grouped to form a single
detail insert map of multiple maneuvers. In the example shown by FIG. 4,
the detail insert map includes the maneuvers of merging on a highway,
exiting the highway at a particular toll road exit, merging on the toll
road, and exiting the toll road at a particular exit toward a particular
direction. Another detail insert map may include a series of turns in an
urban area that occur within a predetermined distance (e.g., two miles)
of one another.

[0056]In some implementations, a detail map may include a predetermined
number of maneuvers that occur within a predetermined distance of one
another. The predetermined number of maneuvers may be established based
on a maximum number of maneuvers that may occur in one detail map, which
may be particularly useful in an urban setting in which a large number of
maneuvers may occur within a short distance.

[0057]A detail insert map that covers multiple maneuvers may be
beneficial. For example, fewer detail maps are produced as compared with
producing a separate detail map for each maneuver. This may result in
display efficiency and a reduction in the number of pages required to
print a route, that, in turn, may result in greater user satisfaction.

[0058]The narrative driving direction portion 425 displays a scrolling
list of text descriptions of each maneuver 436-439 presented in order of
occurrence as the route is traversed. Each of maneuvers 436-439 is
associated with a corresponding one of distances 440-443 at which the
maneuver occurs relative to the previous maneuver. The narrative driving
directions portion 425 includes a total distance of the route 445 and an
amount of time estimated to travel the route 447. The displayed maneuvers
436-439 correspond to the maneuvers shown within the detail inset map
displayed in the detail inset map portion 420. In some implementations,
the presented narrative driving directions may correspond to the position
of a cursor or other type of indicator on the context map in the context
map portion 410.

[0059]The presentation route 400 includes interactive controls that allow
the user to display a detail insert map 420 and a maneuver in the
narrative driving direction portion 425 that corresponds to a position on
the context map in the context map portion 410 selected by the user.
Similarly, when a user selects a particular maneuver included in the
narrative driving directions portion 420, a cursor or other type of
indicator may be presented on the overview map at a point that
corresponds to the selected maneuver. A detail insert map 425 also may be
automatically invoked or manually selected to present the selected
maneuver. In some implementations, the interactive control may include
controlling the display of a particular detail insert map only by
selecting a position on the context map (e.g., the narrative driving
directions do not control the display of a detail insert map).

[0060]The animation control 430 permits a user to play an animation of
traveling the route that displays a series of detail insert maps 425 and
narrative driving directions 425 associated with each detail insert map
as the detail insert map is displayed. Each detail insert map is
presented in order from the origin location to the destination location
until all detail insert maps have been presented or the animation has
been paused or stopped. POI information, such as text and/or one or more
images associated with a POI, may be presented on the detail insert map
in the detail insert map portion 425. Additionally or alternatively, POI
information may be displayed in a separate POI portion or overlaid on the
context map 410.

[0061]The animation control 430 may include a play control 450, a pause
control 451, a stop control 452, a position control 453, and, optionally,
volume controls 454 and 455. The user may use the play control 450 to
start the animation sequence, the pause control 451 to pause the
animation sequence such that the animation may be restarted from the
point at which the animation was paused, and the stop control 452 to stop
the animation sequence. The user may use the position control 453 (here,
a sliding bar) to select the point in the route from which the animation
will start when the play control 450 is selected.

[0062]In some implementations, audio may be associated with the route. For
example, audio may be associated with a POI on or near the route. When
audio is associated with the route, the volume of the audio may be
controlled using volume controls 454 and 455. Volume control 454
increases the volume at which the audio associated with the route is
played, while volume control 455 decreases the volume at which the audio
associated with the route is played.

[0063]In some implementations, the POI information is displayed for a
particular location along the route when the animation is stopped at the
location. In such an implementation, the user may control the animation
to stop at various points in the animation and determine what points of
interest are on the route or near the location at which the animation is
stopped.

[0064]In some implementations, the route presentation 400 may include
alternative or additional interactive controls such that, when a user
drags a cursor along, or otherwise selects, points along the route, the
user may get a magnified image (e.g., a zoomed-in image) of the route
that includes POI information.

[0065]The route presentation 400 includes an avoid indicator 460 that
allows a user to avoid a particular maneuver in the route. For example, a
user may wish to avoid traveling through a construction zone or a portion
of a route in which the speed fluctuates, predictably or unpredictably,
over the course of a day. When the user selects the avoid indicator 460,
a different route is determined from the origin location to the
destination location that does not include the maneuver associated with
the avoid indicator 460 (e.g., maneuver 436). In some implementations, a
user may indicate that more than one maneuver in a route is to be
avoided.

[0066]The route presentation 400 may be implemented using a host system,
such as the host system 110 of FIG. 1 or the host system 210 of FIG. 2,
to send data for all or a portion of the map or route to a client system,
such as the client system 105 of FIG. 1 or the client system 205 of FIG.
2. The client system stores the data received. In some cases, removable
media may be used to transport map or route data to the client system.
Storing route data or map data needed for the route presentation 400 may
result in a more efficient display process than if the route data or map
data is accessed from the host system. A more efficient display process
may lead to a faster display process that may, in turn, result in
improved user satisfaction.

[0067]FIG. 5 illustrates a particular implementation of a context map 510
that emphasizes the route and provides context information. Although not
shown by FIG. 5, the context map 510 may use a vivid color or vivid
colors to display the route 520, and a faded style of pastel colors or
other desaturated colors for the non-route context information 530, such
as geographic data 350 of FIG. 3. This may result in a context map 510 in
which the vivid colors of the route 520 stand out over the faded style of
the non-route context information 530 to emphasize the route 520. In this
manner, the context map 510 emphasizes the route and provides context
information for the route.

[0068]A route map that uses a faded style for non-route context
information and a vivid style for route elements may be implemented by
using two or more sets of style information to control the manner in
which objects are displayed in the map. Style information may include,
for example, color, width of lines, font size and type of text, or
patterns that are associated with an element drawn with a particular
style. A particular set of style information to present a faded style may
be associated with the presentation of non-route objects (e.g., elements
that are included in context information). This may be referred to as a
faded style. Another set of style information to present a highlighted or
vivid style may be associated with the presentation of route objects
(e.g., roads, labels of roads, and labels of cities included in the
route). This may be referred to as a vivid style or a highlighted style.

[0069]A map may be produced using the faded style as a default for objects
in the map. Map elements included in the route may be displayed in a
vivid style by using the vivid style to override the default faded style.
Alternatively or additionally, a highlight line that is a wider line
and/or a translucent color line (such as a purple translucent line or a
yellow translucent line) may overlay the route elements in the display.

[0070]The context map 510 also includes detail map indications 540, 545,
550, 555 for detail maps that provide detail route information for the
route 520. Each detail map indication 540, 545, 550 or 555 is associated
with a label 560, 565, 570 or 575, respectively. As shown, each label may
be presented in the form of a letter.

[0071]FIG. 6 depicts a process 600 for displaying a context map with a
combination of vivid and faded styles, as described previously with
respect to context map 510 of FIG. 5, and detail maps associated with the
context map. The process 600 causes the context map to be displayed for a
particular implementation of a routing system that generates a route by
processing directed links (e.g., one-way edges) in a graph that includes
one or more links and two or more nodes. The graph represents a network
of roads. The context map, for example, may be the context map 310 of
FIG. 3, the context map 410 of FIG. 4, or the context map 510 of FIG. 5.
The process 600 may be performed, for example, by a host system, such as
the host system 110 of FIG. 1 or the host system 210 of FIG. 2.

[0072]The process 600 begins when the host system accesses one or more
links that make up a route (step 610). The host system then determines a
region for the context map, including the origin location and the
destination location, based on the links accessed and the display area
for the context map (step 620). For example, the host system may
determine a route region for the context map by finding the best fit of
the route links using a conventional best-fit process and adding margins
around the edges such that the map region is a regular shape, such as a
rectangle, and to fit the display area.

[0073]The host system then accesses map data that includes elements (or
objects) for a particular portion of geographic data that includes the
route to be presented (step 630). An example of an element includes a
city, an item of hydrology, or a road that is to appear on the map. Each
element in the map data may be associated with attribute information, a
default style, and a highlight style. Attribute information may include
an attribute identifier, an attribute name, and an attribute type. An
attribute identifier uniquely identifies the element, and the attribute
name reflects a name for the element. Elements may be grouped into one of
several attribute types. Examples of an attribute type include a park, a
road, or a body of water.

[0074]Each attribute is associated with geometry information that aids in
generating the shape and other display attributes of an element to be
displayed on a map. The geometry for an element may be determined through
the use of a grid pattern or longitude and latitude markings for an
element to be displayed.

[0075]Each attribute may be associated with a default style that denotes
the way that the element is presented in a map when the element is not an
element in the route. Each attribute also may be associated with a
highlight style that denotes the manner in which the element is displayed
in a map when the element is an element in a route. As discussed
previously with respect to FIG. 5, the default style may be a faded style
that includes pastel colors whereas the highlight style may use a vivid
style that includes vivid colors.

[0076]The host system then generates the context map based on the
determined map region and the accessed map data (step 640). The host
system displays the elements in a context map using the default style for
each element that is not included in the route and using a highlighted
style for each element that is included in the route. Steps 610-640 may
be referred to as a generate context map sub-process 645.

[0077]The host system determines the maneuvers to be included in each
detail map (step 650). For example, the host system identifies maneuvers
that occur within a predetermined distance of one another and groups the
identified maneuvers. The group of identified maneuvers is included in a
detail map, and the host system identifies another group of maneuvers. In
some implementations, the host system may include only a single maneuver
in a detail map. For example, a detail map may include only one maneuver
when the detail map is for a long route and a maneuver during the middle
of the route includes a turn from one interstate highway onto another
interstate highway.

[0078]The host system generates an indication that corresponds to each
detail map location on the context map (step 660). The detail map
location may be indicated, for example, by an outline, a transparent
shaded region, or representation of a magnifying glass, as described
above with respect to FIG. 3.

[0079]The host system then generates each detail map (step 670). For each
detail map, the host system may access map data, determine the map region
using route links, and display area information for the links involved in
the maneuvers included in the detail map, and generate the detail map.

[0080]Steps 650-670 may be referred to as a process map detail sub-process
675.

[0081]The host system may generate narrative text that corresponds to the
route (step 680). The narrative text may be a scrolling list of text
descriptions for each maneuver, such as the narrative driving portion 425
of FIG. 4.

[0082]Referring to FIGS. 7 and 8, a map 710 of a route is presented on a
display 720 in a vehicle traveling the route (e.g., the display is part
of an on-board vehicle navigation system). The position of the vehicle is
determined using, for example, a global positioning system (GPS)
receiver, and the map 710 is re-oriented based on the position of the
vehicle as the vehicle travels the route. The map 710 is a
two-dimensional map that presents the perspective of traveling the route
from a vehicle driver's perspective (e.g., slightly above the route).
Some implementations may use a more conventional representation, such as
the context map 310 of FIG. 3, the detail maps 321-324 of FIG. 3, the
context map 410 of FIG. 4, the detail insert map 420 of FIG. 4, and the
context map 510 of FIG. 5. The map includes a representation 730 of the
vehicle that corresponds to the location of the vehicle on the map 710.
The map 710 is re-oriented relative to the top of the display 720 such
that the representation 730 of the vehicle moves toward the top of the
display 720 as the vehicle traverses the route.

[0083]For example, initially a vehicle may be traveling in one direction,
as illustrated in FIG. 7. When the vehicle travels in a different
direction, the map 710 is re-oriented relative to the top of the display
720 as shown in FIG. 8. The representation 730 of the vehicle is depicted
in FIG. 8 based on the actual location of the vehicle. In some
implementations, a representation 730 of the vehicle may not be included
in the display.

[0084]FIG. 9 illustrates a map 910 of the route that may be animated in a
display 920 regardless of the location of a vehicle. For example, an
animated sequence of detail maps, such as detail maps 321-324 of FIG. 3,
that include a representation of a vehicle traversing the route may be
presented. A user may use animation controls 925 to control the
animation. The user may use a play control 930 to start the animation
sequence, a pause control 940 to pause the animation sequence such that
the animation may be restarted from the point at which the animation was
paused, and a stop control 950 to stop the animation sequence. The user
also may use a position control 960 (here, a sliding bar) to select the
position of the vehicle from which the animation will play when the play
control 930 is selected.

[0085]One or more symbols (not shown) that represent POIs may be
presented. Examples of POIs may include a restaurant, lodging (e.g., a
hotel, motel, or inn), a gas station, an entertainment opportunity (e.g.,
movie theatre, a shopping mall, or an amusement park), a historical
landmark, and a nature spot (e.g., a scenic overlook or park). The user
may select a symbol displayed on the map and information associated with
the symbol may be displayed. For example, a user may select a lodging
symbol to invoke display of the name, address, and/or telephone number of
a hotel associated with the lodging symbol.

[0086]In some implementations, the distance from the start of the route to
the position of the vehicle representation on the route may be displayed,
as may be an estimated amount of time to travel the distance. Audio may
be presented to describe the route, points of interest along the route,
or other information. When an implementation includes audio, the
animation controls 925 may include volume controls 970 for increasing and
decreasing the volume of the audio.

[0087]Referring to FIG. 10, a system 1000 is capable of presenting on a
vehicle display a map that is re-oriented based on vehicle position. The
system 1000 includes a map display system 1010, a GPS 1015, an electronic
compass 1020, and a dashboard display device 1025. The system 1000
optionally includes a peripheral storage device 1030 and a host system
1035. The map display system 1010, the GPS 1015, the electronic compass
1020, the dashboard display device 1025, and the optional peripheral
storage device 1030 are physically located in a vehicle traveling a route
(as indicated by the dotted line).

[0090]The peripheral storage interface 1065 is capable of sending and
receiving communications with the peripheral storage device 1030 through
a communications pathway 1083. The peripheral storage interface 1065 may
be necessary only when the map display system 1010 includes a peripheral
storage device 1030.

[0091]The wireless communication controller 1070 is capable of exchanging
wireless communications with the host system 1035 through a wireless
communications pathway 1084. The wireless communication controller 1070
only may be necessary when the map display system 1010 includes a host
system.

[0093]The GPS 1015 is capable of determining the location of the vehicle,
such as the longitude and latitude of the vehicle. The GPS 1015 sends the
location of the vehicle to the vehicle orientation processor 1040 using
the communications pathway 1080, the GPS interface 1050, and the system
bus 1075.

[0094]The electronic compass 1020 is capable of determining the direction
in which the vehicle is traveling. The electronic compass 1020 sends the
direction in which the vehicle is traveling to the vehicle orientation
processor 1040 using the communications pathway 1081, the electronic
compass interface 1055, and the system bus 1075.

[0095]The vehicle orientation processor 1040 accesses a route map. For
example, the vehicle orientation processor 1040 may access a route map
received from the host system 1035 using the communications pathway 1084,
the wireless communication controller 1070, and system bus 1075. The
vehicle orientation processor 1040 also may access a route map stored on
media associated with the peripheral storage device 1030 using the
communications pathway 1083, the peripheral storage interface 1065, and
the system bus 1075.

[0096]The vehicle orientation processor 1040 receives messages from the
GPS 1015 and the electronic compass 1020. The vehicle orientation
processor 1040 uses those messages to determine the appropriate
orientation of the route map relative to the dashboard display device
1025, as described previously with respect to FIGS. 7 and 8. The vehicle
orientation processor 1040 may compare information about the current
direction in which the vehicle is traveling as received from the
electronic compass 1020 with information about the current displayed
orientation of the map to determine whether the map orientation displayed
on dashboard display device 1025 should be changed. When the map
orientation should be changed, the vehicle orientation processor 1040
re-displays the map on the dashboard display device 1025 in the
orientation appropriate for the direction that the vehicle is traveling.
For example, the vehicle orientation processor 1040 may send the map in
the appropriate orientation through system bus 1075 to the dashboard
display device interface 1060. The dashboard display device interface
1060 then displays the appropriately oriented map using communication
pathway 1082 to the dashboard display device 1025.

[0097]For example, the vehicle may be traveling toward the north after
making a turn onto a particular road, and the particular road on which
the vehicle is traveling may be depicted on the map displayed on the
dashboard display device such that the road extends from the left side of
the display to the right side of the display. The vehicle orientation
processor 1040 may receive from the electronic compass 1020 a message
that indicates the vehicle is traveling toward the north. The vehicle
orientation processor 1040 may receive from the GPS 1015 a message that
indicates the vehicle is located at a particular position. The vehicle
orientation processor 1040 may determine the road on which the vehicle is
located by comparing the location of the vehicle with locations included
on the map displayed on the dashboard display device 1025. The vehicle
orientation processor 1040 may determine whether the road on which the
vehicle is traveling is depicted on the dashboard display device 1025 in
an appropriate orientation. Specifically, the vehicle orientation
processor 1040 may determine whether the road on which the vehicle is
traveling is depicted with the northern portion of the road directed at
the top of the display. If not, the vehicle orientation processor 1040
may send to the dashboard display interface 1060 using the system bus
1075 the map to be displayed in the correct orientation (e.g., the road
on which the vehicle traveling is depicted as traversing from the bottom
toward the top of the display). The dashboard display device interface
1060 then controls the dashboard display device 1025 to display the map
in an appropriate orientation relative to the direction in which the
vehicle is traveling.

[0098]It is important to note that the vehicle orientation processor 1040
does not necessarily control the display such that the vehicle is always
traveling directly up. For example, the vehicle orientation processor may
be constrained to rotating the depicted map in increments of 90°,
and may select the orientation of the depicted map that causes movement
of the vehicle to have the largest upward component. An indication of the
orientation of the map (e.g., an indication of where North is) may be
displayed.

[0099]The vehicle orientation processor 1040 also may determine whether a
different map should be displayed on the dashboard display device 1025
based on the current position of the vehicle as indicated by a messages
provided by the GPS 1015. When the vehicle orientation processor 1040
determines that a different map should be displayed, the vehicle
orientation processor 1040 accesses the map, for example by communicating
with the host system 1035 or by accessing media associated with
peripheral storage device 1030. The vehicle orientation processor 1040
sends the map through system bus 1075 to the dashboard display device
interface 1060. The dashboard display device interface 1060 then displays
the map using communication pathway 1082 to the dashboard display device
1025.

[0100]In some implementations, the functions performed by the vehicle
orientation processor 1040 may be performed by a processor that also
performs other functions, such as a processor associated with an on-board
navigation guidance system.

[0101]Although FIGS. 1-10 illustrate systems and methods for presenting a
driving route, the techniques are not limited to driving routes. These
techniques may be applicable to presenting a route for other modes of
transportation (e.g., walking or bicycling). These techniques may be
applicable, for example, to one or more computing devices used for
presenting a preferred route that communicate in a client system and host
system (e.g., an Internet access provider or an Internet service
provider) relationship, a single computing device (e.g., with or without
networking capabilities), or an embedded system (e.g., a navigation
routing system in an automobile or other vehicle).

[0102]Although the techniques and concepts have been described in which a
host system presents a travel route, another type of computing device
also may be used to perform the described techniques and concepts. For
example, a general-purpose computer accessible to a network, such as in a
peer-to-peer relationship, an on-board navigation system in a vehicle, a
general-purpose computer capable of accessing route data, or another
trusted computer system may be used to perform the functions described as
being performed by the host system.

[0103]Implementations may include a method or process, an apparatus or
system, or computer software on a computer medium. It is intended that
various modifications may be made without departing from the spirit and
scope of the following claims. For example, advantageous results still
could be achieved if steps of the disclosed techniques were performed in
a different order and/or if components in the disclosed systems were
combined in a different manner and/or replaced or supplemented by other
components. Other implementations are within the scope of the following
claims.