Many applications provide users with maps and street-level images. A user is shown a map, and the application provides the user the opportunity to view street-level images of some location shown on the map. In order to access the street-level images, the user normally identifies a point on the map. Upon receiving this identification of a point on the map, the application changes the display so that the map is replaced with a street-level image of the point chosen, along with an inset map, or other small map, that shows an overhead view of where the user is. The inset map, or other small map, is a different map from the one that was being displayed before the user chose to view street-level images.
A user may use an application to locate points on a map. Contextual information may be added to the map that is shown to the user, such as locations that are in the user's contacts list, or locations that are in the user's favorites list, or locations that were identified as a result of a geographic search. While the user is viewing the map, the user may indicate a location on the map at which the user would like to see a street-level image. The application then changes the display to show street-level images instead of the map, and also includes a small map which shows an overhead view of the area that contains the street-level image. The small map may contain some of the area that was shown in the original map that the user was viewing prior to being shown street-level images. Contextual information pertaining to the user or to prior user activity may be added to the small map. For example, the small map may show locations of the user's contacts or favorites, or may show the locations of recent search results. These locations may be indicated on the small map by a graphic of a pin, a balloon, a flag, or some other type of marker. The user may jump from one street-level image to another by indicating the markers shown on the small map, thereby allowing the user to see street-level images of the places on the map that are associated with the contextual information.
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.
Many applications provide users with maps and street-level images. A map may be presented to the user, and the user may request to view street-level images of locations on the map. For example, the user may click on a particular point on the map, or drag an icon of a pedestrian onto a point on the map, or may otherwise indicate a place at which street-level images are to be shown. The application may then display a street level image of the requested location. In order to allow the user to maintain his or her bearings while looking at the street-level images, the application may also show the user a map of the location at the same time that the street-level image of that location is being shown. Since the street-level image is likely to take up much of the display on the user's device, the original map that the user was viewing is not shown; instead, a smaller map is show with the street-level images. The small map is not the same as the original map, and thus may not contain the same information as the original map.
In particular, applications that show maps often place information from the user's context on the map. For example, the user may have performed a search, and may have a list of contacts and/or a list of favorite places. When search results, contacts, or favorites are located within the viewing area of a map, a map application may identify these items on the map—e.g., by placing markers at the locations associated with the items. However, since the small map that is shown with the street-level images is different from the original map, this context information may be lost when the original map is replaced on the display with a small map plus street-level images.
The subject matter herein displays contextual information on a small map that is shown with street-level images, thereby allowing a user to view this contextual information while viewing street-level images. Markers may be placed on the small map showing contextual information, such as prior search results, contacts, or favorites. The user may move from marker to marker by clicking, tapping, or otherwise indicating the marker. When the user clicks on a marker, the street-level view is changed from the current image to an image associated with the location of the marker that the user has indicated. A particular image is shown to a user at a particular angle, where the image and the angle are chosen to represent the location indicated by the user. The image and angle may be chosen based on factors such as which image contains the least blockage of the location to be shown, any user information about that image, and/or any information about where within an image the selected location appears.
Turning now to the drawings,
In addition to showing the search results on map 102, the application also includes information specific to the user. For example, the user may have a list of contacts, and a person named Fred may be one of those contacts. If the address associated with Fred appears within the geographic region depicted by map 102, then Fred's house (location 112) may be shown on the map. Or, as another example, if the user has a list of “favorites”, such locations may be shown on map 102 as well. For example, a user may have a favorites list that includes a business named Sub Pop Records. If that location appears in the geographic region depicted by map 102, then that business (location 114) may appear on map 102. Information such as search results and a user's contacts or favorites may be referred to as context information, or contextual information.
While viewing map 102, a user may click, tap, or otherwise activate a location on the map. In the example shown, the user activates location 106, which is Starbucks.
Map 204 is a different map from map 102 (shown in
In
At 410, a map is shown in response to the request that was received at 402. Various items of contextual information may be shown on the map. For example, if the user has performed a search that resulted in showing a map, then any search results that are associated with a geographic location within the region depicted by the map may be shown on the map (block 412). Or, if any of the user's contacts and/or favorites are associated with locations that are within the region depicted by the map, then those contacts and/or favorites may also be shown on the map (blocks 414 and 416).
At 418, an activation of a location on the map may be received. Examples of activating a location include clicking on the location (or its on-screen marker) with a mouse or other pointing device, tapping on the location or its on-screen marker using a touch screen, using a laser pointer to indicate the location or its on-screen marker with a display technology that can receive indications by laser pointer, indicating location by audio commands, or any other type of input that indicates that a system interprets to mean that the user wishes to activate the location.
After the user activates a location, street-level images of the chosen location are shown at 420. Prior to showing the street-level images, the content of the display on the user's device may be dominated by a map. After the user activates a location, the content of that display may be replaced by the street-level images. The process of showing a street level image may include choosing an image (at 422) and choosing an angle at which to show the image (at 424). (Note that street-level images are often taken in cylindrical or dome views, and thus, from a given photograph, a particular angle is chosen to project a portion of the cylindrical or dome view image onto a flat or nearly-flat display.) The choice of image and/or angle may be made using user data and/or visual analysis (block 426). For example, suppose the location is a particular restaurant. Users may previously have expressed their opinions as to which image, and which angle of a particular image, accurately represent a view of the restaurant. These user-sourced, or crowd-sourced, data may be used to choose an image to be shown to the user and/or an angle at which the image is to be shown. This type of user data may be particularly helpful in the case where a location is not adequately identified by its street address, such as where the street address of a restaurant is actually the street address of a shopping mall in which the restaurant is located and the restaurant itself is located quite far from the street. In addition to user user-sourced or crowd sourced data, a system may use a visual analysis of the images to identify which images contain occlusions (e.g., cars or trucks in front of the location to be shown), which images are too blurry to show, or which images have poor lighting. These types of analyses may be made by machine rather than using user-sourced or crowd-sourced opinions, although such human-sourced information may supplement the machine analysis of the images.
At 428, a inset map or other small map is shown along with the street-level image. This small map is a distinct map from the map that was presented at 410, although both maps may having some overlap in the regions that they depict. At 430, 432, and 434, the small map may be populated with contextual information such as search results, favorites, and/or contacts. This contextual information that is shown on the small map be the same contextual information that was used to populate the map that had been presented at 410. It is noted that populating a second map with the some of the same contextual information that had been used to populate a first map is not the same as showing a copy of the first map on which the information had been populated. The maps that are shown at 410 and 428 are two separate maps that are populated with contextual information separately.
At 436, a user may perform point-to-point navigation, which includes changing of the street-level images. The activation of Sub Pop Records in
Computer 600 includes one or more processors 602 and one or more data remembrance components 604. Processor(s) 602 are typically microprocessors, such as those found in a personal desktop or laptop computer, a server, a handheld computer, a phone, a tablet, or another kind of computing device. Data remembrance component(s) 604 are components that are capable of storing data for either the short or long term. Examples of data remembrance component(s) 604 include hard disks, removable disks (including optical and magnetic disks), volatile and non-volatile random-access memory (RAM), read-only memory (ROM), flash memory, magnetic tape, etc. Data remembrance component(s) are examples of computer-readable storage media. Computer 600 may comprise, or be associated with, display 612, which may be a cathode ray tube (CRT) monitor, a liquid crystal display (LCD) monitor, or any other type of monitor.
Software may be stored in the data remembrance component(s) 604, and may execute on the one or more processor(s) 602. An example of such software is contextual map navigation software 606, which may implement some or all of the functionality described above in connection with
The subject matter described herein can be implemented as software that is stored in one or more of the data remembrance component(s) 604 and that executes on one or more of the processor(s) 602. As another example, the subject matter can be implemented as instructions that are stored on one or more computer-readable media. Such instructions, when executed by a computer or other machine, may cause the computer or other machine to perform one or more acts of a method. The instructions to perform the acts could be stored on one medium, or could be spread out across plural media, so that the instructions might appear collectively on the one or more computer-readable media, regardless of whether all of the instructions happen to be on the same medium.
The term “computer-readable media” does not include signals per se; nor does it include information that exists solely as a propagating signal. It is noted that there is a distinction between media on which signals are “stored” (which may be referred to as “storage media”), and—in contradistinction—media that exclusively transmit propagating signals without storing the data that the signals represent. DVDs, flash memory, magnetic disks, etc., are examples of storage media. On the other hand, the fleeting, momentary physical state that a wire or fiber has at the instant that it is transmitting a signal is an example of a signal medium. (Wires and fibers can be part of storage media that store information durably, but information that exists only as the fleeting excitation of electrons in a wire, or only as the pulse of photons in a fiber, constitutes a signal.) It will be understood that, if the claims herein refer to media that carry information exclusively in the form of a propagating signal, and not in any type of durable storage, such claims will use the term “signal” to characterize the medium or media (e.g., “signal computer-readable media”, or “signal device-readable media”). Unless a claim explicitly uses the term “signal” to characterize the medium or media, such claim shall not be understood to describe information that exists solely as a propagating signal or solely as a signal per se. Additionally, it is noted that “hardware media” or “tangible media” include devices such as RAMs, ROMs, flash memories, and disks that exist in physical, tangible form, and that store information durably; such “hardware media” or “tangible media” are not signals per se, are not propagating signals, and these terms do not refer media in which information exists exclusively as a propagating signal. Moreover, “storage media” are media that store information. The term “storage” is used to denote the durable retention of data. For the purpose of the subject matter herein, information that exists only in the form of propagating signals is not considered to be “durably” retained. Therefore, “storage media” include disks, RAMs, ROMs, etc., but does not include information that exists only in the form of a propagating signal because such information is not “stored.”
Additionally, any acts described herein (whether or not shown in a diagram) may be performed by a processor (e.g., one or more of processors 602) as part of a method. Thus, if the acts A, B, and C are described herein, then a method may be performed that comprises the acts of A, B, and C. Moreover, if the acts of A, B, and C are described herein, then a method may be performed that comprises using a processor to perform the acts of A, B, and C.
In one example environment, computer 600 may be communicatively connected to one or more other devices through network 608. Computer 610, which may be similar in structure to computer 600, is an example of a device that can be connected to computer 600, although other types of devices may also be so connected.
In one example, the subject matter herein provides a computer-readable medium that stores executable instructions to provide street images to a user, where executable instructions, when executed by a computer, causing the computer to perform acts that comprise displaying a first map to a user on a display, the first map including user-specific context information; receiving, from the user, an indication that the user requests to see a street image of a first location shown on the map; displaying the street level image of the first location together with a second map on a single display, the second map being distinct from the first map; and showing the user-specific context information, or a portion of the user-specific context information, on the second map. The user specific context information may comprise results of a search performed by the user, items from a contacts list of the user, or businesses, entities, or locations from a list of favorites of the user. In one example, the user-specific context information may a second location, and the acts may further comprise receiving, from the user, an indication that the second location has been activated on the second map; and changing the display to show street images of the second location instead of the first location in response to the indication. In another example, the indication that the second location has been activated may comprise using a touch screen to tap on the second location, or on a marker associated with the second location, the second map being displayed on the touch screen, the touch screen being contained in a device that comprises the processor, activation of the second location on the second map allowing reduced use of the touch screen by avoiding the use of commands to return the display to the first map. In another example, the acts may further comprise choosing the street image, or an angle at which to view the street image, based on user-sourced data of the street image and visual analysis of the street image.
In another example, the subject matter herein may provide a method of providing street images to a user, where the method comprises using a processor to perform acts comprising displaying a first map to a user on a display, the first map including user-specific context information; receiving, from the user, an indication that the user requests to see a street image of a first location shown on the map; displaying the street image of the first location together with a second map on a single display, the second map being distinct from the first map; showing the user-specific context information on the second map, the user-specific context information including a second location; receiving, from the user, an indication that the second location has been activated on the second map; and changing the display to show street images of the second location instead of the first location in response to the indication. The user-specific context information may comprise results of a search performed by the user, items from a contacts list of the user, or businesses, entities, or locations from a list of favorites of the user. The second location may be activated by use of a pointing device to click on the second location on the second map, or on a marker associated with the second location on the second map. The second location may be activated by using a touch screen to tap on the second location, or on a marker associated with the second location, the second map being displayed on the touch screen, the touch screen being contained in a device that comprises the processor, activation of the second location on the second map allowing reduced use of the touch screen by avoiding the use of commands to return the display to the first map. In one example, the method may further comprise choosing the street image, or an angle at which to view the street image, based on user-sourced data of the street image and visual analysis of the street image.
In another example, the subject matter herein provides a system for providing street images to a user, where the system comprises a memory, a processor, a display, and a component that is stored in the memory, that executes on the processor, that displays a first map to a user on the display, the first map including user-specific context information, the component receiving, from the user, an indication that the user requests to see a street image of a first location shown on the map, the component displaying the street image of the first location together with a second map on the display, the second map being distinct from the first map, the component showing the user-specific context information on the second map, the user-specific context information including a second location, the component receiving, from the user, an indication that the second location has been activated on the second map, and the component changing the display to show street images of the second location instead of the first location in response to the indication. The user-specific context information may comprise results of a search performed by the user, items from a contacts list of the user, or businesses, entities, or locations from a list of favorites of the user. Activation of the second location may be made by use of a pointing device to click on the second location on the second map, or on a marker associated with the second location on the second map. Activation of the second location may be made using the touch screen to tap on the second location, or on a marker associated with the second location, the second map being displayed on the touch screen, activation of the second location on the second map allowing reduced use of the touch screen by avoiding the use of commands to return the display to the first map.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.