# Patent

## Title
Method and system for navigating a map

## Abstract

Method and computer program product for navigating a map in a browser window of a user device via the Internet are disclosed. The method includes providing a first map for showing geographic context of a general area, providing a second map for showing geographic context of a portion of the general area, superimposing the second map onto the first map, wherein the second map is represented by a highlighted area in the first map, and navigating the first map using the highlighted area. The method further includes displaying points of interest inside the highlighted area of the first map and in the second map for assisting a user in navigating to the points of interest, and displaying additional points of interest outside the shaded area of the first map for assisting a user in navigating to the additional points of interest.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of application No. 60/727,206, “Interactive Mapping Method and System,” filed Oct. 14, 2005, which is incorporated herein in its entirety by reference.


FIELD OF THE INVENTION
The present invention relates to the field of computer-network-based mapping. In particular, the present invention relates to a method and system for navigating a map.
BACKGROUND OF THE INVENTION
With the increasing popularity of the Internet, millions of users use the Internet to get maps of address locations of interest to them or to get driving directions for getting to such address locations. With conventional map applications, a user would enter a start address and an end address in order to get a driving direction. The conventional map applications would return a map and a list of driving directions from the start address to the end address.
One drawback of the conventional map applications is that it is cumbersome to navigate the map. Typically, the conventional map applications allow users to zoom in or zoom out for different levels of views of the map. It also allows users to move the whole map in north, south, east, or west direction using the corresponding arrow button. However, to get sufficient details from one location (point A) to another location (point B), the user may have to maneuver the navigational buttons, such as zoom-in, zoom-out, north, south, east, and west, many times to get sufficient details from the map to follow the route from point A to point B.
Therefore, there is a need for a method and system for navigating a map to address the drawbacks of the conventional map applications.
SUMMARY
The present invention generally relates to a method and system for navigating a map. In one embodiment, a method for navigating a map in a browser window of a user device via the Internet includes providing a first map for showing geographic context of a general area, providing a second map for showing geographic context of a portion of the general area, superimposing the second map onto the first map, wherein the second map is represented by a highlighted area in the first map, and navigating the first map using the highlighted area. The method further includes displaying points of interest inside the highlighted area of the first map and in the second map for assisting a user in navigating to the points of interest, and displaying additional points of interest outside the shaded area of the first map for assisting a user in navigating to the additional points of interest.



BRIEF DESCRIPTION OF THE DRAWINGS
The aforementioned features and advantages of the invention as well as additional features and advantages thereof will be more clearly understandable after reading detailed descriptions of embodiments of the invention in conjunction with the following drawings. The patent or application file contains other than black and white line drawings. Copies of this patent or patent application publication with the other than black and white line drawings will be provided by the Office upon request and payment of the necessary fee.
FIGS. 1a-1d illustrate a multipoint routing method according to embodiments of the present invention.
FIGS. 2a-2c illustrate re-ordering of destinations in the multipoint routing method according to embodiments of the present invention.
FIGS. 3a-3b illustrate removing a destination in the multipoint routing method according to embodiments of the present invention.
FIGS. 4a-4b illustrate creating a roundtrip in the multipoint routing method according to embodiments of the present invention.
FIGS. 5a-5e illustrate a map navigator according to embodiments of the present invention.
FIG. 6 illustrates result clusters associated with the map navigator according to embodiments of the present invention.
FIGS. 7a-7b illustrate aspect ratio of the map navigator according to embodiments of the present invention.
FIGS. 8a-8c illustrate an address-to-business lookup method according to embodiments of the present invention.
FIGS. 9a-9c illustrate a method for updating an address in the uniform resource locator (URL) according to embodiments of the present invention.
FIGS. 10a-10c illustrate a method for printing a map with directions and search results according to embodiments of the present invention.
FIG. 11 illustrates a method for auto-completing an address entry using information from an address book according to an embodiment of the present invention.



DESCRIPTION OF EMBODIMENTS
The following descriptions are presented to enable any person skilled in the art to make and use the invention. Descriptions of specific embodiments and applications are provided only as examples. Various modifications and combinations of the examples described herein will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other examples and applications without departing from the spirit and scope of the invention. Thus, the present invention is not intended to be limited to the examples described and shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
Some portions of the detailed description that follows are presented in terms of procedures, steps, logic blocks, processing, and other symbolic representations of operations on data bits that can be performed on computer memory. A procedure, computer-executed step, logic block, process, etc., are here conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those utilizing physical manipulations of physical quantities. These quantities can take the form of electrical, magnetic, or radio signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. These signals may be referred to at times as bits, values, elements, symbols, characters, terms, numbers, or the like. Each step may be performed by hardware, software, firmware, or combinations thereof.
In various embodiments, the method and system for navigating a map of the present invention implement Web 2.0 functionalities using a combination of HTML, CSS, JavaScript, Asynchronous JavaScript and XML (AJAX), Y!Q, Yahoo! Maps, Yahoo! Widget Engine, and Yahoo! Toolbar for Internet Explorer.
FIGS. 1a-1d illustrate a multipoint routing method according to embodiments of the present invention. FIG. 1a shows a user entering a first location at the location entry box A. FIG. 1b shows the user entering a second location at the location entry box B. Similarly, FIGS. 1c and 1d show the third and fourth locations are entered at locations entry boxes C and D respectively. Note that upon entering the second location at the location entry box B, the method automatically provides the next location entry box C for the user to enter additional locations, if any. This process is repeated for the subsequent entries, for example the fourth and fifth locations at location entry boxes D and E respectively.
As shown in FIGS. 1a-1d, the interactive mapping system affords a user the ability to create routes with multiple way-points. The user not only is able to create a route from one address/location (A) to another address/location (B), but also may have the option to continue his route to other addresses/locations, such as addresses/locations C, D, and beyond. The route steps between two way-points (e.g., A and B) are described in U.S. application Ser. No. 10/849,083, filed May 19, 2004, entitled “Mapping Method and System,” and its continuation-in-part U.S. application Ser. No. 11/137,603, filed May 25, 2005, entitled “Mapping Method and System,” both of which are incorporated herein by reference in their entirety.
FIGS. 2a-2c illustrate re-ordering of destinations in the multipoint routing method according to embodiments of the present invention. FIG. 2a shows the user (cursor shown as a hand) grabbing the D point to be moved to in front of the C point (Livermore) in the route. FIG. 2b shows the D point (Oakland) being dragged and inserted prior to the C point (Livermore). FIG. 2c shows the new C point (Oakland) both in the map and directions list and in the route drawn on the map. The previous C point (Livermore) becomes the new D point.
As shown in FIGS. 2a-2c, the user may re-order way-points within his route by dragging and dropping within the list view of the route or by dragging a way-point from the map view into the desired point in the list view. For example, the user may decide to change way-point D to be the first stop, so he can drag that point and drop it before the current B way-point in the route list view, and it becomes the new B way-point. The previous B way-point is displaced and becomes the new C way-point and so on. The route steps description and representation on the map are refreshed to describe and show the new route.
FIGS. 3a-3b illustrate removing of a destination in the multipoint routing method according to embodiments of the present invention.
FIGS. 3a-3b show the user may delete one or more way-points from his route. For example, the user may remove way-point B from a route that has way-points A-B-C-D. After way-point B is removed, way-point C becomes the new B way-point, and D becomes the new C way-point. In FIG. 3a, the delete icon at the right-side of way-point C is selected. After the way-point C (Oakland) is deleted, the original way-point D (Livermore) becomes the new way-point C as shown in FIG. 3b. 
FIGS. 4a-4b illustrate creating a roundtrip in the multipoint routing method according to embodiments of the present invention. This is done by selecting the Roundtrip link as indicated by the cursor (hand) in FIG. 4a. The user may create a multipoint route by drag and drop of local entities (e.g., businesses) represented on the map from the map to the desired position within the route list view. FIG. 4b shows the complete roundtrip both on the map and on the directions list. As a result, the total distance of the trip is increased to 70.7 miles (the sum of the distance of each of the two routes), and the amount of time is increased to one hour and thirty four minutes (the sum of the time of each of the two routes).
FIGS. 5a-5e illustrate a map navigator according to embodiments of the present invention. A map navigator includes a small map that gives the surrounding geographic context of the large map view. Within the map navigator, the extent of the current large map view is represented by a shaded rectangular driving (panning) control super-imposed on the surrounding geographic context map, as shown in FIG. 5a. For example, while the large map may show the City of San Francisco, the map navigator map shows the Bay Area with a shaded rectangular area representing San Francisco.
The user can use this shaded area as a control to “drive” to other locations and so explore the geographic context of the current map. As shown in FIG. 5b, this is done by dragging the driving control (shown as the cursor over the grey box) in the direction he wants to drive. In FIG. 5c, the map navigator continuously pans in the direction the user is moving the panning control for as long as the user continues to hold and drag it. In FIG. 5d, the user releases the panning control, and in FIG. 5e, the driving control then settles on the center of the map navigator area, and the large map redraws to the new location the user just drove to.
FIG. 6 illustrates result clusters associated with the map navigator according to embodiments of the present invention. The map navigator may also show representations of data points of interest, for example, businesses such as cafes, hotels, or restaurants. While the large map may only show, say, three points of interest, the map navigator is able to display representations of further similar points of interest in geographic areas adjacent to the view shown by the large map. This allows the user to quickly see and navigate to areas outside the large map view that may contain data of interest. For example, the large map only shows three hotels, but the map navigator shows a cluster of six more to the southwest. Other data of interest such as routes, traffic, demographic statistics, and any other geo-data may be similarly represented.
FIGS. 7a-7b illustrate aspect ratio of the map navigator according to embodiments of the present invention. FIG. 7a shows a default view of the map navigator, which has substantially the same aspect ratio as the main map. FIG. 7b shows an all-map view of the map navigator, which also has substantially the same aspect ratio as the main map. Note that the aspect ratio of the driving control corresponds to that of the large map, such that it changes due to the browser window re-sizing or the closing of the control panel.
FIGS. 8a-8c illustrate an address-to-business lookup method according to embodiments of the present invention. The interactive mapping system matches an address entered into a location field with a known business. For example as shown in FIG. 8a, a user may enter “701 First Ave, Sunnyvale Calif. 94089” into location field A, and upon submission of this entry, the system returns a match for the business known to be at this address, as shown in FIG. 8b as Yahoo! Incorporated. Additional information about that business may then be displayed, such as the phone number, user ratings (stars) of the business, etc. The user may access further information about this business by linking to supplementary pages shown in FIG. 8c, which may include user reviews, photos, hours of operation, and other relevant information.
FIGS. 9a-9c illustrate a method for updating an address in the URL according to embodiments of the present invention. The interactive mapping system automatically updates the URL in the browser address bar in real time. This URL contains sufficient information to allow for the redrawing of the current map view, including any data superimposed on it, such as driving directions, points of interest, etc. For example, instead of using the # symbol to designate in-page anchor links, the system designates the # symbol with a query string that describes the contents of the page (e.g., search results and other map zoom levels etc.). This is represented by the text after the “#” near the middle of the first line in the example shown in FIG. 9c. This function allows the user to copy and paste the URL of the current view, and email it to a friend who may then link to this exact view.
FIGS. 10a-10c illustrate a method for printing a map with directions and search results according to embodiments of the present invention. The interactive mapping system provides the capability of automatically sending a layout of the current map view (shown in FIG. 10a) and data that is optimized for printing. This occurs when the user selects the print function within the application or when the user chooses the print function from the browser. The printed version of the map and map data, as shown in FIG. 10b, is not what the user is seeing on the screen, such as a “print screen,” but is a different layout specifically designed for printing. The print view of the same data is automatically sent to the printer. The user may also send a text-only variant.
In FIG. 10c, two stylesheets are used to control what is viewed onscreen as being different from what is sent to the printer. Stylesheet 1 designates the screen view and hides the print view; and stylesheet 2 designates the print view and is activated when the user initiates a print function either from within the application or from the browser print commands. This stylesheet also hides the screen view from the print function so that only the print view is sent to the printer.
FIG. 11 illustrates a method for auto-completing an address entry using information from an address book according to an embodiment of the present invention. The interactive mapping system provides the capability of displaying auto-complete selections drawn from the user's address book and the universal location manager (ULM). The ULM stores recently visited or previously saved locations. As the user types in letters or numbers of, for example, a person's name, nickname, or address, into a location box that match entries within his address book or ULM data, the system displays these matches for selection, as shown in FIG. 11. The user can choose to ignore or select these options. If the user selects one of these auto-complete options, the map then centers on the chosen address.
It will be appreciated that the above description for clarity has described embodiments of the invention with reference to different functional units and processors. However, it will be apparent that any suitable distribution of functionality between different functional units or processors may be used without detracting from the invention. For example, functionality illustrated to be performed by separate processors or controllers may be performed by the same processor or controller. Hence, references to specific functional units are only to be seen as references to suitable means for providing the described functionality rather than as indicative of a strict logical or physical structure or organization.
The invention can be implemented in any suitable form, including hardware, software, firmware, or any combination of them. The invention may optionally be implemented partly as computer software running on one or more data processors and/or digital signal processors. The elements and components of an embodiment of the invention may be physically, functionally, and logically implemented in any suitable way. Indeed the functionality may be implemented in a single unit, in a plurality of units, or as part of other functional units. As such, the invention may be implemented in a single unit or may be physically and functionally distributed between different units and processors.
One skilled in the relevant art will recognize that many possible modifications and combinations of the disclosed embodiments may be used, while still employing the same basic underlying mechanisms and methodologies. The foregoing description, for purposes of explanation, has been written with references to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described to explain the principles of the invention and their practical applications, and to enable others skilled in the art to best utilize the invention and various embodiments with various modifications as suited to the particular use contemplated.

## Claims

1. A method comprising:
displaying a first map in a browser window for showing geographic context of a first general area, the browser window being visibly displayed on a display of a user device;
displaying a second map in the browser window showing geographic context of a magnified portion of the first general area, wherein the second map is displayed larger than the first map;
superimposing, via the user device, the first map onto the second map, wherein the second map is represented by a highlighted area in the first map, wherein the first map is automatically updated as a result of said superimposing; and
facilitating navigating, via the user device, the first map using the highlighted area, wherein said navigating the first map comprises:
panning the highlighted area across one or more locations in the first map in response to a user holding control of and dragging the highlighted area from the first general area to a different general area in the first map;
during said panning, continue displaying the second map without changing the second map for as long as the user continues said holding and said dragging, wherein the different general area is displayed in the first map while the user continues said holding and said dragging;
pausing said panning of the highlighted area at a second general area in the first map in response to the user stopping said dragging; and
as a result of and only after said stopping said dragging and stopping said holding, changing the second map to display geographic context of a magnified portion of the second general area in the second map instead of the magnified portion of the first general area.

2. The method of claim 1 further comprising:
displaying points of interest inside the highlighted area of the first map and in the second map for assisting the user in navigating to the points of interest.

3. The method of claim 2 further comprising:
displaying, in the first map, additional points of interest that are in addition to the points of interest in the second map, the additional points of interest not included in the second map and outside the highlighted area of the first map, each of the additional points of interest marked in the first map by a respective marker.

4. The method of claim 1 further comprising:
mapping an address location to a corresponding business at the address location; and
displaying information about the business.

5. The method of claim 4, wherein the information about the business comprises:
name, phone number, hours of operation, photos, user ratings, user reviews, and links to other relevant information about the business.

6. The method of claim 1, wherein said displaying a first map comprises:
adjusting an aspect ratio of the first map in accordance with a corresponding aspect ratio of the browser window viewing area.

7. The method of claim 6, wherein said displaying a second map comprises:
adjusting an aspect ratio of the second map in accordance with the aspect ratio of the first map.

8. A computer program product for navigating a map in a browser window of a user device via the Internet, comprising:
a non-transitory medium storing computer programs for execution by one or more computer systems comprising at least one processor, the computer program product comprising:
code for displaying a first map for showing geographic context of a first general area;
code for displaying a second map for showing geographic context of a magnified portion of the first general area, wherein the second map is displayed larger than the first map;
code for superimposing the first map onto the second map, wherein the second map is represented by a highlighted area in the first map, wherein the first map is automatically updated as a result of said superimposing; and
code for facilitating navigating the first map using the highlighted area comprising:
code for panning the highlighted area across one or more locations in the first map in response to a user holding control of and dragging the highlighted area from the first general area to a different general area in the first map;
code for continuing to display, during said panning, the second map without changing the second map for as long as the user continues said holding and said dragging, wherein the different general area is displayed in the first map while the user continues said holding and said dragging;
code for pausing said panning of the highlighted area at a second general area in the first map in response to the user stopping said dragging, wherein the second map is not changed as long as the user continues said holding; and
code for redrawing, as a result of and only after said stopping said dragging and stopping said holding, the second map to display geographic context of a magnified portion of the second general area in the second map instead of the magnified portion of the first general area.

9. The computer program product of claim 8 further comprising:
code for displaying points of interest inside the highlighted area of the first map and in the second map for assisting the user in navigating to the points of interest.

10. The computer program product of claim 9 further comprising:
code for displaying, in the first map, additional points of interest that are in addition to the points of interest in the second map, the additional points of interest not included in the second map and outside the highlighted area of the first map, each of the additional points of interest marked in the first map by a respective marker.

11. The computer program product of claim 8 further comprising:
code for mapping an address location to a corresponding business at the address location; and
code for displaying information about the business.

12. The computer program product of claim 11, wherein the information about the business comprises:
name, phone number, hours of operation, photos, user ratings, user reviews, and links to other relevant information about the business.

13. The computer program product of claim 8, wherein the code for displaying a first map comprises:
adjusting an aspect ratio of the first map in accordance with a corresponding aspect ratio of the browser window viewing area.

14. The computer program product of claim 13, wherein the code for displaying a second map comprises:
code for adjusting an aspect ratio of the second map in accordance with the aspect ratio of the first map.