Each of the following applications are hereby incorporated by reference: application Ser. No. 15/990,957, filed on May 29, 2018, issued as U.S. Pat. No. 10,753,762; and application No. 62/514,547 filed on Jun. 2, 2017. The Applicant hereby rescinds any disclaimer of claim scope in the parent application(s) or the prosecution history thereof and advises the USPTO that the claims in this application may be broader than any claim in the parent application(s).
The disclosure generally relates to providing map related features concerning venues in a map application.
Mobile devices, such as smart phones, tablet computers, smart watches, and other computing devices, often include applications that provide interfaces that allow users to utilize services from network service providers. An example of such applications and/or services is map and/or navigation related applications and/or services. For example, while a user is using a map application on a mobile device, the map application can use a network connection (e.g., Internet connection) to obtain map data (e.g., map images, points of interest, etc.) for the mobile device's current location from a map service over the network connection. The map application can then provide various map related services to the user using the map data received from the map service.
These applications allow a user to view a map of an area in the proximity of the user. The map may identify venues such as stores, malls, office buildings and/or airports, to name a few. The user may select a venue and retrieve driving directions thereto. Typical map applications also allow a user to search for a place or address and obtain driving directions to one or more search results. These application, however, do not provide an inside view of a venue or the type of and/or layout of points of interest within the venue. An inside view of the venue could aid the user in determining if the venue is really where the user wants to go or if another venue is available to meet the user's needs. Thus, there is a need and desire for a map application that provides an inside view of a venue located and/or identified by the map application.
Moreover, there is a need and desire for a map application that presents the inside view of venue in a manner that is easy for the user to search for and identify and navigate to points of interest within the venue. The inside view of the map application should also be accessible by other applications and programs on the user's device to enhance the user's experience with those applications and programs.
In some implementations, a computing device can provide a map application providing a representation of a physical structure of venues (e.g., shopping centers, office buildings, airports). In addition, the application can provide an inside view that includes the physical layout and geometry of the venue's structure as well as the location, structure and layout of points of interest (e.g., stores, restaurants, offices, security check points, restrooms) within the venue. The views become more detailed as the user zooms into the venue to reveal points of interest and to give the user a feel for traversing the venue.
In some implementations, the map application can provide a unique venue directory, providing an easy and visual mechanism to search for categories of points of interest (e.g., clothes, food, restrooms) or specific items within the venue. Search results can be presented on a map of a floor within the venue as well as a listing providing all search results located within the venue.
In some implementations, the inside view of the map application is accessible by other applications and programs on the user's device. Thus, whether intended or not, search results that are identified by the map application as having an inside view of the venue are also presented on a graphical user interface along with typical search results from the other applications.
In some implementations, the map application provides a route and/or turn-by-turn navigation instructions to a destination within a venue comprising one or more floors when desired by the user. The map application can provide an indoor overview navigation mode whereby the route is shown on the one or more floors, including routing through floor connecting devices (e.g., elevators, escalators, stairs). The presentation of the route and venue structures are adjusted to ensure that the indoor navigation route is not hidden from view while the user is traversing the route.
In some implementations, the map application can provide a context driven presentation in an indoor turn-by-turn navigation mode. The map application can present a graphical view of a route and maneuvers as seen from a point of view of a virtual camera. The map application can determine changes in the navigation context of the user's position, upcoming maneuvers and/or venue structure and dynamically modifies the way the virtual camera captures and presents portions of the indoor scene to produce different navigation scenes in the turn-by-turn navigation presentation for the venue.
Particular implementations provide at least the following advantages. The structural layout and location of points of interest within a venue may be inspected using an indoor map even before a user enters the venue. Thus, providing the user with a mechanism for searching for, identifying and navigating to points of interest whether the user is inside the venue or miles away. Particular implementation of the map application's venue directory provides a drastic improvement over traditional directories (such as the ones currently found in malls and airports) as the directory is organized by categories and category selectors that are color coded and described textually in the same manner that the points of interest are represented and identified on a venue map.
Particular implementations of the map application enhance the searching and browsing of external applications and programs by providing these external applications access to the inside views of venues from the map application.
Details of one or more implementations are set forth in the accompanying drawings and the description below. Other features, aspects, and potential advantages will be apparent from the description and drawings, and from the claims.
Like reference symbols in the various drawings indicate like elements.
In some implementations, server device 102 can include map service 104. For example, map service 104 can be a software server that provides backend processing for a map service provider. Map service 104 can, for example, obtain map data (e.g., map images, points of interest, navigation and/or routing information, etc.) from map data database 106 and send the map data to various client devices (e.g., user device 130) so that the client devices present maps and/or navigation information to the users of the client devices. For example, map service 104 can send map data to a client device while the client device is connected to server device 102 through network 120 (e.g., the Internet). The client device can present the map data to the user using a map or navigation application on the client device.
In some implementations, user device 130 can be a computing device, such as a laptop computer, smart phone, tablet computer, and the like. User device 130 can be a wearable device, such as a smart watch, smart glasses, etc. User device 130 can be a media device, such as a streaming media device, media player, automobile entertainment system, etc. User device 130 can be a client device that connects to network 120 to obtain map data, as described herein.
In some implementations, user device 130 can include map application 132. For example, map application 132 can provide features that allow the user to search for and/or specify a destination. In one implementation, the map application 132 allows the user to search for particular venues and/or items within particular venues and/or venues in a proximity to user device 130. Map application 132 can provide features that allow the user to view representations of maps corresponding to the user's current location, maps corresponding to a location associated with search results or other points of interest, and/or maps corresponding to a destination location or geographical area selected by the user. Map application 132 can receive user input requesting a route to the destination and map application 132 can present a route from a start location (e.g., the current location of user device 130, a user-specified location, etc.) to the specified destination.
Moreover, map application 132 can provide a representation of a physical structure of venues (e.g., shopping centers, airports). In addition, and as discussed below, application 132 can provide a view of the interior of the venue that includes the physical layout and geometry of the venue's structure as well as the location, structure and layout of points of interest (e.g., stores, restaurants, security check points, restrooms) within the venue. The views can become more detailed as the user zooms into the venue to reveal points of interest. In some implementations, the view of the interior of the venue can include outdoor walking spaces or courtyards that are included in some types of venues.
In some implementations, map application 132 can provide a unique venue directory providing a visual mechanism to search for categories of points of interest (e.g., clothes, food, restrooms) or specific items within the venue. Search results can be presented on a map of a floor within the venue as well as a listing providing all search results located within the venue. In some implementations, the inside view provided by map application 132 can be accessible by other applications and programs on the user's device such as e.g., user device 130.
In some implementations, GUI 200 can include a tray 220 having graphical element 222 for searching for a place or address. For example, graphical element 222 can be a text input control. When the user selects graphical element 222, user device 130 can present a virtual keyboard that the user can use to enter textual search parameters. After receiving the search parameters, map application 132 can send the search parameters to map service 104 on map server 102. Map service 104 can return locations matching the search parameters as search results. Map application 132 can present the search results on the display of user device 130 (discussed below in more detail). When presenting search results, map 202 can be updated to represent an area around the location of the search results.
In some implementations, GUI 200 can also include first control 212 allowing the user to change map settings for map application 132. The GUI 200 can also include second control 214 allowing the user to change the orientation of map 202, if desired.
The GUI 300 can show a 2D map 202 similar to the one illustrated in
Details of 3D structure 306, label 308 and selector 312 are contained in the map data provided from map server 102 over network 120 to user device 130 and processed by map application 132. The map data can be sent when the user performs the zoom-in operation or it can be pre-sent to user device 130 and stored on device 130 while a prior GUI (e.g., GUI 200) is presented on the display. The present disclosure should not be limited to any particular technique or timing for sending the map data to user device 130.
In some implementations, 3D structure 406 and points of interest 414 are introduced by an animation. For example, 3D structure 406 and points of interest 414 can be introduced as rising from the ground/floor, dropping from the ceilings, passing through a virtual roof if one is presented on the prior GUI. If the user continues to zoom-in, 3D structure 406 and points of interest 414 can continue to be animated or highlighted, establishing their presence in GUI 400. Animation could also be introduced as a user zooms-out. For example, 3D structure 406 and points of interest 414 could appear to be shrinking, falling into the ground, lifted from the ground, exiting through a virtual roof, being covered by the virtual roof and/or eventually becoming represented as 2D objects or simply disappearing from view. Animation can be provided for any zoom-in or zoom-out operation for any of the venue structures disclosed herein and for any GUI discussed herein, particularly when structure is added or more detail about the venue, its layout and points of interest is being provided.
In GUI 400, venue 204 is still identified by its corresponding textual label 308 and still contains selector 312, indicating that the user may look inside venue 204 (e.g., via an indoor map for venue 204) by selecting selector 312. In some implementations, the user may look inside venue 204 by continuing to zoom-in on venue 204.
In some implementations, labeling of points of interest may be displayed differently based on e.g., the POI's relative size in comparison to other POIs in the venue or whether the POI labeling will occlude another POI or POI labeling. The following is a general description of how POIs are labeled and aligned on map 502, but details of POI presentation, labeling, placement with respect to other POIs and the venue in general, and other processing are discussed below in more detail (see “POI Density” section below).
POI 510, for example, is illustrated by a representation of its physical structure 512 and a POI indicator, which in the illustrated example is POI dot 514. The disclosed embodiments should not be limited to indicators that are dots and that other types of indicators such as letters, arrows, icons, symbols, or graphical elements could be used instead of a dot. As will be discussed below in more detail, POI dot 514 is positioned at a front portion of structure 512 facing walkway 412, but slightly offset from walkway 412.
POI 520, for example, is illustrated by a representation of its physical structure 522, POI category indicator 524 and textual label 526 describing POI 520 as “Starbucks,” by way of example. In the illustrated implementation, since physical structure 522 of POI 520 is relatively small in comparison to other larger POIs, such as e.g., POI 530, POI category indicator 524 is positioned at a front portion of structure 522 facing walkway 412, but slightly offset from walkway 412.
POI 530, for example, is illustrated by a representation of its physical structure 532, POI category indicator 534 and textual label 536 describing POI 530 as “Bloomingdales,” by way of example. In the illustrated implementation, since physical structure 532 of POI 530 is relatively large in comparison to other POIs, such as e.g., POIs 510 and 520, category indicator 534 is positioned in the approximate center of structure 532. In addition, since physical structure 532 of POI 530 is relatively large in comparison to other POIs, POT 530 could have its own indoor map (i.e., a venue sub-map or POI specific indoor map).
In some implementations, POI dots (e.g., POI dot 514) and POI category indicators of smaller-sized POIs (e.g., POI category indicator 524) are positioned to align with neighboring POI dots and POI category indictors in one direction that aligns with their respective entrances. This provides a uniform representation of POIs on indoor map 502. Floor indicator 540 is used to show what floor or level displayed POI 510, 520 and 530 are within structure 506 of venue 204. Other POIs shown on map 502 (but not labeled or “hidden”) can be identified in one of the manners described above for POIs 510, 520 and 530.
In addition to, or alternatively, and as will be discussed below in more detail, in some implementations the initial displayed set of POIs can be customized to match a user's prior experience in venue 204. For example, map application 132 can maintain a user set default/preference for which POIs should be displayed in the initial set of POIs. In addition to or alternatively, the application 132 can maintain a list of POIs that the user last visited, or visited more frequently, which can then be used as the initially displayed POIs. In some implementations, the application 132 can display a set of most popular POIs for all visitors of venue 204. This information can be e.g., retrieved from map server 102 along with map data in the same manner as discussed above.
GUI 500 also includes placecard 550 for venue 204. In some implementations, placecard 550 includes information 552 (e.g., name, type of venue, link to an online review) about venue 204. If user device 130 is not within venue 204 at that time, field 554 for retrieving driving directions is also presented in placecard 550. The location of user device 130 can be determined e.g., by GPS, Wi-Fi fingerprint maps, beacons, or other known techniques.
In some implementations, placecard 550 also includes venue directory 560 containing one or more POI category selectors 562, 564, 566 and 568. Each POI category selector 562, 564, 566 and 568 is associated with a category (e.g., clothes, food, department store, restroom, etc.) that the various POIs of venue 204 have been grouped into. The type of venue dictates the number of and type of categories to be presented by directory 560 and that the disclosed embodiments should not be limited to any number of or type of category for directory 560 or any directory illustrated herein.
By way of example only, category selector 562 can be used to select a category of POIs associated with clothing, category selector 564 can be used to select a category of POIs associated with department stores, category selector 566 can be used to select a category of POIs associated with home goods, and category selector 568 can be used to select a category of POIs associated with “all shops” at venue 204. In some implementations, POI category selectors 562, 564, 566 and 568 of venue directory 560 are color coded (i.e., each one has its own color). In addition, the colors of the POI dots 514 and POI category indicators 524 and 534 are selected to match the colors of POI category selectors 562, 564, 566 and 568 used in venue directory 560. In some implementations, POI dots 514 and POI category indicators 524 and 534 will have colors based on their respective categories regardless of whether venue directory 560 is displayed or not. As will be explained below in more detail, venue directory 560 can be used by a user to a specific category of POIs to search for, browse and/or obtain more information about the POIs present in venue 204.
In some implementations, the structures shown in 3D view 602 will be introduced by an animation giving the appearance that e.g., they arise from the floor of venue 204 or drop in from the ceiling, pass through a virtual roof, as discussed above. This type of animation can occur in any GUI described herein when a structure is shown in more detail e.g., by zooming-in on the structure. The animation can also include the removal of the roof portions when a structure is opened to reveal its contents (e.g., for the transition of the view venue 204 from GUI 300 to GUI 400). If the user continues to zoom-in, the structures shown in 3D view 602 can continue to be animated or highlighted, establishing their presence in GUI 600. Animation could also be introduced as a user zooms-out. For example, the structures shown in 3D view 602 could appear to be shrinking, falling into the ground, lifted from the ground and/or eventually becoming represented as 2D objects or hidden from view entirely.
In some implementations, GUI 600 also includes placecard 650. Placecard 650 is shown in its pulled-down state such that only an identifying label 652 is presented on the display. Placecard 650 could be pulled-up by a user to review other options (e.g., venue directory) available on GUI 600.
While GUI 600 is being presented to the user, the user is capable of selecting a POI by touching its representation on 3D view 602. By way of example, the user desires to select POI 610 and may do so by any means allowable on user device 130.
In some implementations, placecard 720 associated with POI 610 is presented to the display upon selection of POI 610. In some implementations, the placecard 720 includes information 722 (e.g., name, type of POI, link to an online review) about selected POI 610 and ways for contacting the POI (e.g., phone number, text message number or link, instant message link, etc.). If user device 130 is not within venue 204 at the time, field 724 for retrieving driving directions is also presented in placecard 720. Field 724 can be suppressed entirely if the user is inside the venue or it can be replaced by a “get directions” for indoor routing directions as discussed below (see “Indoor Venue Routing” section). In addition, placecard 720 can include and graphics/images 726 associated with POI 610. The information used to populate placecard 720 can be retrieved from map service 104 upon selection of POI 610. In addition to, or alternatively, the information used to populate placecard 720 can be retrieved from map service 104 or another service (e.g., an online service) while GUI 600 or another GUI is presented on the display of user device 130.
In some implementations, GUI 800 can include a tray 820 having graphical element 822 for searching for a place or address. For example, graphical element 822 can be a text input control. When the user selects graphical element 822, user device 130 can present a virtual keyboard that the user can use to enter textual search parameters. After receiving the search parameters, map application 132 can send the search parameters to map service 104 on map server 102. Map service 104 can return locations matching the search parameters as search results. Map application 132 can present the search results on the display (discussed below in more detail). When presenting search results, map 802 can be updated to represent an area around the location of the search results.
In some implementations, GUI 800 can also include first control 812 allowing the user to change map settings for the map application 132. The GUI 800 can also include second control 814 allowing the user to change the orientation of map 802, if desired.
GUI 900 also presents a first zoomed-in representation of venue 904 previously shown in GUI 800. In this representation, venue 804 is now identified by 3D structure 906 representing venue 804's physical structure and location and layout on the zoomed-in map 802. Structure 906 includes roof 910 and walls 911. Venue 804 is also identified by its corresponding textual label 908, which may or may not be a modified version of label 808 from GUI 800. Moreover, venue 804 now contains selector 912 indicating that the user may look inside venue 804 via an indoor map by selecting selector 912. In some implementations, the user may look inside venue 804 by continuing to zoom-in on venue 804. In some implementations, as discussed in more detail below, the indoor map will present the structural geometry of the inside floor plan for venue 804 as well as the identification of points of interest (e.g., stores, security check points, restrooms, etc.) within venue 804.
In some implementations, structure 906 including roof 910 and walls 911 will be introduced by an animation giving the appearance that e.g., they arise from the floor of venue 804 or drop in from the sky, as discussed above. This type of animation can occur in any GUI described herein when a structure is shown in more detail e.g., by zooming-in on the structure. If the user continues to zoom-in, the structures shown in GUI 900 can continue to be animated or highlighted, establishing their presence in GUI 900. Animation could also be introduced as a user zooms-out. For example, the structures shown in GUI 900 could appear to be shrinking, falling into the ground, lifted from the ground and/or eventually becoming represented as 2D objects or hidden from view entirely.
Details of 3D structure 906, label 908 and selector 912 are contained in the map data provided from map server 102 over network 120 to user device 130 and processed by map application 132. The map data can be sent when the user performs the zoom-in operation or it can be pre-sent to user device 130 and stored on device 130 while a prior GUI (e.g., GUI 800) is presented on the display. The present disclosure should not be limited to any particular technique or timing for sending the map data to user device 130.
In some implementations, as discussed below in more detail, points of interest may be displayed differently based on e.g., their relative size in comparison to other POIs in the venue 804, whether they will occlude other POIs, or by the type of category of POI. POI 1020, for example, is illustrated by a representation of its physical structure 1022, POI category indicator 1024 and textual label 1026 describing POI 1020 as “Terminal 3,” by way of example. Because POI 1020 is a terminal, its category indicator 1024 is positioned at a far end of structure 1022 away from walkway 1012. POI 1030, for example, is illustrated by a representation of its physical structure 1032, POI category indicator 1034 and textual label 1036 describing POI 1030 as “Angel City Brewing,” by way of example. Since POI 1030 is a restaurant within a terminal of venue 804, its POI category indicator 1034 placed at an approximate location within terminal 1 on map 1002. POI 1040, for example, is illustrated by a representation of its physical structure 1042 and POI category indicator 1044. POI 1040 is a parking structure between the terminals in venue 804. Other POIs shown on map 1002 would be identified in one of the manners described above for POIs 1020, 1030 and 1040.
GUI 1000 also includes placecard 1050 for venue 804. In some implementations, placecard 1050 includes information 1052 (e.g., name, type of venue) about venue 804. If the user device 130 is not within venue 804 at the time, field 1054 for retrieving driving directions is also presented in placecard 1050.
In some implementations, placecard 1050 also includes venue directory 1060 containing one or more POI category selectors 1062, 1064 and 1066 and search selector 1068. Each POI category selector 1062, 1064 and 1066 is associated with a category (e.g., terminals, shops, food, restroom, etc.) that the various POIs of venue 804 have been grouped into. The type of venue dictates the number of and type of categories to be used in directory 1060 and that the disclosed embodiments should not be limited to any number of or type of category for directory 1060 or any directory illustrated herein.
By way of example only, category selector 1062 can be used to select a category of POIs associated with terminals, category selector 1064 can be used to select a category of POIs associated with shops and category selector 1066 can be used to select a category of POIs associated with places to buy food. Search selector 1068 can be used by a user to initiate a manual search for a category or specific POI within venue 804 (as will be discussed below in more detail). In some implementations, POI category selectors 1062, 1064 and 1066 of venue directory 1060 are color coded (i.e., each one has its own color). In addition, the colors of the POI category indicators 1024, 1034 and 1044 are selected to match the colors of POI category selectors 1062, 1064 and 1066 used in venue directory 1060. As will be explained below in more detail, venue directory 1060 can be used by a user to a specific category of POIs to search for, browse and/or obtain more information about the POIs present in venue 804.
In the illustrated example, Venue 804 includes POIs 1020, 1030 and 1040 illustrated in map 1002 that may each have their own indoor map (i.e., a venue sub-map or POI specific indoor map). For example,
In the illustrated example, POI 1130 includes POI category indicator 1134 and textual label 1136 describing POI 1130 as “Gladstone's 4 Fish,” by way of example. POI 1140 is a terminal gate, for example, and is merely represented by gate indicator 1142 at an appropriate position within POI 1020 (i.e., terminal 3).
POI 1020 is also shown with selector 1128 for allowing the user to look inside and see an even more detailed inside view of POI 1020 (discussed in more detail with respect to GUI 1200).
GUI 1100 also includes placecard 1150 for POI 1020 (i.e., terminal 3). In some implementations, placecard 1150 includes information 1152 (e.g., name, type of POI, etc.) about POI 1020 or venue 804. Placecard 1150 is shown in its pulled-down state, but could include other information or links similar to other placecards discussed herein. In addition, GUI 1100 includes floor indicator 1160 alerting the user that the structures and POIs illustrated on GUI 1100 are from a particular floor of POI 1020.
POI 1220, for example, is illustrated by a representation of its physical structure 1222, POI dot 1224 and textual label 1226 describing POI 1220 as “Security Checkpoint,” by way of example. Because POI 1020 is a checkpoint, its POI dot is at a front portion of structure 1222 next to walkway 1212. POI 1240, for example, is illustrated by a representation of its physical structure 1242 and gate indicator 1244. Other POIs shown on map 1202 would be identified in one of the manners described herein.
GUI 1200 also includes placecard 1250 for POI 1020. In some implementations, placecard 1250 includes information 1252 (e.g., name, type of POI) about POI 1020. If user device 130 is not within POI 1020, field 1254 for retrieving driving directions is also presented in placecard 1250. In some implementations, placecard 1250 also includes POI directory 1260 containing one or more POI category selectors and a search selector, similar to the directories discussed above. As with other directories described herein, POI category selectors of directory 1260 are color coded (i.e., each one has its own color) and the colors of POI category dots 1224 and indicators 1244 are selected to match the colors of POI category selectors used in directory 1260.
Map 502 shown on GUI 1300 includes current location puck 1301 showing the user's current location (i.e., location is user device 130) on map 502. GUI 1300 also illustrates POIs 510, 520 and 530 that are on level/floor 2 of venue 204 as reflected by floor indicator 1340. Puck 1301, as well as any current location puck discussed herein, can be updated and or moved at a rate suitable for an indoor application to avoid jitter or other display issues. Accordingly, in some implementations, puck 1301 is updated at a slower rate than a rate used to update a location puck for an outdoor map or navigation application.
GUI 1300 also includes tray 1350. In some implementations, tray 1350 includes graphical element 1352 for searching for a place or address. For example, graphical element 1352 can be a text input control. When the user selects graphical element 1352, user device 130 can present a virtual keyboard that the user can use to enter textual search parameters. After receiving the search parameters, map application 132 can send the search parameters to map service 104 on map server 102. Map service 104 can return locations matching the search parameters as search results. Map application 132 can present the search results on the display of user device 130 (discussed below in more detail).
In some implementations, when a user is outside the venue 204, tray 1350 also includes a selectable link 1354 to the venue's placecard (shown in
GUI 1400 also includes placecard 1450 having venue directory 1460 containing one or more POI category selectors 1462, 1464, 1466, 1468, 1470, 1472 and 1474. Each POI category selector 1462, 1464, 1466, 1468, 1470, 1472 and 1474 is associated with a category (e.g., clothes, fashion, department stores, food, drinks, restrooms, etc.) that the various POIs of venue 204 have been grouped into. The type of venue dictates the number of and type of categories to be used in directory 1460 and that the disclosed embodiments should not be limited to any number of or type of category for directory 1460 or any directory illustrated herein. In addition, the type of categories can be chosen based on the types of POIs within the venue. Venue directory 1460 also comprises search selector 1476. Search selector 1476 can be used by a user to initiate a manual search for a category or specific POI within venue 204.
By way of example only, category selector 1462 can be used to select a category of POIs associated with clothing, category selector 1464 can be used to select a category of POIs associated with fashion, category selector 1466 can be used to select a category of POIs associated with department stores, category selector 1468 can be used to select a category of POIs associated with “all shops” at venue 204, category selector 1470 can be used to select a category of POIs associated with places to eat/purchase food, category selector 1472 can be used to select a category of POIs associated with places to drink/purchase drinks, and category selector 1474 can be used to select a category of POIs associated with restrooms. Although not shown, other categories could include e.g., gates, security checkpoints and baggage claims.
In some implementations, POI category selectors 1462, 1464, 1466, 1468, 1470, 1472 and 1474 of venue directory 1460 are color coded (i.e., each one has its own color). In addition, the colors of the POI dots 514 and POI category indicators 524 and 534 are selected to match the colors of POI category selectors 1462, 1464, 1466, 1468, 1470, 1472 and 1474 used in venue directory 1460. In some implementations, POI dots 514 and POI category indicators 524 and 534 will have colors based on their respective categories regardless of whether venue directory 1460 is displayed or not.
As can be appreciated, venue directory 1460 can be used by a user to a specific category of POIs to search for, browse and/or obtain more information about the POIs present in venue 204. In the following example, the user has selected POI selector 1462, initiating a search for clothing stores within venue 204.
Map 502 includes the structure and layout for the current floor as identified by floor indicator 1340, as previously described, but with the difference that only POIs 1510, 1520 and 1530 and other unlabeled POIs corresponding to the selected POI category (e.g., clothes) for the current floor are displayed. POIs not associated with the selected POI category (e.g., clothes) are not identified on map 502 (e.g., the POI dots/indicators are not visible) although their physical structure and layout remain. Likewise, POIs not on the indicated floor, whether corresponding to the selected category or not, are not displayed on map 502.
Points of interest matching the selected category and found on the current floor can be identified in many ways on map 502. For example, POI 1510 is represented by physical structure 1512, POI category indicator 1514 and textual label 1516 describing POI 1510 as “Bloomingdales,” by way of example.
POI 1520, on the other hand, is represented by physical structure 1522, POI result indicator 1524, textual label 1526 describing POI 1520 as “Superdry,” by way of example, and textual label 1528 containing the phrase “+2 more.” As can be appreciated POI result indicator 1524 provides information that more than one POI matching the selected category is found at or within structure 1522. In the illustrated example, POI result indicator 1524 is a graphic with the number 3 in it, meaning that 3 POIs matching the selected category are found at or within structure 1522. To prevent cluttering of map 502, only one POI associated with POI 1520 has textual label 1526 describing the POI'S name. Textual label 1528 alerts the user that “2 more” POIs are also present, in addition to “Superdry.” In some implementations, a user can zoom-in on this region to make the other POIs visible.
POI 1530, for example, is merely represented by physical structure 1532 and POI dot 1534. As discussed previously, in some implementations POI category indicator 1514, POI result indicator 1524 and POI dot 1534 are shown in a color that matches the color of the selected POI category (i.e., shown in the same color as POI selector 1462). POI indicator 1514, POI result indicator 1524 and POI dot 1534 could be animated (e.g., flashing, spinning, bouncing up and down) to draw the user's attention to the POIs matching the selected category. Other POIs matching the selected POI category shown on map 502 can be identified in one of the manners described above for POIs 1510, 1520, or 1530.
GUI 1500 also includes placecard 1550 of all search results matching the selected POI even if the POI is on a different floor of venue 204. Placecard 1550 includes field 1552 containing information describing the search results. In the present example, field 1552 includes graphic 1553 representing the selected category (e.g., using the same graphic as POI category indicators and selectors discussed above), textual label 1554 describing the search results as “Clothes at Westfield.” With this information, the user is reminded of what category search was performed. Although not shown, a second textual label could be presented to describe the total number of search results and the number of results found for the current floor. With this additional information, the user is informed of how many POIs matching the searched category were found and what matching POIs are on the current floor.
Placecard 1550 also contains a listing of POI search results 1560 and 1570 in e.g., alphabetical order. In some implementations, the listing of POI search results 1560 and 1570 can be in a different order such as e.g., organized by floor, or personalized based on prior user activity at venue 204, information included on the user's device (e.g., loyalty card information in emails, text messages, contacts), calendar information identifying the venue, a particular POI, etc., or a store credit card enrolled in Apple pay or another electronic wallet application. POI search result 1560, for example, includes field 1562 comprising information (e.g., name, type of venue, floor indication, link to an online review) about POI and graphic 1564 illustrating or being associated with the POI. POI search result 1570, as well as other search results in placecard 1550 can contain the same type of information.
In some implementations, placecard information concerning some, but not all, of POI search results 1560 and 1570 are transmitted to user device 130 and stored by map application 132 in response to the user's selection of a POI selector (e.g., POI selector 1462 of GUI 1400). For example, map data received from map server 102 may contain placecard information about the first 25 POI search results, which will speed up the transmission between server 102 and user device 130. In addition, transferring less than all of the information will lighten the load on user device 130 and preserve memory resources and battery power of device 130. Placecard information for other POIs may be retrieved when a specific POI is selected from the placecard 1560 or the list is scrolled past the first 25 POI search results. Information about more or less than 25 POI search results can be received from map server 102 in response to the user's selection of a POI selector (e.g., POI selector 1462 of GUI 1400) and the embodiments disclosed herein are not to be so limited.
In some implementations, placecard 1550 also includes filters 1580 for limiting the amount of results presented to the user. For example, filter 1582 is identified as “All”, meaning that all search results are presented to the user when selected. In some implementations, this is the default setting for placecard 1550. In the illustrated example, filter 1584 is identified as “Women's Wear”, meaning that only search results associated with women's clothing are presented to the user when selected. In the illustrated example, filter 1586 is identified as “Men's Wear”, meaning that only search results associated with men's clothing are presented to the user when selected. In the illustrated example, filter 1588 is identified as “Children's Wear”, meaning that only search results associated with children's clothing are presented to the user when selected. Placecard 1550 can include any type of filters suitable for the selected category, or no filters at all. In some implementations, the filters may be provided by the venue owner and can match the categories used for the traditional in-venue directory.
As can be appreciated, placecard 1550 can be pulled up (i.e., extended) to reveal more POI search results.
Map 502 includes the structure and layout for the current floor as identified by floor indicator 1740, as previously described, but with the difference that only POIs 1710, 1720 and 1730 and other POIs corresponding to the selected POI category (e.g., fashion) for the current floor are displayed. POIs not associated with the selected POI category (e.g., fashion) are not identified on map 502 (although their physical structure and layout remain). Likewise, POIs not on the indicated floor, whether corresponding to the selected category or not, are not displayed on map 502.
Points of interest matching the selected category and found on the current floor can be identified in many ways on map 502. For example, POI 1710 is represented by physical structure 1712, POI category indicator 1714 and textual label 1716 describing POI 1710 as “Bloomingdales,” by way of example.
POI 1720, on the other hand, is represented by physical structure 1722, POI result indicator 1724, textual label 1726 describing POI 1720 as “Aldo,” by way of example, and textual label 1728 containing the phrase “+1 more.” As can be appreciated POI result indicator 1724 provides information that more than one POI matching the selected category is found at or within structure 1722. In the illustrated example, POI result indicator 1724 is a graphic with the number 2 in it, meaning that 2 POIs matching the selected category are found at or within structure 1722. To prevent cluttering of map 502, only one POI associated with POI 1720 has textual label 1726 describing the POI'S name. Textual label 1728 alerts the user that “1 more” POI is also present, in addition to “Aldo.” In some implementations, a user can zoom-in on this region to make the other POI visible.
POI 1730, for example, is merely represented by physical structure 1732 and POI dot 1734. As discussed previously, in some implementations POI category indicator 1714, POI result indicator 1724 and POI dot 1734 are shown in a color that matches the color of the selected POI category (i.e., shown in the same color as POI selector 1464). POI indicator 1714, POI result indicator 1724 and POI dot 1734 could be animated (e.g., flashing, spinning, bouncing up and down) to draw the user's attention to the POIs matching the selected category. Other POIs matching the selected POI category shown on map 502 would be identified in one of the manners described above for POIs 1710, 1720, or 1730.
GUI 1700 also includes placecard 1750 of all search results matching the selected POI even if the POI is on a different floor of venue 204. Placecard 1750 includes field 1752 containing information describing the search results. In the present example, field 1752 includes graphic 1753 representing the selected category (e.g., using the same graphic as POI category indicators and selectors discussed above) and textual label 1754 describing the search results as “Fashion at Westfield.” With this information, the user is reminded of what category search was performed. Although not shown, a second textual label could be presented to describe the total number of search results and the number of results found for the current floor. With this additional information, the user is informed of how many POIs matching the searched category were found and what matching POIs are on the current floor.
Placecard 1750 also contains a listing of POI search results 1760 and 1770 in e.g., alphabetical order. In some implementations, the listing of POI search results 1760 and 1770 can be in a different order such as e.g., organized by floor, or personalized based on prior user activity at venue 204, information included on the user's device (e.g., loyalty card information in emails, text messages, contacts), calendar information identifying the venue, a particular POI, etc., or a store credit card enrolled in Apple pay or another electronic wallet application. POI search result 1760, for example, includes field 1762 comprising information (e.g., name, type of venue, floor indication, link to an online review) about the POI and graphic 1764 illustrating or being associated with the POI. POI search result 1770, as well as other search results in placecard 1750 would contain the same type of information.
As discussed above, in some implementations, placecard information concerning some, but not all, of POI search results 1760 and 1770 are transmitted to user device 130 and stored by map application 132 in response to the user's selection of a POI selector (e.g., POI selector 1464 of GUI 1400). In some implementations, placecard 1750 also includes filters 1780 for limiting the amount of results presented to the user. For example, filter 1782 is identified as “All”, meaning that all search results are presented to the user when selected. In some implementations, this is the default setting for placecard 1750. In the illustrated example, filter 1784 is identified as “Luxury”, meaning that only search results associated with luxurious fashion items are presented to the user when selected. In the illustrated example, filter 1786 is identified as “Jewelry”, meaning that only search results associated with jewelry are presented to the user when selected. In the illustrated example, filter 1788 is identified as “Accessories”, meaning that only search results associated with accessories are presented to the user when selected. In the illustrated example, filter 1790 is identified as “Shoes”, meaning that only search results associated with shoes are presented to the user when selected. Placecard 1750 can include any type of filters suitable for the selected category, or no filters at all.
Map 502 includes the structure and layout for the current floor as identified by floor indicator 1840, as previously described, but with the difference that only POIs 1820, 1830 and 1840 and other POIs corresponding to the selected POI category (e.g., food) for the current floor are displayed. POIs not associated with the selected POI category (e.g., food) are not identified on map 502 (although their physical structure and layout remain). Likewise, POIs not on the indicated floor, whether corresponding to the selected category or not, are not displayed on map 502.
Points of interest matching the selected category and found on the current floor can be identified in many ways on map 502. For example, POI 1820 is represented by physical structure 1822, POI food category indicator 1824 and textual label 1826 describing POI 1820 as “Pizza My Heart,” by way of example. POI food category indicator 1824 is a graphic representing pizza, serving as a sub-category of the selected POI food category. Thus, with indicator 1824, the user is presented with additional clarification that the matching POI result is not only food, but a pizza parlor. The symbol/graphic associated with food POI selector 1470 could have been used instead or in addition to POI food category indicator 1824.
POI 1830 is represented by physical structure 1832, POI food category indicator 1834 and textual label 1836 describing POI 1830 as “Starbucks,” by way of example. POI food category indicator 1834 is a graphic representing coffee, serving as a sub-category of the selected POI food category. Thus, with indicator 1834, the user is presented with additional clarification that the matching POI result is not only food, but a coffee shop. The symbol/graphic associated with food POI selector 1470 could have been used instead or in addition to POI food category indicator 1834.
POI 1840, for example, is merely represented by physical structure 1842 and POI dot 1844. As discussed previously, in some implementations POI food category indicators 1824 and 1834 and POI dot 1844 are shown in a color that matches the color of the selected POI category (i.e., shown in the same color as POI selector 1470). POI food category indicators 1824 and 1834 and POI dot 1844 could be animated (e.g., flashing, spinning, bouncing up and down) to draw the user's attention to the POIs matching the selected category. Other POIs matching the selected POI category shown on map 502 can be identified in one of the manners described above for POIs 1820, 1830, or 1840.
GUI 1800 also includes placecard 1850 of all search results matching the selected POI even if the POI is on a different floor of venue 204. Placecard 1850 includes field 1852 containing information describing the search results. In the present example, field 1852 includes graphic 1853 representing the selected category (e.g., using the same graphic as POI category indicators and selectors discussed above) and textual label 1854 describing the search results as “Food at Westfield.” With this information, the user is reminded of what category search was performed. Although not shown, a second textual label could be presented to describe the total number of search results and the number of results found for the current floor. With this additional information, the user is informed of how many POIs matching the searched category were found and what matching POIs are on the current floor.
Placecard 1850 also contains a listing of POI search results 1860 and 1870 in e.g., alphabetical order. In some implementations, the listing of POI search results 1860 and 1870 can be in a different order such as e.g., organized by floor, or personalized based on prior user activity at venue 204, information included on the user's device (e.g., loyalty card information in emails, text messages, contacts), calendar information identifying the venue, a particular POI, etc., or a store credit card enrolled in Apple pay or another electronic wallet application. POI search result 1860, for example, includes field 1862 comprising information (e.g., name, type of venue, floor indication, link to an online review) about the POI and graphic 1864 illustrating or associated with the POI. POI search result 1870, as well as other search results in placecard 1850, can contain the same type of information.
As discussed above, in some implementations, placecard information concerning some, but not all, of POI search results 1860 and 1870 is transmitted to user device 130 and stored by map application 132 in response to the user's selection of a POI selector (e.g., POI selector 1470 of GUI 1400). In some implementations, placecard 1850 also includes filters 1880 for limiting the amount of results presented to the user. For example, filter 1882 is identified as “All”, meaning that all search results are presented to the user when selected. In some implementations, this is the default setting for placecard 1850. In the illustrated example, filter 1884 is identified as “Cafes”, meaning that only search results associated with cafes are presented to the user when selected. In the illustrated example, filter 1886 is identified as “Pizza”, meaning that only search results associated with pizza parlors are presented to the user when selected. In the illustrated example, filter 1888 is identified as “Thai”, meaning that only search results associated with Thai food are presented to the user when selected. In the illustrated example, filter 1889 is identified as “Japanese”, meaning that only search results associated with Japanese food are presented to the user when selected. In the illustrated example, filter 1890 is identified as “Mexican”, meaning that only search results associated with Mexican food are presented to the user when selected. Placecard 1850 can include any type of filters suitable for the selected category, or no filters at all. In some implementations, the filters may be provided by the venue owner and can match the categories used for the traditional in-venue directory.
GUI 1900 also includes placecard 1950 of all search results matching the selected POI even if the POI is on a different floor of venue 204. Placecard 1950 includes field 1952 containing information describing the search results. In the present example, field 1952 includes graphic 1953 representing the selected category (e.g., using the same graphic as POI category indicators and selectors discussed above) and textual label 1954 describing the search results as “All Shops at Westfield.” With this information, the user is reminded of what category search was performed. Although not shown, a second textual label could be presented to describe the total number of search results and the number of results found for the current floor. With this additional information, the user is informed of how many POIs matching the searched category were found and what matching POIs are on the current floor.
Placecard 1950 also contains a listing of POI search results 1960 and 1970 in e.g., alphabetical order. In some implementations, the listing of POI search results 1960 and 1970 can be in a different order such as e.g., organized by floor, or personalized based on prior user activity at venue 204, information included on the user's device (e.g., loyalty card information in emails, text messages, contacts), calendar information identifying the venue, a particular POI, etc., or a store credit card enrolled in Apple pay or another electronic wallet application. POI search result 1960, for example, includes field 1962 comprising information (e.g., name, type of venue, floor indication, link to an online review) about the POI. POI search result 1970, as well as other search results in placecard 1950 would contain the same type of information.
As discussed above, in some implementations, placecard information concerning some, but not all, of POI search results 1960 and 1970 are transmitted to user device 130 and stored by map application 132 in response to the user's selection of a POI selector (e.g., POI selector 1468 of GUI 1400).
In some implementations, any of the POIs matching the selected category can be selected by selecting its entry in placecards 1550, 1750, 1850 and 1950 or directly from map 502. Selection of a specific POI will cause rich information about the POI to be presented to the user on user device 130.
Placecard 2050 includes field 2052 containing information describing the POI. In the present example, field 2052 includes information (e.g., name, type of POI, location within venue, link to an online review). Placecard 2050 also include field 2060 comprising information (e.g., a graphic used by map application 132 to represent this type of venue, name of venue, location, etc.) about the venue the selected POI is contained in. In some implementations, placecard 2050 can include field 2062 with contact information of the POI and selector 2064 for initiating a phone call to the POI.
In some implementations, placecard 2050 also contains field 2066 identifying a website of the POI and link 2068 for linking to the POI's website. In some implementations, placecard 2050 also contains field 2070 identifying an address of the POI and selector 2072 for sharing the address or other contact information concerning the POI.
In some implementations, the rich placecard information of some, but not all, of POI search results are transmitted to user device 130 and stored by map application 132 in response to the user's selection of a POI selector. For example, map data received from map server 102 may contain rich placecard information about the first 25 POI search results, which will speed up the transmission between server 102 and user device 130. In addition, transferring less than all of the information will lighten the load on user device 130 and preserve memory resources and battery power of device 130. Rich placecard information for other POIs will need to be retrieved when the POI is selected and its placecard 2050 needs to be displayed. Rich information about more or less than 25 POI search results can be received from map server 102 in response to the user's selection of a POI selector and the embodiments disclosed herein are not to be so limited.
It may be desirable for a user to view the physical structure, layout and location of POIs that match the selected category, but are not shown on map 502 because they are not located on the current floor. For example, map 502 illustrated in GUI 1500 (
GUI 2100 contains map 502 containing POIs 1510, 1520 and 1530 and other POIs corresponding to the selected POI category (e.g., clothes). These are the same POIs 1510, 1520 and 1530 discussed above with respect to GUI 1500. POIs not associated with the selected POI category (e.g., clothes) are not identified on map 502 (although their physical structure and layout remain on map 502). Likewise, POIs not on the indicated floor, whether corresponding to the selected category or not, are not displayed on map 502. In some implementations, floor switch 2120 will be presented and can become active when, e.g., a user selects floor indicator 1340 on GUI 1500. The selection also causes field 2150 to be presented on GUI 2100. Field 2150 includes text 2152 identifying the current floor as “Level Two.”
In some implementations, floor switcher 2120 includes floor indicator 2122, 2124, 2126, 2128, 2130, 2132, 2134 and 2136 for each publically accessible floor within venue 204. As can be seen, each indicator 2122, 2124, 2126, 2128, 2130, 2132, 2134 and 2136 includes text (i.e., letter, number, or letter/number combination) identifying the floor within venue 204. In some implementations, the text within floor indicators 2122, 2124, 2126, 2128, 2130, 2132, 2134 and 2136 resemble or match the text used to identify buttons on an elevator within venue 204.
In the present example, indicator 2132 is emphasized to represent that this is the current floor shown on map 502. In the illustrated example, diagonal lines are used to show indicator 2132 as emphasized. Other visual treatments (e.g., different color text or background, shading, flashing or animated text and or background) could be used to emphasize indicator 2132. Indicators for floors without POI search results will be inactive and will have their text or background de-emphasized (e.g., greyed-out, removed, have a different background than the background used for active floors) so that the user does attempt to select them. In the illustrated example, floors N5, N4 and L3 do not have any POIs that satisfy the POI search. For example, the text within indicators 2122, 2124 and 2130 are de-emphasized on selector 2120. In the illustrated example, horizontal lines are used to shown that floors N5, N4 and L3 do not have any POIs that satisfy the POI search. This is merely an example and other visual treatments could be used to show floors that are not selectable. In the illustrated example, floors N3, L4, L2, LC and B have POI search results. As such, the text within indicators 2126, 2128, 2132, 2134 and 2136 will not be de-emphasized on selector 2120, meaning that these indicators are active.
In some implementations, switching floors causes a quick animation that conveys vertical movement to be presented on the display. The animation simulates ascending/descending floor such as the movement in an elevator. In some implementations, current location puck 1301 showing the user's current location (i.e., location is user device 130) is always visible regardless of the floor the user is currently viewing. In some implementations, when the user is on a different floor than the one displayed in map 502, a more prominent identifier will be used along with or instead of user location puck 1301. For example,
GUI 2300 also includes placecard 2350 having venue directory 2360 containing one or more POI category selectors 2362, 2364 and 2366 and search selector 2368. Each POI category selector 2362, 2364 and 2366 is associated with a category (e.g., terminals, shops, food, restrooms, etc.) that the various POIs of venue 804 have been grouped into. The type of venue dictates the number of and type of categories to be used in directory 2360 and that the disclosed embodiments should not be limited to any number of or type of category for directory 2360 or any directory illustrated herein. Venue directory 1460 also comprises search selector 2368. Search selector 2368 can be used by a user to initiate a manual search for a category or specific POI within venue 804.
By way of example only, category selector 2362 can be used to select a category of POIs associated with terminals, category selector 2364 can be used to select a category of POIs associated with shops, and category selector 2366 can be used to select a category of POIs associated with places to eat/purchase food within venue 804.
In some implementations, POI category selectors 2362, 2364 and 2366 of venue directory 2360 are color coded (i.e., each one has its own color). In addition, the colors of the POI dots and POI category indicators on map 1002 or other maps are selected to match the colors of POI category selectors 2362, 2364 and 2366 used in venue directory 2360. In some implementations, the POI dots and POI category indicators on map 1002 or other maps will have colors based on their respective categories regardless of whether venue directory 2360 is displayed or not.
In some implementations, placecard 2350 can include field 2370 with contact information of venue 804 and selector 2372 for initiating a phone call to venue 804. In some implementations, placecard 2350 also contains field 2380 identifying a website of venue 804 and link 2382 for linking to venue 804's website.
As can be appreciated, venue directory 2360 can be used by a user to a specific category of POIs to search for, browse and/or obtain more information about the POIs present in venue 804. In the following example, the user has selected POI selector 2362, initiating a search for terminals within venue 804.
Map 1002 includes the structure, location and layout for POI 2410 and other POIs corresponding to the selected POI category (e.g., terminals). POI 2410 is represented by physical structure 2412, POI category indicator 2414 and textual label 2416 describing POI 2410 as “Terminal 3,” by way of example. Other POIs matching the selected POI category (e.g., terminals) can be identified in the same manner.
GUI 2400 also includes placecard 2450 of all search results matching the selected POI category. Placecard 2550 includes field 2452 containing information describing the search results. In the present example, field 2452 includes graphic 2453 representing the selected category (e.g., using the same graphic as POI category indicators and selectors discussed above) and textual label 2454 describing the search results as “Terminals at LAX.” With this information, the user is reminded of what category search was performed. Although not shown, a second textual label could be presented to describe the number of search results. In some implementations, if it is detected that the user is within a terminal when POI category selector 2362 of GUI 2300 was selected, a GUI presenting that terminal or its placecard will be presented instead of all terminals as shown in GUI 2400 (see e.g., GUI 2600 of
Placecard 2450 also contains a listing of POI search results 2460 and 2470 in e.g., alphabetical order. In some implementations, the listing of POI search results 2460 and 2470 can be in a different order such as e.g., organized by prior user activity at venue 804. POI search result 2460, for example, includes field 2462 comprising information (e.g., name, airline) about the POI. POI search result 2470, as well as other search results in placecard 2450 would contain the same type of information.
As can be appreciated, placecard 2450 can be pulled up to reveal more POI search results.
In the following example, the user has selected terminal 3 from the POIs matching the selected category. As discussed above, selecting a terminal POI will cause another indoor map 1202 to be presented (i.e., a sub-map for venue 804) for the terminal POI (e.g., POI 2410 illustrated in GUI 2400). This can occur after the user selected the terminal from either placecard 2450 or by clicking on the POI of the terminal on map 1002.
Directory 2660 can contain one or more POI category selectors 2662, 2664 and 2666 and a search selector 2668. Each POI category selector 2662, 2664 and 2666 is associated with a category (e.g., shops, food, restrooms, etc.) that the various POIs of POI 2410 have been grouped into. The type of venue dictates the number of and type of categories to be used in directory 2660 and that the disclosed embodiments should not be limited to any number of or type of category for directory 2660 or any directory illustrated herein. Directory 2660 also comprises a search selector 2668. Search selector 2668 can be used by a user to initiate a manual search for a category or specific POI within POI 2410 or venue 804.
By way of example only, category selector 2662 can be used to select a category of POIs associated with shops, category selector 2664 can be used to select a category of POIs associated with places to eat/purchase food within venue 804, and category selector 2666 can be used to select a category of POIs associated with restrooms.
In some implementations, POI category selectors 2662, 2664 and 2666 of directory 2660 are color coded (i.e., each one has its own color). In addition, the colors of the POI dots and POI category indicators on map 1202 or other maps are selected to match the colors of POI category selectors 2662, 2664 and 2666 used in directory 2460.
In some implementations, placecard 2650 can include field 2670 identifying airlines or other companies, etc. within POI 2410. As can be appreciated, placecard 2650 can be pulled up to reveal more information.
Map 1202 includes the structure and layout for the current floor as identified by floor indicator 2840. For example, POIs 2810 and 2820 and other POIs corresponding to the selected POI category (e.g., food) for the current floor are displayed. POIs not associated with the selected POI category (e.g., food) are not identified on map 1202 (although their physical structure and layout remain). Likewise, POIs not on the indicated floor, whether corresponding to the selected category or not, are not displayed on map 1202.
Points of interest matching the selected category and found on the current floor can be identified in many ways on map 1202. For example, POI 2810 is represented by physical structure 2812, POI food category indicator 2814 and textual label 2816 describing POI 2810 as “Blue Angel Brewery,” by way of example. POI food category indicator 2814 is a graphic representing a beer mug, serving as a sub-category of the selected POI food category. Thus, with indicator 2814, the user is presented with additional clarification that the matching POI result is not only food, but is most likely a bar or place to get a drink. The symbol/graphic associated with food POI selector 2664 could have been used instead or in addition to POI food category indicator 2814.
POI 2820 is represented by structure 2822, POI result indicator 2824, textual label 2826 describing POI 2820 as “Chipotle,” by way of example, and textual label 2828 containing the phrase “+2 more.” As can be appreciated POI result indicator 2824 provides information that more than one POI matching the selected category is found at or within structure 2822. In the illustrated example, POI result indictor 2824 is a graphic with the number 3 in it, meaning that 3 POIs matching the selected category are found at or within structure 2822. To prevent cluttering of map 1202, only one POI associated with POI 2820 has textual label 2826 describing the POI's name. Textual label 2828 alerts the user that “2 more” POIs are also present, in addition to “Chipotle.”
GUI 2800 also includes placecard 2850 of all search results matching the selected POI even if the POI is on a different floor of POI 2410. Placecard 2850 includes field 2852 containing information describing the search results. In the present example, field 2852 includes graphic 2853 representing the selected category (e.g., using the same graphic as POI category indicators and selectors discussed above), first textual label 2854 describing the search results as “Food at Terminal 3” and second textual label 2855 describing the search results as “7 places.” With this information, the user is reminded of what category search was performed, how many POIs matching the searched category were found, and what matching POIs are on the current floor.
Placecard 2850 also contains a listing of POI search results 2860 and 2870 in e.g., alphabetical order. In some implementations, the listing of POI search results 2860 and 2870 can be in a different order such as e.g., organized by floor, or personalized based on prior user activity at venue 204, information included on the user's device (e.g., loyalty card information in emails, text messages, contacts), calendar information identifying the venue, a particular POI, etc., or a store credit card enrolled in Apple pay or another electronic wallet application. POI search result 2860, for example, includes field 2862 comprising information (e.g., name, type of venue, floor indication, link to an online review) about the POI and graphic 2864 illustrating or associated with the POI. Field 2862 further comprises indication 2865 as to whether search result 2860 is pre or post security. This is very beneficial information as once a user has gone through security, pre-security check points would not be desirable. POI search result 2870, as well as other search results in placecard 2850 would contain the same type of information.
Placecard 2950 includes field 2952 containing information describing the POI. In the present example, field 2952 includes information (e.g., name, type of POI, location within venue, link to an online review). Beneficially, field 2952 includes indication 2953 as to whether the selected POI is pre or post security. Placecard 2950 also includes field 2960 comprising information (e.g., a graphic used by map application 132 to represent this type of venue, name of venue, location, etc.) about the venue the selected POI is contained in. In some implementations, placecard 2950 can include field 2962 with contact information of the POI and selector 2964 for initiating a phone call to the POI.
In some implementations, placecard 2950 also contains field 2966 identifying a website of the POI and link 2968 for linking to the POI's website. In some implementations, placecard 2950 also contains field 2970 identifying an address of the POI and selector 2972 for sharing the address or other contact information concerning the POI.
In some implementations, the rich placecard information of some, but not all, of POI search results are transmitted to user device 130 and stored by map application 132 in response to the user's selection of a POI selector. For example, map data received from map server 102 may contain rich placecard information about the first 25 POI search results, which will speed up the transmission between server 102 and user device 130. In addition, transferring less than all of the information will lighten the load on user device 130 and preserve memory resources and battery power of device 130. Rich placecard information for other POIs will need to be retrieved when the POI is selected and its placecard 2950 needs to be displayed. Rich information about more or less than 25 POI search results can be received from map server 102 in response to the user's selection of a POI selector and the embodiments disclosed herein are not to be so limited.
POI 3020 is represented by physical structure 3022, POI restroom indicator 3024, textual label 3026 describing POI 3020 as “Restroom,” by way of example, and textual label 3028 further describing POI 3020 as a restroom for “women,” by way of example. In this example POI restroom indicator 3024 is a graphic typically used to represent a women's bathroom.
POI 3030 is represented by physical structure 3032, POI restroom indicator 3034, textual label 3036 describing POI 3030 as “Restroom,” by way of example, and textual label 3038 further describing POI 3030 as a restroom with a “changing station,” by way of example. In this example POI restroom indicator 3034 is a graphic typically used to represent a family bathroom.
POI restroom indicators 3014, 3024 and 3034 could be animated (e.g., flashing, spinning, bouncing up and down) to draw the user's attention to the POIs matching the selected category. Other POIs matching the selected POI category shown on map 1202 can be identified in one of the manners described above for POIs 3010, 3020 or 3030.
GUI 3000 also includes field 3450 used to identify the search results shown on GUI 3000. In the present example, field 3450 includes graphic 3452 representing the selected category (e.g., using the same graphic as POI category indicators and selectors discussed above), first textual label 3453 describing the search results as “Restrooms at Terminal 3” and second textual label 3455 describing the search results as “5 places.” With this information, the user is reminded of what category search was performed, how many POIs matching the searched category were found, and what matching POIs are on the current floor.
It is also desirable for a user to search for and see the inside of venues prior to visiting a particular venue on a map. That is, it is desirable for a user to be presented with a venue and an inside view of a venue from e.g., a general searching function of map application 132.
In some implementations, search directory 3110 contains one or more search category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124 and 3126. Each search category selector 3112, 3114, 3116, 3118, 3120, 3122, 3124 and 3126 is associated with a category (e.g., restaurants, shops, bars, gas stations, etc.) that the various types of venues have been grouped into. It should be appreciated other types of venues could be included and the disclosed embodiments should not be limited to any number of or type of category for directory 3110.
By way of example only, category selector 3112 can be used to select a category of venues associated with restaurants, category selector 3114 can be used to select a category of venues associated with places to get fast food, category selector 3116 can be used to select a category of venues associated with coffee shops, category selector 3118 can be used to select a category of venues associated with bars, category selector 3120 can be used to select a category of venues associated with places to buy groceries, category selector 3122 can be used to select a category of places to shop, category selector 3124 can be used to select a category of venues associated with hotels, category selector 3126 can be used to select a category of venues associated with gas stations.
In some implementations, venue category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124 and 3126 of search directory 3110 are color coded (i.e., each one has its own color). In addition, venues presented on map 202 at any time would have colors matching category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124 and 3126 used in search directory 3110. Searching using search directory 3110 is performed by selecting one of the venue category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124 and 3126. After the selection, a list of venues matching the selected category will be presented on user device 130 (described below in more detail).
Search result 3260 includes graphic 3263 representing one of venue category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124 and 3126 of search directory 3110 (GUI 3100), first textual label 3264 describing the search result by its venue name as “Westfield San Francisco Centre,” by way of example, second textual label 3265 providing an address and distance to the venue, and link 3266 to an online review of the venue. In the illustrated example, the venue identified in search result 3260 includes an indoor map as discussed herein. Accordingly, search result 3260 includes selector 3267 for allowing the user to select and look inside the venue (i.e., view the indoor map of the venue). Search results 3270 and 3280 list venues that do not have a viewable indoor map. Otherwise, search results 3270 and 3280 can contain similar information (i.e., corresponding graphic, venue name, location, links to online reviews) about their respective venues.
The user can select any search result 3260, 3270 and 3280 from list 3250 to have its location shown on a map (e.g., map 202) as is typically done in mapping applications. In addition, because search result 3260 includes selector 3267 for allowing the user to select and look inside the venue (i.e., view the indoor map of the venue), the user can choose to take an indoor view of the venue associated with result 3260 by selecting selector 3267. The indoor view could be a view similar to indoor map 502 discussed above.
Search result 3360 includes graphic 3363 representing one of venue category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124 and 3126 of search directory 3110 (GUI 3100), first textual label 3364 describing the search result by its venue name as “Kate Spade,” by way of example, second textual label 3365 providing an address and distance to the venue, and link 3366 to an online review of the venue. In the illustrated example, the venue identified in search result 3360 is found within a venue that includes an indoor map as discussed herein. Accordingly, search result 3360 includes selector 3367 for allowing the user to select and look inside the venue (i.e., view the indoor map of the venue) associated with the search result. Search results 3370 and 3380 list venues that do not have a viewable indoor map. Otherwise, search results 3370 and 3380 can contain similar information (i.e., corresponding graphic, venue name, location, links to online reviews) about their respective venues.
As with other listings of search results discussed herein, the user can select any search result 3360, 3370 and 3380 from list 3350 to have its location shown on a map (e.g., map 202) as is typically done in mapping applications. In addition, because search result 3360 includes selector 3367 for allowing the user to select and look inside the venue (i.e., view the indoor map of the venue) associated with the search result, the user can choose to take an indoor view of the venue associated with result 3360 by selecting selector 3367. The indoor view could be a view similar to indoor map 502 discussed above. In some implementations, the indoor view will be zoom-in such that the initial POI density is visible (see “POI Density” section). In addition, the indoor view may be zoomed-in even further for a smaller venue. In some implementations, application 132 will not zoom-out to the point where the outside venue structure is presented on the display even when all POIs cannot be displayed in the GUI. This way, the user's view is not taken outside the venue.
Search result 3460 comprises graphic 3463 representing one of venue category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124 and 3126 of search directory 3110 (GUI 3100), first textual label 3464 describing the search result as “Coffee & Tea at Westfield,” by way of example. Thus, search result 3460 provides a venue having one or more coffee shops near the user's location. In some implementations, a predetermined distance can be used as threshold for presenting results near the user. In some implementations, search results can be presented differently based on whether the user is inside or outside of a venue. An example of a search and results presented when a user is inside a venue is described below (see “In-Venue Search” section). In some implementations, search results are prioritized differently based on whether a user is inside or outside a venue. For example, when inside a venue, the search results can be prioritized based on prior user activity, information included on the user's device (e.g., loyalty card information in emails, text messages, contacts), calendar information, a particular POI, etc., or a store credit card enrolled in Apple pay or another electronic wallet application. When outside a venue, the search results can be prioritized such that a venue with an inside view is listed first. Alternatively, when outside a venue, the search results can be prioritized such that a venue with an inside view is listed normally among other search results with no preference over the other search results. Other information such as an address, distance to the venue, and/or link to an online review of the venue may also be provided. In the illustrated example, the venue identified in search result 3460 includes an indoor map as discussed herein. Accordingly, search result 3460 includes selector 3467 for allowing the user to select and view the indoor map of the venue associated with the search result. In some implementations, selecting the selector 3467 can cause search results from within the venue to be displayed. In some implementations, selecting the selector 3467 can cause a floor of the venue with the most matching search results to be displayed. In some implementations, selecting the selector 3467 can cause a floor of the venue with the most popular of the search results to be displayed.
Search results 3470, 3480 and 3490 list venues that do not have a viewable indoor map. Otherwise, search results 3470, 3480 and 3490 can contain similar information (i.e., corresponding graphic, venue name, location, links to online reviews) about their respective venues.
As noted above, search result 3460 provides a venue having one or more coffee shops therein. In some implementations, the returned search results could identify a specific coffee shop by its name (e.g., “Café Bellini” as shown in result 3480). In addition, the returned search results could identify coffee shops nearby, i.e., within a certain proximity of user device 130, (e.g., “Coffee & Tea—Search Nearby” as shown in result 3470).
As with other listings of search results discussed herein, the user can select any search result 3460, 3470, 3480 and 3490 from list 3450 to have its location or locations shown on a map (e.g., map 202) as is typically done in mapping applications. In addition, because search result 3460 includes selector 3467 for allowing the user to select and view the indoor map of the venue associated with the search result, the user can choose to take an indoor view of the venue associated with result 3460 by selecting selector 3467. The indoor view could be a view similar to indoor map 502 discussed above.
It is also desirable to access the venue features of map application 132 from other applications and features of user device 130. For example, most computers, smart phones and tablets include a web browser such as e.g., the Safari web browser from Apple, Inc. These web browsers allow a user to search for all types of information, including information about venues, where they are located and driving directions to the venue, to name a few. It is desirable to access the features of map application 132 discussed herein from the web browser such that the user may access an indoor map, search for points of interest using a particular venue directory, and view points of interests in the manners discussed herein.
Search result 3560 is a result returned from map application 132 and has the appearance of search results discussed herein for map application 132. For example, search result 3560 comprises graphic 3563 representing one of venue category selectors used in the venue and search directories of application 132 discussed herein (e.g., category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124 and 3126 of search directory 3110 found on example GUI 3100). Search result 3560 also includes first textual label 3564 describing the search result as “Coffee & Tea at Westfield,” by way of example. Other information such as an address, distance to the venue, and/or link to an online review of the venue may also be provided. In the illustrated example, the venue identified in search result 3560 includes an indoor map as discussed herein. Accordingly, search result 3560 includes selector 3567 for allowing the user to select and view the indoor map of the venue associated with the search result. Thus, the user's browser experience has been enhanced by providing access to the venue viewing, searching and other features of map application 132.
Search result 3566 indicates that there are more locations within map application 133 that can be accessed by selecting this result. Search results 3570, 35723574, 3576 and 3580 are the types of search results typically found when searching using a web browser. For example, search result 3570 is a link to do a specific search such as a search for “DuckDuckGo.” Search result 3572 is a link to do a search for “coffee.” Search result 3574 is a link to do a search for “coffee machine.” Search result 3576 is a link to do a search for “coffee mugs.” Search result 3578 is a link to do a search for “coffee tables.”
There are other applications or programs for accessing information on user device 130 that would also enhance the user's experience if the application or program could access the features of map application 132. For example, there are applications and programs used to search for and organize files and other information on a computer, smart phone or tablet such as e.g., the Spotlight application by Apple, Inc. It is desirable to access the features of map application 132 discussed herein from an external application providing searching capability such as e.g., Spotlight.
Search result 3660 is a result returned from map application 132 and has the appearance of search results discussed herein for map application 132. For example, search result 3660 comprises graphic 3663 representing one of venue category selectors used in the venue and search directories of application 132 discussed herein (e.g., category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124 and 3126 of search directory 3110 found on example GUI 3100). Search result 3660 also includes first textual label 3664 describing the search result as “Coffee & Tea at Westfield,” by way of example. Other information such as an address, distance to the venue, and/or link to an online review of the venue may also be provided. In the illustrated example, the venue identified in search result 3660 includes an indoor map as discussed herein. Accordingly, search result 3660 includes selector 3667 for allowing the user to select and look inside the venue (i.e., view the indoor map of the venue) associated with the search result. Thus, the user's searching experience has been enhanced by providing access to the venue viewing, searching and other features of map application 132.
Search result 3670 is another search result returned from map application 132 and has the appearance of search results discussed herein for map application 132. For example, search result 3670 includes graphic 3673 representing one of venue category selectors used in the venue and search directories of application 132 discussed herein. Search result 3670 also includes first textual label 3674 describing the search result as “Starbucks,” by way of example. Search result 3670 includes textual label 3675 proving an address and location of the identified venue, and link 3676 to an online review of the venue. In the illustrated example, the venue identified in search result 3670 includes an indoor map as discussed herein. Accordingly, search result 3670 includes selector 3677 for allowing the user to select and look inside the venue (i.e., view the indoor map of the venue) associated with the search result. Thus, the user's searching experience has been enhanced by providing access to the venue viewing, searching and other features of map application 132.
Search results 3680, 3682 and 3684 are the types of search results typically found when searching using the searching application. For example, search result 3680 is a link to a specific venue “Mazarine Coffee.” Search result 3682 is a link to do a search for “coffee meets bagel.” Search result 3684 is a link to do a search for a “coffee table.”
There are voice command applications and programs that allow a user to do searches via voice commands such as e.g., the Ski application and program by Apple, Inc. It is desirable to access the features of map application 132 discussed herein from an external command applications and programs that allow a user to do searches via voice commands such as e.g., the Ski application and program by Apple, Inc.
Search result 3760 is a result returned from map application 132 and has the appearance of search results discussed herein for map application 132. For example, search result 3760 includes graphic 3763 representing one of venue category selectors used in the venue and search directories of application 132 discussed herein (e.g., category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124 and 3126 of search directory 3110 found on example GUI 3100). Search result 3760 also includes first textual label 3764 describing the search result as “Coffee & Tea at Westfield,” by way of example. Other information such as an address, distance to the venue, and/or link to an online review of the venue may also be provided. In the illustrated example, the venue identified in search result 3760 includes an indoor map as discussed herein. Accordingly, search result 3760 includes selector 3767 for allowing the user to select and look inside the venue (i.e., view the indoor map of the venue) associated with the search result. Thus, the user's voice commanded searching experience has been enhanced by providing access to the venue viewing, searching and other features of map application 132.
Search result 3770 is another search result returned from map application 132 and has the appearance of search results discussed herein for map application 132. For example, search result 3770 comprises image 3773 representing the venue, first textual label 3774 describing the search result as “Starbucks,” by way of example, second textual label 3775 proving an address and location of the identified venue, and link 3776 to an online review of the venue. In the illustrated example, the venue identified in search result 3770 includes an indoor map as discussed herein. Accordingly, search result 3770 includes selector 3777 for allowing the user to select and look inside the venue (i.e., view the indoor map of the venue) associated with the search result. Thus, the user's voice commanded searching experience has been enhanced by providing access to the venue viewing, searching and other features of map application 132.
Search result 3790 is the types of search results typically found when searching using voice commanded searching. For example, search result 3780 is a link to a specific venue “Mazarine Coffee.” As discussed above and below, search results can be presented differently based on whether the user is located within or outside of a venue.
It is also desirable for a user to be alerted that information about a particular venue is available even if user device 130 is in a locked mode. That is, it is desirable to present a GUI while user device 130 is locked whereby the GUI alerts the user that information about a particular venue within a proximity of the user is available.
As is known in the art, swiping GUI 3800 will cause a widget to appear on the display of user device 130. Accordingly,
GUI 3900 includes two selectable fields 3920 and 3930. In the illustrated implementation, selectable field 3920 includes graphic 3924 representing one of venue category selectors used in the venue and search directories of application 132 discussed herein (e.g., category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124 and 3126 of search directory 3110 found on example GUI 3100). Selectable field 3920 also includes first textual label 3926 describing field 3920 as “Westfield San Francisco Centre” keeping with the current example. In the illustrated example, the venue identified in field 3920 includes an indoor map as discussed herein. Accordingly, field 3920 includes selector 3928 for allowing the user to select and view the indoor map of the venue associated with the search result. In the illustrated example, selectable field 3930 is field for allowing the user to get directions to his or her home.
Event 4020 includes graphic 4022 identifying the event as being from or associated with an airline, which in the illustrated example is Virgin America. Event 4020 also includes time indicator 4024, which in the illustrated example is “now.” Event 4020 also includes textual label 4026 describing the event as “Flight VX77,” by way of example. In the illustrated example, the event includes textual label 4028 stating “Boards in 2 hours at Terminal 3, Gate 34A.”
As is known in the art, swiping alert 4010 will cause a widget to appear on the display of user device 130. Accordingly,
GUI 3410 includes two selectable fields 4120 and 4130. In the illustrated implementation, selectable field 4120 includes graphic 4124 representing an airport. Selectable field 4120 also includes first textual label 4126 describing field 4120 as “LAX” keeping with the current example. In the illustrated example, the venue identified in field 4120 includes an indoor map as discussed herein. Accordingly, field 4120 includes selector 4128 for allowing the user to select and view the indoor map of the venue associated with the search result. In the illustrated example, selectable field 4130 is field for allowing the user to get directions to his or her home.
As is known in the art, swiping event 4020 will cause event details from e.g., a calendar application to appear on the display of user device 130. Accordingly,
Venue details 4210 include graphic 4212 representing LAX's terminal 3 as described in event 4020. In addition to graphic 4112, venue details 4120 include first textual label 4214 identifying details 4210 as “LAX Terminal 3” keeping with the current example. Venue details 4210 also include selector 4216 for allowing the user to select and view the indoor map of the venue (i.e., LAX Terminal 3). Venue details 4210 also includes indoor directory 4220 identifying POI category selectors 4222, 4224 and 4226 that a user may select to search for and view inside the venue in accordance with the principles discussed herein. Directory 4220 also includes selector 4228 for initiating a manual search of the venue as described herein.
As shown and described above, the disclosed venue features for map application 132 includes a unique technique for displaying and labeling points of interest within a venue. In accordance with the disclosed principles, POI dots may be used at a low zoom level to create visual interest in the inside view of a venue and to encourage a user to zoom in further to see more. The POI dots are used to show a density of POIs available within the venue. This is different than a typical map application that presents an outdoor map and only places dots sporadically, providing no indication of density of POIs on the map. Moreover, displaying every POI maybe confusing or lacking visual appeal by providing too much information at one time. As shown and described above, in map application 132, additional useful category information (e.g., category indicators) can be associated with displayed POIs when more zooming is performed (i.e., at lower zoom levels).
A POI can be associated with one of three states dictating how the POI and its structure are identified on an indoor map (e.g., by a dot, dot with label, or a category indicator with a label) and a fourth state whereby the POI is not identified on the indoor map (i.e., only the structure is shown, but the identification of the POI is hidden from view).
POI 4340 is different from POIs 4310, 4320 and 4330. For example, POI 4340 shown in a fourth state whereby it is only represented by its physical structure 4342. In some implementations, POI 4340 has no label because its label would collide with or be occluded by another POI's labeling (e.g., label 4356 of POI 4350) discussed in more detail below.
In some implementations, POIs will transition from the first state, to the second state and to the third state as the indoor map or POI is zoomed-in further. For example, a POI represented by its structure and POI dot (i.e., state 1) will transition to a POI represented by its structure, POI dot and textual label (i.e., state 2) after a first zoom-in operation. Similarly, a POI represented by its structure, POI dot and textual label (i.e., state 2) will transition to a POI represented by its structure, POI indicator and textual label (i.e., state 3) after a second zoom-in operation. In some implementations, the transitions between states will be animated to further draw in the attention of a user.
As can be appreciated, there is only so much space on a display of user device 130. Room on a display may cause labeling of POIs to conflict (i.e., overlap each other), which is undesirable. Conflicts may also occur if a venue contains numerous closely spaced POIs, preventing the use of labels for each POI. Accordingly, prior to displaying POIs in e.g., states 2 or 3, map application 132 calculates the size required to represent the POIs on the current view of the display area. If the representations of one or more POIs will overlap, map application 132 will hide one or more of the representations to keep the display area from being cluttered.
In some implementations, map application 132 will prioritize and process POI labeling to ensure that there are no overlapping/conflicting labels. In some implementations, map application 132 uses a prominence metric and analysis for determining which POIs should be represented more prominently in comparison to other POIs in the venue. In some implementations, a POI can be associated with a popularity metric, the more popular the POI to the particular venue or to the public in general, the more likely it will be represented more prominently than other POIs. In some implementations, POIs could be assigned other values (e.g., a value indicating that the POI is frequently visited by the particular user) to be considered in prioritizing the POIs.
POIs can also be associated with a particular size based on their structure. For example, POI sizes can be small, medium, large, extra-large and double extra-large. The size of the POI can also be considered in determining which POIs should be represented more prominently on the current map view.
Once prioritized, POIs that should be represented more prominently, will be represented by its structure, POI indicator and textual label (i.e., state 3) if the display conditions of the map allow. Otherwise, POIs that should be represented more prominently, will be represented by its structure, POI dot and textual label (i.e., state 2) if the display conditions of the map allow. Finally, POIs that should be represented more prominently, will be represented by its structure and POI dot (i.e., state 1). In some implementations, double extra-large POIs (unless hidden) will always be represented by its structure, POI dot and textual label, or POI indicator and textual label (i.e., they will only be represented via states 2 or 3) due to their size.
The remaining POIs on the current map view will be represented as discussed above unless they are occluded. In that case, the POI of an occluded POI will only be represented by its structure with further identification hidden from the view (i.e., state 4).
In some implementations, map application 132 places POI dots and indicators in one of two locations within the POI's structure based on a size of the POI's structure.
Sometimes, however, the entire structure of a large-sized POI will not be in the current view (e.g., due to the zoom level or position of the POI in the current view, some of the POI's structure will not be shown in the current view). In these situations, it is not desirable, or may not be possible, to position the POI's dot in the center of its structure. Accordingly, another technique should be used.
In some implementations, the same type of POI placement is used when POIs are represented with labeling. For example,
Sometimes, however, the entire structure of a large-sized POI will not be in the current view (e.g., due to the zoom level or position of the POI in the current view, some of the POI's structure will not be shown in the current view). In these situations, it is not desirable, or may not be possible, to position the POI's dot in the center of its structure. Accordingly, another technique should be used.
In some implementations, map application 132 will place and anchor the textual labels of POIs with textual labels at different positions with respect to the associated POI dot or indicator in order to fit within the associated structure and to prevent overlaps with other POIs.
POI 4620 has structure 4622 with entrance 4628. Due to the position of entrance 4628 and location of adjacent POI 4610, textual label 4626 is anchored above POI indicator 4624. POI indicator 4624 and therefore textual label 4626 are offset from entrance 4628 by distance 4627. In addition, example POI 4630 has structure 4632 with entrance 4638. Due to the position of entrance 4638 and location of adjacent POIs, textual label 4636 is anchored to the left of POI indicator 4634. POI indicator 4634 and therefore textual label 4636 are offset from entrance 4638 by distance 4637. Although not shown in
In some implementations, after POI dots and indicators have been placed, map application 132 aligns them with respect to each other, providing an esthetically pleasing and uniform presentation of POIs. In some implementations, if a POI dot or indicator was offset from an entrance in a horizontal direction, the POI dot or indicator is aligned with other POI dots and indicators in the vertical direction. Likewise, if a POI dot or indicator was offset from an entrance in a vertical direction, the POI dot or indicator is aligned with other POI dots and indicators in the horizontal direction. Map application 132 aligns the POI dots and indicators such that they are separated by a static distance from each other.
Once at a venue, it is desirable for map application 132 to provide a route and/or turn-by-turn navigation instructions to a destination within the venue when desired by the user. As can be appreciated, indoor navigation of a venue with multiple floors or structures is quite complex and difficult and requires adjustments to the presentation to ensure that the navigation route is not hidden from view while the user is traversing the route. Moreover, the presentation may be required to route the user between floors using e.g., an elevator, escalator or staircase and thus must be able to present the route and navigation instructions accordingly.
In some implementations, map application 132 presents indoor route and/or turn-by-turn navigation instructions on user device 130 by determining the position of device 130 and venue structure using an indoor navigation method such as the polygon routing method disclosed in U.S. patent application Ser. No. 14/869,830, filed Sep. 29, 2015, which is hereby incorporated by reference in its entirety. While desired, the disclosed embodiments should not be limited to a polygon routing method for by determining the position of device 130 and venue structure and that any suitable indoor navigation method (e.g., GPS-based) can be used to provide the indoor route and/or turn-by-turn navigation instructions in accordance with the disclosed principles.
In some implementations, map application 132 uses a virtual camera that, based on detected changes in the navigation context, dynamically modifies the way it captures portions of the indoor map to produce different navigation scenes in the navigation presentation for the venue. U.S. patent application Ser. No. 15/274,378, filed Sep. 23, 2016, which is hereby incorporated by reference in its entirety, discloses a context driven navigation presentation for an outdoor environment. Similar principles can be used by map application 132 to provide a context driven navigation presentation for an indoor environment such as one of the venues discussed herein.
To generate the indoor navigation scenes, map application 132 can (1) identify different sets of attributes that describe the venue's different navigation contexts at different times during the navigation presentation, and (2) use these different sets of attributes to identify different styles for operating the virtual camera. In some embodiments, map application 132 uses an identified style to specify the virtual camera's positional attributes, which, in turn, define the portions of the indoor map that the virtual camera identifies for rendering to produce several navigation scenes for a period of time (e.g., until the navigation context changes, or until the navigation presentation ends when the navigation context does not change again). During the indoor navigation presentation, each time the navigation context changes, the identified set of attributes may change, which may also can the style for operating the virtual camera.
In some implementations, navigation module 4805 (1) identifies an indoor route for device 130 to navigate to a destination within the venue, (2) uses indoor navigation location services such as the polygon routing method disclosed in U.S. patent application Ser. No. 14/869,830 or another location-based service (e.g., GPS service) to identify the position of device 130 as it travels in a region of the venue, (3) correlates this position to venue locations on or near the generated route, and (4) generates sets of attributes that describe the different navigation contexts at different times during the indoor navigation presentation. Examples of such attributes include the type of walkway currently being navigated (e.g., surrounded by multiple points of interests, a hallway, an open area, a food court), whether the route is at a floor changing device (e.g., elevator, escalator, staircase), the distance to the next maneuver in the route, the type of next maneuver, the navigation status (e.g., on-route, off-route, recalculating-route), etc.
In some embodiments, each attribute set has several attributes and each time one of these attributes changes, the attribute set changes. In some embodiments, a change in the attribute set is viewed as a change to the navigation context. Each time the attribute set changes, navigation module 4805 in some embodiments provides this new attribute set to style engine 4815. In other embodiments, style engine 4815 iteratively queries the navigation module 4805 for the current attribute set that defines the current navigation context. In either of these approaches, style engine 4815 can repeatedly receive, from navigation module 4805, sets of attributes that express different navigation contexts at different instances of the navigation presentation.
Each time style engine 4815 receives a new attribute set from navigation module 4805, it examines the VC styles stored in style sheet 4810 to identify a VC style that matches the new attribute set. Style sheet 4810 is a data structure that stores several styles. In some embodiments, map application 132 can download new styles from a set of servers, which it then stores in style sheet 4810.
For each style, style sheet 4810 in some embodiments stores (1) a style identifier, and (2) a set of style properties. In some embodiments, the style identifier of a style is defined in terms of a set of attributes. Thus, to identify a VC style that matches a newly received attribute set, style engine 4815 in some embodiments compares the newly received attribute set with the set of attributes of the stored styles in order to identify a style with a matching attribute set. In some embodiments, the style identifiers are derived (e.g., are computed) from the associated attribute sets of the styles. For instance, in some embodiments, the style identifiers are hash values of the attribute sets. To identify a matching style, the style engine in these embodiments compares the newly received attribute set with the style identifiers, by first generating a hash of a newly received attribute set, and then using the computed hash value to identify a style in the style sheet with a matching style identifying hash value.
After identifying a style for a newly received attribute set, style engine 4815 determines whether the identified style is different from the previously identified style that is currently being used to define the operation of the virtual camera 4825. If not, style engine 4815 does not provide the VC engine a new style or a new set of VC properties. However, when the identified style is different from the previously identified style, style engine 4815 provides the new style's associated set of VC properties to VC engine 4820 of the map application.
VC engine 4820 identifies positional attributes of the virtual camera based on the properties sets of the VC styles that it receives from style engine 4815. These positional attributes, in turn, define the portions of the map that the virtual camera identifies for rendering to produce several navigation scenes for a period of time (e.g., until the navigation context changes, or until the end of the navigation presentation when the navigation context does not change again). When navigation module 4805 identifies different attribute sets to describe different navigation contexts, and the style engine 4815 identifies different VC styles based on these different attribute sets, style engine 4815 provides to VC engine 4820 different VC styles that specify different VC properties, which cause this engine to specify different ways that the virtual camera should define the portion of the map to render.
Based on a style's associated set of properties, VC engine 4820 of some embodiments identifies the virtual camera's angular pitch (e.g., from top-down position to a perspective angular position), the virtual camera's rotation (e.g., in an X-Y plane defined by x- and y-axes of the map's coordinate system), and the virtual camera's distance from a region on the map that it targets, e.g., from a location of a puck that represents the device in the navigation presentation as the puck navigates along a route in the presentation. In some embodiments, the virtual camera has a system of springs that specify its angular pitch, rotation, and height, and a style's associated set of properties are used to define one or more parameters of the spring system. The spring system in some embodiments also includes a spring for the position of the puck on the screen that displays the navigation presentation (i.e., the display screen on which the virtual camera captured view is projected). These embodiments use the spring system because this system provides an implicit way to specify the virtual camera's movement at different instances in time and an easy way to create the navigation presentation's animation. This is because the spring's properties (e.g., stiffness, damping, rest length, etc.) provide a set of parameters that the VC engine can rely on to bring the virtual camera's properties to their desired state smoothly In some of these embodiments, VC engine 4820 operates the virtual camera either in a tracking mode or a framing mode. During the tracking mode, the virtual camera tracks the puck along the route and maintains the device-representing puck (referred to below as the “puck”) at desired location(s) on the display screen that displays the navigation presentation. The display screen is the display screen of the device in some embodiments, while it is a display screen that is being driven by the device in other embodiments. In the framing mode, the virtual camera defines frames (e.g., bounding polygons) to capture collection of points along the route (including the puck's location), and displays these frames at a desired region of interest on the display screen as the puck travels along the route.
To generate the navigation presentation, the map application of some embodiments uses the following four coordinate systems: (1) a map coordinate system, (2) a puck coordinate system, (3) a virtual camera coordinate system, and (4) a display screen coordinate system. In some of these embodiments, the first three coordinate systems are three dimensional systems, with x-, y-, and z-axes, while the fourth coordinate system is a two dimensional system with x- and y-axes.
Also, in the example illustrated in
During tracking mode, VC engine 4820 in some embodiments maintains the same angular orientation (e.g., a zero angular offset) between the VC's coordinate system 4906 and the puck's coordinate system 4904 in the x-y plane 4955 of the map's coordinate system. For instance, in some embodiments, virtual camera 4825 points in the same direction as the puck during the tracking mode in some embodiments. Also, during the tracking mode, VC engine 4820 in some embodiments maintains the positional relationship (e.g., a zero offset) between the origins of the VC's coordinate system 4906 and the puck's coordinate system 4904. In other embodiments, during tracking mode, VC engine 4820 usually maintains the angular orientation and/or positional relationship between the VC and puck coordinate systems, but allows the angular orientation and/or positional relationship between these two coordinate systems to change for a transient period of time (e.g., the time during which the puck makes a left or right turn) to show more context around a maneuver.
During framing mode, VC engine 4920 in some embodiments completely or partially disassociates the angular rotation of the virtual camera's coordinate system 4906 and the puck's coordinate system 4904. This allows the puck to rotate separately from the map during the framing mode, and allows virtual camera 4825 to capture more of the desired region of interest during this mode. During framing mode, VC engine 4820 in some embodiments no longer requires the origin of the VC's coordinate system 4906 to be held at a particular offset (e.g., zero offset) with respect to the puck's coordinate system 4904. This allows virtual camera 4825 to assume a variety of offset positions to capture more of the useful map areas around or ahead of the puck 4930.
In some embodiments, VC engine 4820 completely or partially disassociates the positional and angular relationships of virtual camera 4825 and puck 4930 during the framing mode by having the virtual camera frame a collection of points (e.g., points along the route, including the puck) for display at the field of focus on the display screen. In some embodiments, the field of focus is a region on the display screen that designers of the map application have designated as the desired location for showing the puck and important points about the puck and the route (e.g., points being framed, such as the puck and nearby maneuvers).
During the framing mode, VC engine 4820 of some embodiments initially defines the virtual camera parameters that would define a VC field of view that frames the collection of points. After identifying these virtual camera parameters, the VC engine in some embodiments adjusts the virtual camera parameters (e.g., zoom level) in order to try to display the virtual camera's field of view at desired region(s) of interest on the display screen as the puck travels along the route. For example, in some embodiments, the puck is the only point that has to be framed in the collection of points that the VC engine tries to have the virtual camera frame in the framing mode. In some of these embodiments, a style can define a bounding shape (e.g., a bounding box) that is defined about the puck for a particular framing operation that is associated with the style.
During framing, VC engine 4820 projects the collection of points being framed to the display screen coordinate system (e.g., based on the virtual camera's expected, unadjusted position for the next navigation scene). A framing bounding shape (e.g., bounding box) is then defined in the screen space about the projection of the collection of points. The VC engine then uses the puck's bounding shape to determine how much the virtual camera's origin can be offset to capture as many of the collection of points being framed. This operation clips the framing bounding shape. The zoom level of the virtual camera is then adjusted to align one of the sides of the framing bounding shape with one of the sides of the sub-region that represents the display screen's field of focus.
In some implementations, GUI 5000 also includes control area 5050 that has first field 5052 identifying intended destination 5018 as “Brett's Desk,” by way of example. Control area 5050 also includes second field 5054 identifying the location of intended destination 5018 as “1st floor, Section 162,” by way of example. Control area 5050 also includes first selector 5060 for starting an indoor navigation presentation, whereby the user can obtain turn-by-turn instructions for navigating route 5010, and second selector 5062 for cancelling out of overview 5003 presented by GUI 5000. In the illustrated example, first selector 5060 also indicates the projected time to intended destination 5018 shown as “2 min,” by way of example.
As will become apparent, overview 5103 provides one way for a user to traverse route 5010. That is, the user and user device 130 may simply view route 5010 as they move along it. User location is updated using user current location puck 5101 and adherence to route 5010 can be observed by the manner in which route 5010 is presented. For example, if route 5010 is presented as getting shorter and user current location puck 5101 is getting closer to intended destination 5018, the user is on-route. However, if route 5010 is presented as getting longer and user current location puck 5101 is getting further away from intended destination 5018, the user is off-route or going in the wrong direction. Should the user desire turn-by-turn instructions, the user will need to activate turn-by-turn navigation mode.
Overview 5103 also includes textual instruction 5120 “Down—1st fl,” indicating that in this example route 5010 goes down to first floor 5016. Overview 5103 also includes floor changing identifier 5122 illustrating a mechanism for moving from upper floor 5012 to lower floor 5016. In some implementations, floor changing identifier 5122 can be in a different color than the color used for route 5010. In addition to, or alternatively, floor changing identifier 5122 could be animated (e.g., flashing, giving the appearance that it is moving up and down) to further present to a user that floor changing identifier 5122 is for changing floors.
Overview 5103 also illustrates several floors 5130, 5132 and 5134 that are within venue 5004, but are being passed through by route 5010. In some implementations, bypassed floors 5130, 5132 and 5134, as well as other structures that are not needed to traverse route 5010, are presented in a deemphasized manner (e.g., grayed out, shown in phantom, etc.) in comparison to the structures along route 5010.
In some implementations, GUI 5100 also includes control area 5150 that has first field 5152 identifying intended destination 5018 as “Brett's Desk,” by way of example. Control area 5150 also includes second field 5154 identifying the location of intended destination 5018 as “1st floor—Desk,” by way of example. Control area 5150 also includes third field 5156 indicating that the projected route to intended destination 5018 is “2 min (465 ft),” by way of example. Control area 5150 can also include other information about intended destination 5018. For example, control area 5150 can also include fourth field 5158 indicating that intended destination 5018 has “restricted access,” by way of example. This additional information can alert the user that a badge or other identifier is required at intended destination 5018.
Control area 5150 also includes first selector 5160 for starting an indoor navigation presentation, whereby the user can obtain turn-by-turn instructions for navigating route 5010, and second selector 5162 for cancelling out of overview 5103 presented by GUI 5100.
In the illustrated example, map application 132 has determined that the overhead overview 5103 is suitable based on the user position and the structural layout of route 5010. For example, map application 132 can determine that the user's current location and the path of the route are not obstructed by the floors, walls or other structures along the route. As noted above, however, it is desirable to ensure that the route does not get hidden as the user traverses the route. Thus, the presentation of route 5010 and structures along the route may require adjustment. In some implementations, adjustments may include separating, repositioning, adjusting the pitch/angle of the floors.
In addition, the context of maneuvers or structure along route 5010 or user behavior on route 5010 may require adjustments of the virtual camera as the route 5010 is being traversed by user device 130. For example, views can be zoomed out or in, floors on the map be separated further, pitch angle could be adjusted such that route 5010 becomes more visible and clearer in the presentation. As discussed above, the adjustments can be made based on a set of attributes such as e.g., the type of walkway currently being navigated (e.g., surrounded by multiple points of interests, a hallway, an open area, a food court), whether the route is at a floor changing device (e.g., elevator, escalator, staircase), the distance to the next maneuver in the route, the type of next maneuver, the navigation status (e.g., on-route, off-route, recalculating-route), etc. As noted above, bypassed floors and other structures that are not needed to traverse route 5010 can be presented in a deemphasized manner (e.g., grayed out, shown in phantom, etc.) in comparison to the structures along route 5010.
As is clear from overview 5503, a user must change floors to traverse route 5510. Accordingly, floor changing identifier 5522 is illustrated in overview 5503 as part of route 5510. In some implementations, one or more graphics or other indicators can be used in conjunction with floor changing identifier 5122 to identify a mechanism within venue 5504 that can be used to change floors. For example, overview 5503 includes graphic 5532 representing an elevator bay on upper floor 5512 and graphic 5542 representing an elevator bay on lower floor 5516 that is part of route 5510. Graphic 5532 and graphic 5542 are connected to floor changing identifier 5122 to present to the user how to get from upper floor 5512 to lower floor 5516. Graphic 5532 and graphic 5542 could be animated to (e.g., giving the appearance that they are moving up and down) to further present to a user that graphics 5532 and 5542 represent an elevator bay.
GUI 5500 illustrates other floor changing devices that are not part of route 5510. For example, overview 5503 includes graphic 5530 representing a staircase on upper floor 5512, graphic 5534 representing another elevator bay on upper floor 5512, and graphic 5536 representing an escalator on upper floor 5512. Graphic 5534 and graphic 5536 could be animated to (e.g., giving the appearance that they are moving up and down) to further present to a user that graphic 5534 represents an elevator bay and graphic 5536 represents an escalator.
In addition, overview 5503 includes corresponding graphics on lower floor 5516. For example, overview 5503 includes graphic 5540 representing a staircase on lower floor 5516, graphic 5544 representing another elevator bay on lower floor 5516, and graphic 5546 representing an escalator on lower floor 5516. Graphic 5544 and graphic 5546 could be animated to (e.g., giving the appearance that they are moving up and down) to further present to a user that graphic 5544 represents an elevator bay and graphic 5546 represents an escalator. Based on overview 5503, a user can determine that there are other methods for moving between floors 5512 and 5516 should the user go off-route.
In some implementations, map application 132 can provide a turn-by-turn navigation presentation for a route within a venue in a turn-by-turn navigation mode. In some implementations, the turn-by-turn navigation presentation will be context driven and based on one or more attributes discussed herein.
In some implementations, GUI 5600 includes second display area 5630 for providing turn-by-turn instructions and other information for route 5660 to intended destination 5664. For example, second display area 5630 includes field 5632 presenting the distance to the next maneuver in route 5660. Field 5632 decrements the distance if the user is on-route and is heading towards intended destination 5664. Field 5632, however, will increment the distance if the user is off-route or is heading in the wrong direction. Thus, field 5632 is useful in orienting the user during route 5660.
Second display area 5630 also includes field 5634 describing the next maneuver as e.g., a left turn and field 5636 identifying where the next maneuver is to be made (e.g., “at Ben Bridge Jeweler”). Graphic 5638 may also be provided to illustrate the next maneuver on route 5660. In some implementations, second display area 5630 includes selector 5637 allowing a user to view a maneuver that occurs after the next scheduled maneuver, thus providing the user with a method for peeking ahead at subsequent instructions.
In some implementations, GUI 5600 includes third display area 5650 for presenting graphical view 5653 of route 5660. Graphical view 5653 includes map 5652, which can be an indoor map as disclosed herein. Graphical view 5653 presents route 5660 between current location puck 5662 and intended destination 5664. In the illustrated example, map application 132 has determined that graphical view 5653 is suitable based on the context of the current maneuver and layout within map 5652. However, as the user traverses route 5660, the context may change and the view presented by map application 132 may need to be changed.
GUI 5700 includes first display are 5720, which in the illustrated example is unchanged from first display area 5620 of GUI 5600. GUI 5700 also includes second display area 5730 for providing turn-by-turn instructions and other information for route 5660. For example, second display area 5730 includes field 5732 presenting the distance to the next maneuver in route 5660. Field 5732 decrements the distance if the user is on-route and is heading towards intended destination 5664. Field 5732, however, will increment the distance if the user is off-route or is heading in the wrong direction. Thus, field 5732 is useful in orienting the user during route 5660.
Second display area 5730 also includes field 5734 describing the next maneuver as e.g., a left turn. Graphic 5738 may also be provided to illustrate the next maneuver on route 5660. In some implementations, second display area 5730 includes selector 5737 allowing a user to view the prior maneuver. Second display area 5730 can include a selector allowing the user to view a subsequent maneuver instead.
In some implementations, GUI 5700 includes third display area 5750 for presenting graphical view 5753 of route 5660. Graphical view 5753 includes map 5652, which can be an indoor map as disclosed herein. As mentioned above, graphical view 5753 represents a counter-clockwise rotation of map 5652 shown in graphical view 5653 (
GUI 5800 includes first display are 5820, which in the illustrated example is unchanged from first display area 5620 of GUI 5600. GUI 5800 also includes second display area 5830 for providing turn-by-turn instructions and other information for route 5660. For example, second display area 5830 includes field 5832 presenting the distance to the next maneuver in route 5660. Field 5832 decrements the distance if the user is on-route and is heading towards intended destination 5664. Field 5832, however, will increment the distance if the user is off-route or is heading in the wrong direction. Thus, field 5832 is useful in orienting the user during route 5660.
Second display area 5830 also includes field 5334 describing the next maneuver as e.g., the destination is on the right. Graphic 5838 may also be provided to illustrate that the destination is approaching.
In some implementations, GUI 5800 includes third display area 5850 for presenting graphical view 5853 of route 5660. Graphical view 5853 includes map 5652, which can be an indoor map as disclosed herein. As mentioned above, graphical view 5853 represents a clockwise rotation of map 5652 shown in graphical view 5753 (
GUI 5900 includes first display are 5920, which in the illustrated example includes field 5922 identifying intended destination 5664 as “Express Men,” by way of example. GUI 5900 also includes second display area 5930 for providing information at the arrived state of route 5660. For example, second display area 5930 includes field 5932 presenting the distance to the destination, which is 0 feet since the destination has been reached. Second display area 5930 also includes field 5334 indicating that the user has arrived at the destination. Graphic 5938 may also be provided to illustrate that the user has reached its destination.
In some implementations, GUI 5900 includes third display area 5950 for presenting graphical view 5953 of route 5660. Graphical view 5953 includes map 5652, which can be an indoor map as disclosed herein. As mentioned above, graphical view 5953 represents a counter-clockwise rotation of map 5652 shown in graphical view 5853 (
In some implementations, map application 132 may route user device 130 inside intended destination 5664 instead of routing the user to the entrance of intended destination 5664. This may be desirable when e.g., entrances of two points of interest are adjacent each other.
In some implementations, the turn-by-turn navigation instructions will include additional information to help orient the user or to guide the user through a specific structure (i.e., a food court, open area, elevator bay) associated with a venue. For example, if the user needs to change floors and there are e.g., multiple elevator bays or other options available to change floors, map application 132 will provide an instruction such as “take an elevator to floor 3” or “proceed to floor 3.” Due to uncertain nature of how the user arrives on the third floor, map application 132 must ensure the orientation of the user by providing a leading/orienting instruction such as e.g., “head towards the Apple Store” or “Sears” or some point of interest that includes prominent marking within the venue to put the user on-route. Other types of instructions could be used to properly orient the user.
As noted above with respect to
To enable the reader to obtain a clear understanding of the technological concepts described herein, the following processes describe specific steps performed in a specific order. However, one or more of the steps of a particular process may be rearranged and/or omitted while remaining within the contemplated scope of the technology disclosed herein. Moreover, different processes, and/or steps thereof, may be combined, recombined, rearranged, omitted, and/or executed in parallel to create different process flows that are also within the contemplated scope of the technology disclosed herein. Additionally, while the processes below may omit or briefly summarize some of the details of the technologies disclosed herein for clarity, the details described in the paragraphs above may be combined with the process steps described below to get a more complete and comprehensive understanding of these processes and the technologies disclosed herein.
At step 6402, map application 132 can present a graphical user interface displaying an outdoor map with an image of one or more venues having an indoor map selector. For example, map application 132 can present GUI 200 of
At step 6404, map application 132 can present a graphical user interface displaying a cut-away 3D view of a venue based upon a zoom-in operation performed by a user using user device 130. For example, map application 132 can present GUI 400 of
At step 6406, in response to a selection of an indoor map selector (e.g., selector 312 of
At step 6408, in response to a zoom-in operation of a prior GUI illustrating an indoor map (e.g., map 502 of
At step 6410, in response to a selection of a specific point of interest on an indoor map (e.g., POI 610 of
As noted above, some points of interest can have their own indoor map or sub-map (e.g., POI 1020 of
If it was determined at step 6452 that a POI was not selected, at step 6454, map application 132 determines if the user is performing a search operation. If a search operation is being performed, map application can present a graphical user interface displaying the last floor viewed by the user if it has a search result, the floor the user is on if it has a search result, the default floor for the venue if it has a search result, or the floor with the most search results.
If it was determined at step 6454 that the user is not performing a search, at step 6456, map application 132 determines if the user previously viewed a floor. If the user previously viewed a floor, map application can present a graphical user interface displaying the floor previously viewed by the user.
If it was determined at step 6456 that the user did not previously view a floor, map application 132, at step 6458, determines if the user is at the venue. If the user is at the venue, map application 132 can present a graphical user interface displaying the floor the user is on.
If it was determined at step 6458 that the user is not at the venue, map application 132, at step 6460 can present a graphical user interface displaying the default floor for the venue.
At step 6502, map application 132 can present a graphical user interface displaying an indoor map illustrating the indoor structure of the venue as well as points of interest within the venue. For example, map application 132 can present GUI 1300 of
At step 6504, map application 132 will also present a venue directory within the graphical user interface presented at step 6502. For example, map application 132 can present GUI 1400 of
At step 6506, in response to a selection of a specific category of points of interest (e.g., one of category selectors 1462, 1464, 1466, 1468, 1470, 1472 or 1474 of
In some implementations, map application 132 can present a floor switcher (e.g., floor switcher 2120 of
At step 6508, in response to a selection of a specific points of interest from the map or from the list presented at step 6506, map application 132 can present a graphical user interface comprising rich information concerning the selected point of interest. For example, map application 132 can present GUI 2000 of
At step 6602, map application 132 or external application can present a graphical user interface displaying a search field and/or point of interest category selectors for performing a search of venue, item or category of points of interest as described herein. For example, map application 132 can present GUI 3100 of
At step 6604, map application 132 or external application can input a search request via the graphical user interface presented at step 6602. At step 6606, map application 132 or external application can display search results on the graphical user interface presented at step 6602. At least one search result will be a venue having an indoor map in accordance with the disclosed principles.
At step 6608, in response to a selection of an indoor map selector (e.g., selector 3267 of
At step 6702, map application 132 inputs the sequence of maneuvers for a route to a destination. In some implementations, the sequence of instructions are input from map service 104 over network 120.
At step 6704, map application 132 presents a graphical user interface comprising a view of the route based on a first view point of a virtual camera. For example, map application 132 can present GUI 5000 of
At step 6706, and as the user is traversing the route, map application 132 determines if the any portion of route will be obstructed or hidden from view. If so, map application 132 presents a graphical user interface comprising a view of the route with adjusted structure for the route. For example, map application 132 can present GUI 5200 of
At step 6708, and as the user is traversing the route, map application 132 determines if the context of the user's position, next maneuver and/or venue structure requires adjustment of the virtual camera to ensure that the route remains visible. If an adjustment is required, map application 132 presents a graphical user interface comprising a view of the route at the adjusted view of the virtual camera. For example, map application 132 can present GUI 5600 of
At step 6710, if the user requested turn-by-turn indoor navigation instructions map application 132 can display turn-by-turn indoor navigation instructions in a second display area in the graphical user interface. For example, map application 132 can present GUI 5600 of
This disclosure above describes various Graphical User Interfaces (GUIs) for implementing various features, processes or workflows. These GUIs can be presented on a variety of electronic devices including but not limited to laptop computers, desktop computers, computer terminals, television systems, tablet computers, e-book readers and smart phones. One or more of these electronic devices can include a touch-sensitive surface. The touch-sensitive surface can process multiple simultaneous points of input, including processing data related to the pressure, degree or position of each point of input. Such processing can facilitate gestures with multiple fingers, including pinching and swiping.
When the disclosure refers to “select” or “selecting” user interface elements in a GUI, these terms are understood to include clicking or “hovering” with a mouse or other input device over a user interface element, or touching, tapping or gesturing with one or more fingers or stylus on a user interface element. User interface elements can be virtual buttons, menus, selectors, switches, sliders, scrubbers, knobs, thumbnails, links, icons, radio buttons, checkboxes and any other mechanism for receiving input from, or providing feedback to a user.
The present disclosure recognizes that the use of such personal information data, in the present technology, can be used to the benefit of users. For example, the personal information data can be used to deliver targeted content that is of greater interest to the user. Accordingly, use of such personal information data enables calculated control of the delivered content. Further, other uses for personal information data that benefit the user are also contemplated by the present disclosure.
The present disclosure further contemplates that the entities responsible for the collection, analysis, disclosure, transfer, storage, or other use of such personal information data will comply with well-established privacy policies and/or privacy practices. In particular, such entities should implement and consistently use privacy policies and practices that are generally recognized as meeting or exceeding industry or governmental requirements for maintaining personal information data private and secure. For example, personal information from users should be collected for legitimate and reasonable uses of the entity and not shared or sold outside of those legitimate uses. Further, such collection should occur only after receiving the informed consent of the users. Additionally, such entities would take any needed steps for safeguarding and securing access to such personal information data and ensuring that others with access to the personal information data adhere to their privacy policies and procedures. Further, such entities can subject themselves to evaluation by third parties to certify their adherence to widely accepted privacy policies and practices.
Despite the foregoing, the present disclosure also contemplates embodiments in which users selectively block the use of, or access to, personal information data. That is, the present disclosure contemplates that hardware and/or software elements can be provided to prevent or block access to such personal information data. For example, in the case of advertisement delivery services, the present technology can be configured to allow users to select to “opt in” or “opt out” of participation in the collection of personal information data during registration for services. In another example, users can select not to provide location information for targeted content delivery services. In yet another example, users can select to not provide precise location information, but permit the transfer of location zone information.
Sensors, devices, and subsystems can be coupled to the peripherals interface 6806 to facilitate multiple functionalities. For example, a motion sensor 6810, a light sensor 6812, and a proximity sensor 6814 can be coupled to the peripherals interface 6806 to facilitate orientation, lighting, and proximity functions. Other sensors 6816 can also be connected to the peripherals interface 6806, such as a global navigation satellite system (GNSS) (e.g., GPS receiver), a temperature sensor, a biometric sensor, magnetometer or other sensing device, to facilitate related functionalities.
A camera subsystem 6820 and an optical sensor 6822, e.g., a charged coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) optical sensor, can be utilized to facilitate camera functions, such as recording photographs and video clips. The camera subsystem 6820 and the optical sensor 6822 can be used to collect images of a user to be used during authentication of a user, e.g., by performing facial recognition analysis.
Communication functions can be facilitated through one or more wireless communication subsystems 6824, which can include radio frequency receivers and transmitters and/or optical (e.g., infrared) receivers and transmitters. The specific design and implementation of the communication subsystem 6824 can depend on the communication network(s) over which the computing device 6800 is intended to operate. For example, the computing device 6800 can include communication subsystems 6824 designed to operate over a GSM network, a GPRS network, an EDGE network, a Wi-Fi or WiMax network, and a Bluetooth™ network. In particular, the wireless communication subsystems 6824 can include hosting protocols such that the device 130 can be configured as a base station for other wireless devices.
An audio subsystem 6826 can be coupled to a speaker 6828 and a microphone 6830 to facilitate voice-enabled functions, such as speaker recognition, voice replication, digital recording, and telephony functions. The audio subsystem 6826 can be configured to facilitate processing voice commands, voiceprinting and voice authentication, for example.
The I/O subsystem 6840 can include a touch-surface controller 6842 and/or other input controller(s) 6844. The touch-surface controller 6842 can be coupled to a touch surface 6846. The touch surface 6846 and touch-surface controller 6842 can, for example, detect contact and movement or break thereof using any of a plurality of touch sensitivity technologies, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch surface 6846.
The other input controller(s) 6844 can be coupled to other input/control devices 6848, such as one or more buttons, rocker switches, thumb-wheel, infrared port, USB port, and/or a pointer device such as a stylus. The one or more buttons (not shown) can include an up/down button for volume control of the speaker 6828 and/or the microphone 6830.
In one implementation, a pressing of the button for a first duration can disengage a lock of the touch surface 6846; and a pressing of the button for a second duration that is longer than the first duration can turn power to the computing device 6800 on or off. Pressing the button for a third duration can activate a voice control, or voice command, module that enables the user to speak commands into the microphone 6830 to cause the device to execute the spoken command. The user can customize a functionality of one or more of the buttons. The touch surface 6846 can, for example, also be used to implement virtual or soft buttons and/or a keyboard.
In some implementations, the computing device 6800 can present recorded audio and/or video files, such as MP3, AAC, and MPEG files. In some implementations, the computing device 6800 can include the functionality of an MP3 player, such as an iPod™. The computing device 6800 can, therefore, include a 36-pin connector that is compatible with the iPod. Other input/output and control devices can also be used.
The memory interface 6802 can be coupled to memory 6850. The memory 6850 can include high-speed random access memory and/or non-volatile memory, such as one or more magnetic disk storage devices, one or more optical storage devices, and/or flash memory (e.g., NAND, NOR). The memory 6850 can store an operating system 6852, such as Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embedded operating system such as VxWorks.
The operating system 6852 can include instructions for handling basic system services and for performing hardware dependent tasks. In some implementations, the operating system 6852 can be a kernel (e.g., UNIX kernel). In some implementations, the operating system 6852 can include instructions for performing voice authentication. For example, operating system 6852 can implement the venue and indoor map features as described with reference to
The memory 6850 can also store communication instructions 6854 to facilitate communicating with one or more additional devices, one or more computers and/or one or more servers. The memory 6850 can include graphical user interface instructions 6856 to facilitate graphic user interface processing; sensor processing instructions 6858 to facilitate sensor-related processing and functions; phone instructions 6860 to facilitate phone-related processes and functions; electronic messaging instructions 6862 to facilitate electronic-messaging related processes and functions; web browsing instructions 6864 to facilitate web browsing-related processes and functions; media processing instructions 6866 to facilitate media processing-related processes and functions; GNSS/Navigation instructions 6868 to facilitate GNSS and navigation-related processes and instructions; and/or camera instructions 6870 to facilitate camera-related processes and functions.
The memory 6850 can store other software instructions 6872 to facilitate other processes and functions, such as the venue and indoor map processes and functions as described with reference to
The memory 6850 can also store other software instructions 6874, such as web video instructions to facilitate web video-related processes and functions; and/or web shopping instructions to facilitate web shopping-related processes and functions. In some implementations, the media processing instructions 6866 are divided into audio processing instructions and video processing instructions to facilitate audio processing-related processes and functions and video processing-related processes and functions, respectively.
Each of the above identified instructions and applications can correspond to a set of instructions for performing one or more functions described above. These instructions need not be implemented as separate software programs, procedures, or modules. The memory 6850 can include additional instructions or fewer instructions. Furthermore, various functions of the computing device 6800 can be implemented in hardware and/or in software, including in one or more signal processing and/or application specific integrated circuits.
Number | Name | Date | Kind |
---|---|---|---|
7130742 | Kobuya et al. | Oct 2006 | B2 |
8010279 | Kobuya et al. | Aug 2011 | B2 |
8112299 | Kim | Feb 2012 | B2 |
8464181 | Bailiang et al. | Jun 2013 | B1 |
8490025 | Jakobson | Jul 2013 | B2 |
8817049 | Ofek et al. | Aug 2014 | B2 |
8823734 | Bailiang | Sep 2014 | B1 |
8868337 | Pierfelice | Oct 2014 | B2 |
8928657 | Bailiang | Jan 2015 | B2 |
8972186 | Kobuya et al. | Mar 2015 | B2 |
9113309 | Uilecan et al. | Aug 2015 | B2 |
9310205 | Xu et al. | Apr 2016 | B2 |
9323420 | Bailiang et al. | Apr 2016 | B2 |
9417777 | Pensack-Rinehart et al. | Aug 2016 | B2 |
9423268 | Blumenberg et al. | Aug 2016 | B2 |
9488481 | Javed et al. | Nov 2016 | B2 |
9525976 | Dharwada et al. | Dec 2016 | B2 |
9538332 | Mendelson | Jan 2017 | B1 |
9600544 | Snellman et al. | Mar 2017 | B2 |
9626025 | Suzuki | Apr 2017 | B2 |
9629118 | Rhoads | Apr 2017 | B2 |
9646416 | Kishikawa et al. | May 2017 | B2 |
9891070 | Park et al. | Feb 2018 | B2 |
10008046 | Suni et al. | Jun 2018 | B2 |
10057399 | Song et al. | Aug 2018 | B2 |
10108693 | Edecker et al. | Oct 2018 | B2 |
10185788 | Wither et al. | Jan 2019 | B2 |
10281289 | Nevrekar et al. | May 2019 | B2 |
10489014 | Greenwald et al. | Nov 2019 | B2 |
10636207 | Swidersky et al. | Apr 2020 | B1 |
11193788 | Shelby et al. | Dec 2021 | B2 |
20010025278 | Yourlo et al. | Sep 2001 | A1 |
20060069504 | Bradley et al. | Mar 2006 | A1 |
20080109718 | Narayanaswami | May 2008 | A1 |
20090144143 | Iyer | Jun 2009 | A1 |
20090172600 | Yajun et al. | Jul 2009 | A1 |
20090198767 | Jakobson et al. | Aug 2009 | A1 |
20090201176 | Shimada et al. | Aug 2009 | A1 |
20100020093 | Stroila et al. | Jan 2010 | A1 |
20100146436 | Jakobson et al. | Jun 2010 | A1 |
20110025531 | Geelen et al. | Feb 2011 | A1 |
20110184945 | Das et al. | Jul 2011 | A1 |
20110218864 | Pentz et al. | Sep 2011 | A1 |
20110320215 | Cooper et al. | Dec 2011 | A1 |
20120016578 | Coppens | Jan 2012 | A1 |
20120065944 | Nielsen et al. | Mar 2012 | A1 |
20120166077 | Herzog et al. | Jun 2012 | A1 |
20120176525 | Garin et al. | Jul 2012 | A1 |
20130054573 | Snellman et al. | Feb 2013 | A1 |
20130101163 | Gupta et al. | Apr 2013 | A1 |
20130191911 | Dellinger | Jul 2013 | A1 |
20130321401 | Piemonte et al. | Dec 2013 | A1 |
20130321466 | Kocienda | Dec 2013 | A1 |
20130326425 | Forstall et al. | Dec 2013 | A1 |
20140012497 | Pierfelice | Jan 2014 | A1 |
20140013263 | Bailiang et al. | Jan 2014 | A1 |
20140165091 | Abhyanker | Jun 2014 | A1 |
20140223360 | Bailiang | Aug 2014 | A1 |
20140240350 | Chen et al. | Aug 2014 | A1 |
20140245232 | Bailiang | Aug 2014 | A1 |
20140253538 | Bailiang | Sep 2014 | A1 |
20140253582 | Chen et al. | Sep 2014 | A1 |
20140257687 | Chen et al. | Sep 2014 | A1 |
20140274138 | Chao et al. | Sep 2014 | A1 |
20140280180 | Edecker et al. | Sep 2014 | A1 |
20140297666 | Morris | Oct 2014 | A1 |
20140323163 | Venkatraman et al. | Oct 2014 | A1 |
20140342662 | Das et al. | Nov 2014 | A1 |
20150019625 | Pensack-Rinehart et al. | Jan 2015 | A1 |
20150020008 | Pensack-Rinehart et al. | Jan 2015 | A1 |
20150024711 | Stob | Jan 2015 | A1 |
20150052460 | Mohammad et al. | Feb 2015 | A1 |
20150130788 | Bailiang | May 2015 | A1 |
20150161819 | Chen et al. | Jun 2015 | A1 |
20150170256 | Pettyjohn et al. | Jun 2015 | A1 |
20150177923 | Philip | Jun 2015 | A1 |
20150187100 | Berry et al. | Jul 2015 | A1 |
20150233715 | Xu | Aug 2015 | A1 |
20150286324 | Suzuki | Oct 2015 | A1 |
20150369623 | Blumenberg et al. | Dec 2015 | A1 |
20160012635 | Kishikawa et al. | Jan 2016 | A1 |
20160034827 | Morris | Feb 2016 | A1 |
20160102983 | Javed et al. | Apr 2016 | A1 |
20160161277 | Park et al. | Jun 2016 | A1 |
20160258767 | Nevrekar et al. | Sep 2016 | A1 |
20160259500 | Greenwald | Sep 2016 | A1 |
20170103145 | Wither et al. | Apr 2017 | A1 |
20180005454 | Suni et al. | Jan 2018 | A1 |
20180301111 | Park et al. | Oct 2018 | A1 |
20180347988 | Marusco et al. | Dec 2018 | A1 |
20180348011 | Shelby et al. | Dec 2018 | A1 |
20180348985 | Shelby et al. | Dec 2018 | A1 |
20180349413 | Shelby et al. | Dec 2018 | A1 |
20200272143 | Scott et al. | Aug 2020 | A1 |
Number | Date | Country |
---|---|---|
102762955 | Oct 2012 | CN |
102782450 | Nov 2012 | CN |
102804181 | Nov 2012 | CN |
103838807 | Jun 2014 | CN |
104246436 | Dec 2014 | CN |
104680397 | Jun 2015 | CN |
105191387 | Dec 2015 | CN |
106127850 | Nov 2016 | CN |
106153049 | Nov 2016 | CN |
106289260 | Jan 2017 | CN |
106303964 | Jan 2017 | CN |
106705953 | May 2017 | CN |
106776813 | May 2017 | CN |
2878923 | Jun 2015 | EP |
2011091306 | Jul 2011 | WO |
Entry |
---|
Google Developers, “Google I/O 2013—The Next Frontier: Indoor Maps”, May 16, 2013, Retrieved from the Internet: URL: https://www.youtube.com/watch?v=oLOUXNEcAJk, (1 page). |
Hughesy Tech, “3-D indoor venue maps on @Here app for Android”, Feb. 17, 2015, Retrieved from the Internet: URL: https://www.youtube.com/watch?v=5JeBOibfTRI, (1 page). |
PhoneArena, “Google Maps 6.0 with indoor navigation overview”, Nov. 30, 2011, p. 1, Retrieved from the Internet: URL: https://www.youtube.com/watch?v=cPsTWj03Qs. |
Anonymous: “Go Inside with Indoor Maps”, Retrieved from https://www.google.com/maps/about/partners/indoormaps/, Oct. 21, 2022, 6 Pages. |
Anonymous: “Schiphol Airport Releases Indoor Wayfinding”, Retrieved from https://www.m2mobi.com/blog/schiphol-airport-releases-indoor-wayfinding, Jan. 14, 2016, 11 Pages. |
Businesswire: “Indoor Retail Mapping Leader aisle411 Delivers In-Store 3D Mapping on Google's Project Tango”, Retrieved from https://www.youtube.com/watch?v=6QHaUAnecuM, Jun. 25, 2014, 3 Pages. |
Miles,“6 Indoor Navigation Platforms for Retailers”, Retrieved from https://streetfightmag.com/2013/01/29/6-indoor-navigation-platforms-for-retailers/, Jan. 29, 2013, 5 Pages. |
Number | Date | Country | |
---|---|---|---|
20200340822 A1 | Oct 2020 | US |
Number | Date | Country | |
---|---|---|---|
62514547 | Jun 2017 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15990957 | May 2018 | US |
Child | 16928412 | US |