When viewing a map on a computer screen, users often want to see two levels of detail simultaneously. In order to travel to a specific address or other location, the user often wants to see a “zoomed-in” view showing the specific streets and intersections in the immediate proximity of the destination. At the same time, the user wants to see a “zoomed-out” view, showing where on a larger map the destination area is located. For example, the user might want to see a low-level map showing each individual street near the address, and a higher-level map of the city showing where in the city the destination is located.
Sometimes a split screen showing two separate maps, as illustrated in
Both of these strategies involve showing two maps simultaneously, each at a different level of resolution. Both of these solutions work reasonably well on computers with full size screens, because these screens are large enough to show two maps at once. However, users often need to view maps when they are away from their primary computer (e.g., in the car). In such situations, users may only have access to a portable device, such as a cell phone or personal digital assistant. These portable computing devices have viewing areas (e.g., screens) of very limited size, and thus are generally too small to display two maps simultaneously at a viewable resolution.
Services such as Google Local Mobile and Infospace offer maps for display on mobile phones. However, because of the small available display area, these maps typically show a mid-range view that is neither zoomed-in enough to see the relevant cross streets around one's destination, nor zoomed-out enough to see the context of one's destination (e.g., nearby major highways). With these mid-level mapping systems, most users find they need to either zoom-in or zoom-out immediately upon downloading the map. Continually zooming in and out on a portable device is inconvenient, slow, distracting, and hard to process cognitively.
A mapping system is provided that displays a map of a destination and its immediate surroundings at a relatively low level. The mapping system displays symbolic context information simultaneously to provide a higher-level context for the location by symbolically referencing context information that may be geographically beyond the perimeter of the displayed map. The symbolic context information can include such things as nearby highways, exits, bridges, sports venues, restaurants, gas stations, groups of restaurants/gas stations, or other landmarks and points of interest. The symbolic context information may also include the location of people or places related to calendar events, or other personally meaningful data. The mapping system can display the symbolic context information, for example, on the perimeter of the map, or on the map in a distinct visual style such as in a different color or font or with a fisheye view. As a user requests updates to the map, the mapping system updates the context information as well.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
A mapping system is provided that displays a map of a destination and its immediate surroundings at a relatively low level. The mapping system displays symbolic context information simultaneously to provide a higher-level context for the location. For example, the mapping system may display a map in the middle of a viewing area, and the symbolic context information at the edges of the viewing area to reference entities that may be beyond the perimeter of the displayed map. The symbolic context information can include map entities, such as nearby highways, exits, bridges, sports venues, transit locations, scenic highways, points of interest, or other landmarks that may be represented on a map. Further, symbolic context information may include personal contact or calendar event locations, user-identified locations like home or work, business listings such as food, gas or lodging information, and so forth. For example, the symbolic context information may inform the user that a restaurant (or group of restaurants) is near the user's destination. The mapping system can display the symbolic context information in many different ways. For example, the mapping system can display the symbolic context information on the perimeter of the map or on the map in a distinct visual style, such as in a different color or font or with a fisheye view. In some embodiments, as a user requests updates to the map, the mapping system updates the context information as well. In this way, the mapping system provides the user with multiple levels of information in a limited viewing area.
The symbolic context information can be a symbolic representation of any type of contextual data, displayed to put the low-level map view in a broader context. For example, the symbolic context information can be displayed in the form of icons, graphics, and/or text, representing such contextual reference points as highways, specific exits, bridges, etc. The symbolic context information can be displayed, for example, on the periphery of the map (as illustrated in
In some embodiments, the mapping system comprises a mobile device having a limited viewing area, such as a mobile phone, and an application server that provides map data and symbolic context information. A map-viewing component running on the mobile device transmits requests for maps of a location (e.g., a venue, a business, an address, etc.) to the application server. For example, the application server may be a website accessible using the Hypertext Transport Protocol (HTTP). The transmission of the request (as well as subsequently described communications between devices and components) can be made according to any transmission protocol, various examples of which are known to those of ordinary skill in the relevant art. The implementation mechanics of executing such transmissions within the context of the present invention will be readily apparent to those of such a skill level in light of this specification. The application server responds to the request by providing a map of the location and associated symbolic context information related to the location. The mobile device then displays the map of the location and the associated symbolic context information simultaneously.
In some embodiments, the application server requests and receives map data from a separate map server. For example, a provider of a website (e.g., Microsoft Virtual Earth) may obtain map data from a well-known map provider (e.g., Navteq). When the application server receives a request for a map, the application server forwards the request to the map server to obtain the map data. The map data corresponds to a map of the location at a desired level of detail. For example, if the user requests a map of a state, then the map data includes a map of the state zoomed out to a reasonable level that shows major geographic, political, or other features of the state. Alternatively or additional, the map and location data may be stored within a local computer system's storage or read from a disk or removable storage device.
In some embodiments, the mapping system obtains context data related to the map data. The context data can be any information providing a higher-level context to the mapped location. For example, proximate highways, exit numbers, parking lots, bridges, monuments, landmarks, cities, airports, restaurants, gas stations, lodging, transit centers, locations of people or events, user-generated content (such as favorite businesses or geocaches related to an outdoor treasure-hunting game in which the participants use a Global Positioning System (GPS) receiver or other navigational techniques to hide and seek containers called “geocaches” anywhere in the world), and other points of interest are all examples of possible contextual data. The mapping system may obtain the context data from the map server or from a separate provider of context data. For example, many websites on the Internet provide lists of points of interest related to various locations.
In some embodiments, the application server queries a listings database to obtain any additional information (e.g., a specific address) needed to obtain a map and context data related to the location. Those of ordinary skill in the relevant art know the mechanics of utilizing a listings database to obtain such information, and the application thereof within the context of the present invention will be readily apparent to those of such a skill level in light of this specification.
In some embodiments, the map data provides a map at a requested level of detail. The map can be displayed at various levels level of detail, and is typically at a relatively low level of detail such that the user can see streets and other features in the immediate vicinity of the destination. A user can also request to change the level of detail of the displayed map (e.g., zoom-in or zoom-out) or the orientation of the displayed map. As the displayed map is updated, the mapping system updates the displayed symbolic context information to provide context for the mapped location at the displayed level of detail. Of course, these examples simply represent the types of contexts in which the displayed symbolic context information is updated in conjunction with the updating of the displayed map.
The processing of the map data and the context data into a map and symbolic context information with a metadata description of their geographic relationship can be performed at any location in the system, or distributed between multiple components therein. For example, the application server can receive the map and context data from the map server in a format that either is or is not ready to display. The application server can transmit the map and/or context data to the mobile device in a raw format to be further processed by software on the mobile device, or in the form of a map and/or and symbolic context information ready to be displayed.
In some embodiments, a user can select specific displayed symbolic context information (e.g., a highway displayed on the perimeter of the map), and request a map that includes or provides a map to or from the corresponding location (i.e., the location of the highway). In response, the mapping system requests and receives corresponding data and displays a map of that location. The mapping system simultaneously displays symbolic context information with the display of the map.
The following figures illustrate some of the features of the mapping system described above.
The computing device on which the system is implemented may include a central processing unit, memory, input devices (e.g., keyboard and pointing devices), output devices (e.g., display devices), and storage devices (e.g., disk drives). The memory and storage devices are computer-readable media that may be encoded with computer-executable instructions that implement the system, which means a computer-readable medium that contains the instructions. In addition, the data structures and message structures may be stored or transmitted via a data transmission medium, such as a signal on a communication link. Various communication links may be used, such as the Internet, a local area network, a wide area network, a point-to-point dial-up connection, a cell phone network, and so on.
Embodiments of the system may be implemented in various operating environments that include personal computers, server computers, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, programmable consumer electronics, digital cameras, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and so on. The computer systems may be cell phones, personal digital assistants, smart phones, personal computers, programmable consumer electronics, digital cameras, and so on.
The system may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, and so on that perform particular tasks or implement particular abstract data types. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.
From the foregoing, it will be appreciated that specific embodiments of the mapping system have been described herein for purposes of illustration, but that various modifications may be made without deviating from the spirit and scope of the invention. Accordingly, the invention is not limited except as by the appended claims.