Venue map application and system
By providing internal views and catalogs of a site, the map application solves the problem of users struggling to determine the internal structure of a site, enabling efficient searching and navigation within the site and enhancing the application's functionality.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- APPLE INC
- Filing Date
- 2018-06-01
- Publication Date
- 2026-07-03
AI Technical Summary
Existing map applications cannot provide an internal view of a site or the type and layout of points of interest within the site, making it difficult for users to determine whether a site is their destination and to find the points of interest they need.
It provides a map application that can display the physical structure of the site and the location and layout of points of interest, and supports zoom-in views to show detailed internal structures. It also provides a site directory to facilitate searching and navigation to specific points of interest, and allows other applications to access the internal view.
Users can learn about the internal structure and the location of points of interest before entering the venue, which improves the search and navigation capabilities within the venue and enhances the search and browsing functions of external applications.
Smart Images

Figure CN116628120B_ABST
Abstract
Description
[0001] This application is a divisional application of invention patent application No. 201810576958.3 entitled "Site Map Application and System", filed on June 1, 2018. Technical Field
[0002] This disclosure relates in general to providing map-related features of a site in a map application. Background Technology
[0003] Mobile devices such as smartphones, tablets, smartwatches, and other computing devices typically include applications that provide interfaces allowing users to access services from network service providers. Examples of such applications and / or services are map and / or navigation-related applications and / or services. For instance, when a user uses a map application on a mobile device, the map application can use a network connection (e.g., an internet connection) to obtain map data (e.g., map imagery, points of interest, etc.) of the mobile device's current location from a map service. The map application can then use the map data received from the map service to provide the user with various map-related services.
[0004] These applications allow users to view maps of areas near them. The maps can identify locations such as shops, shopping malls, office buildings, and / or airports, to name a few. Users can select a location and retrieve its driving directions. Typical map applications also allow users to search for locations or addresses and obtain driving directions to one or more search results. However, these applications do not provide internal views of the locations or the types and / or layouts of points of interest within the locations. Internal views of locations help users determine if a location is truly where they want to go, or if there is another location available to meet their needs. Therefore, map applications that provide internal views of locations located and / or identified by the map application are needed and expected.
[0005] In addition, there is a need and a expectation for map applications that can present an internal view of the site in a way that allows users to easily search, identify, and navigate to points of interest within the site. The internal view of the map application should also be accessible to other applications and programs on the user's device to enhance the user experience with those applications and programs. Summary of the Invention
[0006] In some implementations, the computing device can provide a mapping application that represents the physical structure of a site (e.g., a shopping mall, office building, airport). Furthermore, the application can provide an interior view, including the physical layout and geometry of the site structure, as well as the location, structure, and layout of points of interest within the site (e.g., shops, restaurants, offices, security checkpoints, restrooms). As the user zooms in on the site to display points of interest, the view becomes more detailed and gives the user the feeling of traversing the site.
[0007] In some implementations, map applications can provide a unique site directory, offering a convenient and intuitive mechanism for searching various categories of points of interest (e.g., clothing, food, restrooms) or specific items within the site. Search results can be presented on a map of a floor within the site, as well as in a list providing all search results located within the site.
[0008] In some implementations, the map application's internal views can be accessed by other applications and programs on the user's device. Therefore, whether intentionally or not, search results identified by the map application as having internal views of a site are also presented on the graphical user interface along with typical search results from other applications.
[0009] In some implementations, the map application provides routes and / or turn-by-turn navigation instructions to a destination within a site that includes one or more floors, when needed by the user. The map application can offer an indoor overview navigation mode, thereby displaying routes on one or more floors, including routes via floor-connecting devices (e.g., elevators, escalators, stairs). The presentation of routes and site structure is adjusted to ensure that indoor navigation routes are not hidden from the view as the user traverses the route.
[0010] In some implementations, map applications can provide context-driven presentation in an indoor turn-by-turn navigation mode. From the virtual camera's perspective, the map application can present a graphical view of routes and strategies. The map application can determine changes in the navigation context of the user's location, upcoming strategies, and / or site structure, and dynamically modify how the virtual camera captures and presents different parts of the indoor scene to generate different navigation scenarios in the turn-by-turn navigation presentation of the site.
[0011] This specific implementation offers at least the following advantages. Even before a user enters the site, the indoor map allows them to examine the layout and location of points of interest within the site. Therefore, a mechanism for searching, identifying, and navigating to points of interest is provided, regardless of whether the user is inside the site or miles away. This specific implementation of the site catalog for map applications offers significant improvements over traditional catalogs (such as those currently found in shopping malls and airports) because the catalog is organized by categories and category selectors, which are color-coded and described in the same textual way as points of interest are presented and identified on the site map.
[0012] Specific implementations of map applications enhance the search and browsing capabilities of external applications and programs by providing these external applications with access to internal views of the site from the map application.
[0013] Details of one or more specific embodiments are set forth in the following figures and detailed descriptions. Other features, aspects, and potential advantages will become apparent from the detailed descriptions, the figures, and the claims. Attached Figure Description
[0014] Figure 1 This is a block diagram of an exemplary system for providing site map information, search, and routes.
[0015] Figure 2 It is an exemplary graphical user interface that includes a map of a first type of site that can be displayed on a display that can be presented to a user's device.
[0016] Figure 3 It includes Figure 2 An exemplary graphical user interface for a first magnified view of the map shown.
[0017] Figure 4 It includes Figure 2 An exemplary graphical user interface for a second magnified view of the map shown.
[0018] Figure 5 It is an exemplary graphical user interface containing a first indoor map of a first type of site.
[0019] Figure 6 It includes Figure 5 An exemplary graphical user interface for a magnified 3D view of an indoor map.
[0020] Figure 7 It is an exemplary graphical user interface containing a selected representation of the selected point of interest.
[0021] Figure 8 It is an exemplary graphical user interface that includes a map of a second type of site that can be displayed on a display that can be presented to a user's device.
[0022] Figure 9 It includes Figure 8 An exemplary graphical user interface for a first magnified view of the map shown.
[0023] Figure 10 It is an exemplary graphical user interface containing a first indoor map of a second type of site.
[0024] Figure 11 This is an exemplary graphical user interface that includes a magnified view of points of interest for the second type of site.
[0025] Figure 12 It is an exemplary graphical user interface that includes an indoor map containing selected points of interest.
[0026] Figure 13It is an exemplary graphical user interface containing an indoor map of the first type of site.
[0027] Figure 14 It is an exemplary graphical user interface that includes an indoor map and a site directory.
[0028] Figure 15 This is an example graphical user interface after selecting the point of interest category selector from the venue directory.
[0029] Figure 16 It has Figure 15 An exemplary graphical user interface for an extended signage shown.
[0030] Figure 17 This is an example graphical user interface after selecting another point of interest category selector from the site directory.
[0031] Figure 18 This is an example graphical user interface after selecting another point of interest category selector from the site directory.
[0032] Figure 19 This is an example graphical user interface after selecting another point of interest category selector from the site directory.
[0033] Figure 20 It is an exemplary graphical user interface that provides rich information about the selected points of interest.
[0034] Figure 21 It is an exemplary graphical user interface that includes a floor switcher to identify the current floor.
[0035] Figure 22 It is an exemplary graphical user interface that includes a floor switcher to identify a new floor.
[0036] Figure 22A It is an example graphical user interface that includes a floor switcher to identify new floors and a more prominent user location identifier.
[0037] Figure 22B This is another example of a graphical user interface that includes a floor switcher to identify new floors and a more prominent user location identifier.
[0038] Figure 23 It is an exemplary graphical user interface that includes an indoor map and a site catalog of second-type sites.
[0039] Figure 24 This is an example graphical user interface after selecting the point of interest category selector from the venue directory.
[0040] Figure 25 It has Figure 24An exemplary graphical user interface for an extended signage shown.
[0041] Figure 26 It is an exemplary graphical user interface that includes an indoor map containing points of interest and a site directory of points of interest.
[0042] Figure 27 It has Figure 26 An exemplary graphical user interface for an extended signage shown.
[0043] Figure 28 This is an example graphical user interface after selecting the first point of interest selector from the catalog of points of interest.
[0044] Figure 29 It is an exemplary graphical user interface that provides rich information about the selected points of interest.
[0045] Figure 30 This is an example graphical user interface after selecting a second point of interest selector from the catalog of points of interest.
[0046] Figure 31 Is using Figure 1 An example graphical user interface for using a map application to initiate a search.
[0047] Figure 32 Is using Figure 1 An example graphical user interface for a map application to initiate a manual search for a site.
[0048] Figure 33 Is using Figure 1 An example graphical user interface in a map application that uses the name of a specific location to initiate a manual search.
[0049] Figure 34 Is using Figure 1 An example graphical user interface for a map application to initiate a manual search for site categories.
[0050] Figure 35 It provides information through searching using a web browser. Figure 1 An exemplary graphical user interface for accessing the features of a map application.
[0051] Figure 36 Provided through search applications or programs Figure 1 An exemplary graphical user interface for accessing the features of a map application.
[0052] Figure 37 It provides access to services through voice commands from a smart personal assistant. Figure 1 An exemplary graphical user interface for accessing the features of a map application.
[0053] Figure 38 It is an exemplary graphical user interface that includes a site proximity alarm that can be presented to the display of the user device when the user device is in locked mode.
[0054] Figure 39 This includes an exemplary graphical user interface that includes a desktop app that can be interacted with by the user by swiping or otherwise. Figure 38 The graphical user interface (GUI) interaction is then presented to the user's device display.
[0055] Figure 40 An exemplary graphical user interface is shown, including a site proximity alarm and an event alarm that can be displayed to the user device when the user device is in locked mode.
[0056] Figure 41 This includes an exemplary graphical user interface that includes a desktop app that can be interacted with by the user by swiping or otherwise. Figure 40 The location proximity alarm is displayed on the user's device screen after the interaction.
[0057] Figure 42 This includes an exemplary graphical user interface that includes a desktop app that can be interacted with by the user by swiping or otherwise. Figure 40 The event alert is displayed on the user's device screen after the interaction.
[0058] Figure 43 This is an exemplary graphical user interface for presenting an indoor map, which includes points of interest in one of four display states.
[0059] Figure 44a is a portion of an exemplary graphical user interface that presents an exemplary point of interest with a small footprint.
[0060] Figure 44b is a portion of an exemplary graphical user interface that presents an exemplary point of interest with a large footprint.
[0061] Figure 44c is a portion of an exemplary graphical user interface that presents an exemplary point of interest with a large area, wherein only a portion is presented in the current view.
[0062] Figure 45a is a portion of an exemplary graphical user interface that presents an exemplary point of interest with a small footprint.
[0063] Figure 45b is a portion of an exemplary graphical user interface that presents an exemplary point of interest with a large footprint.
[0064] Figure 45c is a portion of an exemplary graphical user interface that presents an exemplary point of interest with a large area, wherein only a portion is presented in the current view.
[0065] Figure 46 It is part of an exemplary graphical user interface that presents different labels, such as points of interest.
[0066] Figure 47 This is an exemplary graphical user interface showing the alignment of exemplary points of interest on an indoor map.
[0067] Figure 48 This is an example of a component within a map application used to provide indoor navigation rendering for a venue.
[0068] Figure 49 Examples of four coordinate systems used by the map applications disclosed in this article are shown.
[0069] Figure 50 This is an exemplary graphical user interface that shows an overview of indoor routes on an indoor map of the site.
[0070] Figure 51 It is shown Figure 50 An exemplary graphical user interface showing a slightly magnified and rotated overview of the indoor route.
[0071] Figure 52 It is shown Figure 51 An exemplary graphical user interface showing a slightly reduced overview of the indoor route.
[0072] Figure 53 It is shown Figure 52 An exemplary graphical user interface showing a slightly magnified and rotated overview of the indoor route.
[0073] Figure 54 It shows having with Figure 53 An exemplary graphical user interface providing an overview of indoor routes with different pitches.
[0074] Figure 55 This is an exemplary graphical user interface that shows an overview of the different indoor routes used in the venue.
[0075] Figure 56 This is an exemplary graphical user interface that presents a context-driven, turn-by-turn indoor navigation presentation for a route to the intended destination within the site.
[0076] Figure 57 It is a presentation Figure 56 An exemplary graphical user interface for a rotating graphical view of indoor routes.
[0077] Figure 58 This is an example graphical user interface that presents another rotating graphical view of the indoor route.
[0078] Figure 59This is an example graphical user interface that presents another rotating graphical view of the indoor route when the user has arrived at the expected destination.
[0079] Figure 60 An exemplary graphical user interface is shown, which includes a manual search field for initiating a limited site search, based on the disclosed principles.
[0080] Figure 61 An exemplary graphical user interface showing an in-process search is shown.
[0081] Figure 62 An exemplary graphical user interface showing an in-process search is shown.
[0082] Figure 63 An exemplary graphical user interface is shown when there are no search results in the venue.
[0083] Figure 64 This is a flowchart of an exemplary process for presenting an indoor map of a site based on the disclosed principles.
[0084] Figure 64A This is a flowchart of an exemplary process 6050 for determining and presenting floors with points of interest in an initial group, based on the disclosed principles.
[0085] Figure 65 This is a flowchart of an exemplary process for presenting a site based on the disclosed principles, which guides and provides a search for points of interest within the site.
[0086] Figure 66 It is a flowchart of an exemplary process for providing site search based on the disclosed principles.
[0087] Figure 67 It is a flowchart of an exemplary process for providing indoor routes and context-driven navigation routes within a site, based on the disclosed principles.
[0088] Figure 68 It is achievable. Figures 1 to 67 A block diagram of an exemplary computing device illustrating its features and processes.
[0089] Similar reference symbols in the various figures indicate similar elements. Detailed Implementation
[0090] Overview
[0091] Figure 1This is a block diagram of an exemplary system 100 for providing site map information, searching, and providing routes, based on the disclosed principles. In some specific implementations, system 100 may include server device 102. For example, server device 102 may represent one or more computing devices associated with a map (e.g., navigation) service provider. Server device 102 may correspond to a known server hardware architecture and include a processor for performing operations to provide map and / or navigation services.
[0092] In some implementations, server device 102 may include map service 104. For example, map service 104 may be a software server providing backend processing for map service providers. Map service 104 may obtain map data (e.g., map images, points of interest, navigation and / or route information, etc.) from map data database 106, and send the map data to various client devices (e.g., user device 130), enabling the client devices to present map and / or navigation information to their users. For example, map service 104 may send map data to client devices while the client devices are connected to server device 102 via network 120 (e.g., the Internet). The client devices may use map or navigation applications on the client devices to present the map data to users.
[0093] In some specific implementations, user equipment 130 can be a computing device, such as a laptop computer, smartphone, or tablet computer. User equipment 130 can be a wearable device, such as a smartwatch or smart glasses. User equipment 130 can be a media device, such as a streaming media device, media player, or car entertainment system. User equipment 130 can also be a client device, as described herein, connected to network 120 to obtain map data.
[0094] In some implementations, user device 130 may include map application 132. For example, map application 132 may provide features that allow users to search for and / or specify a destination. In one implementation, map application 132 allows users to search for a specific site and / or items within that site and / or sites near user device 130. Map application 132 may provide representations that allow users to view a map corresponding to the user's current location, a map corresponding to locations associated with search results or other points of interest, and / or a map corresponding to a destination location or geographic area selected by the user. Map application 132 may receive user input requesting a route to a destination, and map application 132 may present a route from a starting location (e.g., the current location of user device 130, a user-specified location, etc.) to a specified destination.
[0095] In addition, map application 132 can provide a representation of the physical structure of a site (e.g., a shopping mall, an airport). Furthermore, and as described below, application 132 can provide a view of the site's interior, including the physical layout and geometry of the site's structure, as well as the location, structure, and layout of points of interest within the site (e.g., shops, restaurants, security checkpoints, restrooms). The view can become more detailed as the user zooms in to display points of interest. In some specific implementations, the view of the site's interior may include outdoor pedestrian spaces or courtyards included in certain types of sites.
[0096] In some implementations, map application 132 may provide a unique site directory, thus offering an intuitive mechanism for searching various categories of points of interest (e.g., clothing, food, restrooms) or specific items within the site. Search results may be presented on a map of a floor within the site as well as on a list providing all search results located within the site. In some implementations, the internal views provided by map application 132 may be accessed by other applications and programs on the user device (e.g., user device 130).
[0097] Figure 2 An exemplary graphical user interface 200 of a map application 132 that can be displayed on the screen of user device 130 is shown. For example, each of the graphical user interfaces (GUIs) described herein may be displayed on the screen of user device 130 by map application 132. In some embodiments, the graphical user interface (GUI) 200 is a two-dimensional view and presents a map 202. For example, map 202 may use a positioning dial 201 and one or more sites 204 near the user's location to initially represent the user's current location. Map application 132 may, for example, send the current location of user device 130 to map service 104 on map server 102. Map service 104 may return data for presenting map 202. In the illustrated embodiment, site 204 is identified by a graphic 205 indicating the type of site 204 (i.e., an icon used by the application to identify the site), which in this case is a shopping mall or shopping center. In addition, site 204 is identified by area 206 and text label 208, which indicates its external physical structure and location and layout on map 202, and text label 208 describes site 204 as “Westfield San Francisco Center”, shopping center or mall only by way of example.
[0098] In some implementations, GUI 200 may include a tray 220 with graphical elements 222 for searching locations or addresses. For example, graphical element 222 may be a text input control. When a user selects graphical element 222, user device 130 may present a virtual keyboard that the user can use to enter text search parameters. After receiving the search parameters, map application 132 may send the search parameters to map service 104 on map server 102. Map service 104 may return locations matching the search parameters as search results. Map application 132 may display the search results on the display of user device 130 (discussed in more detail below). When the search results are displayed, map 202 may be updated to represent the area surrounding the location of the search result.
[0099] In some implementations, GUI 200 may also include a first control 212 that allows the user to change the map settings of map application 132. If needed, GUI 200 may also include a second control 214 that allows the user to change the orientation of map 202.
[0100] General GUI Behavior – Shopping Mall
[0101] Figure 3 An exemplary graphical user interface 300 is shown that includes a first magnified view of map 202 after a user performs a zoom-in operation on map 202. In some specific implementations, when user device 130 has a touch-sensitive surface, the zoom-in operation may be a gesture such as a multi-finger gesture commonly referred to as "spreading," whereby two fingers are placed to contact the surface of device 130 and then dragged and separated from each other as they continue to contact the surface. This disclosure should not be limited to any particular technology used for zooming in or out on map 202.
[0102] GUI 300 can display similar to Figure 2The map shown is a 2D map 202, and when the user zooms in on map 202, the site 204 becomes a 3D structure, as discussed in more detail below. For example, GUI 300 presents a first zoomed-in representation of the site 204 previously shown in GUI 200. In this representation, the site 204 is now identified by a 3D structure 306 representing the physical structure and location of the site 204 on the zoomed-in 2D map 202. For example, GUI 300 may present a perspective view of the 3D structure 306, including a roof 310 and walls 311. As discussed below, the 3D structure 306 can be introduced through animation or a change in perspective. As discussed below, further zooming causes the structure 306 to fade out and be replaced by internal details / structures (i.e., the internal and external walls will be presented and clipped in the appropriate direction away from the virtual camera's viewpoint, giving them a 3D appearance without changing the camera's pitch). To differentiate or identify interactive sites (e.g., sites where the user can view interiors) from other non-interactive sites, points of interest, or objects presented on map 202 when the user zooms in on map 202, the 3D structure 306 corresponding to site 204 can be animated so that it appears to pop up or rise from the surface of map 202, while other non-interactive site objects remain flat (e.g., 2D). As mentioned above, site 204 is also identified by its corresponding text label 308. In some implementations, a zoom level threshold can be used to trigger the animation. Furthermore, the threshold may vary depending on the size of the structure. Additionally, site 204 now includes a selector 312 instructing the user to view the interior of site 204 by selecting selector 312 (e.g., via an interior map of site 204). In some implementations, the user can also view the interior of site 204 by continuing to zoom in on site 204. In some implementations, as discussed in more detail below, viewing the interior of a site will cause an interior map to be displayed on the display of user device 130. The interior can display the structural geometry of the internal floor plan of site 204 and the signage of points of interest within site 204 (e.g., shops, security checkpoints, restrooms, etc.).
[0103] Details of the 3D structure 306, label 308, and selector 312 are contained in map data provided to user device 130 by map server 102 via network 120 and processed by map application 132. The map data may be sent when the user performs a zoom-in operation, or it may be pre-sent to user device 130 and stored on device 130 while a previous GUI (e.g., GUI 200) is displayed on the screen. This disclosure should not be limited to any particular technique or timing used to send map data to user device 130.
[0104] Figure 4 This shows what happens when the user performs another zoom-in operation on map 202 or continues to zoom in beyond... Figure 3The exemplary graphical user interface 400 shown below includes a second magnified view of map 202 following the zoom level. GUI 400 also presents a second magnified representation of site 204. Site 204 is now represented by a sectional 3D structure 406 with walls 411, but its virtual roof has been removed to show a partial interior view of site 204, including walkways 412 and points of interest 410 (e.g., shops, restaurants, restrooms), arranged according to a floor plan of site 204. Details of the 3D structure 406, walkways 412, and points of interest 414 are contained in map data provided to user device 130 by map server 102 via network 120 and processed by map application 132. As with each update of the map data described herein, the map data may be sent when the user performs a zoom operation, or it may be pre-sent to user device 130 and stored on device 130 while the previous GUI (e.g., GUI 300) is presented on the display.
[0105] In some implementations, 3D structures 406 and points of interest 414 are introduced via animation. For example, if 3D structures 406 and points of interest 414 are presented on a previous GUI, they could be introduced as rising from the ground / floor, falling from the ceiling, or passing through a virtual roof. If the user continues to zoom in, 3D structures 406 and points of interest 414 can continue to be animated or highlighted to establish their presence in GUI 400. Animation can also be introduced as the user zooms out. For example, 3D structures 406 and points of interest 414 might appear to be zooming out, falling to the ground, rising from the ground, going out through a virtual roof, being covered by a virtual roof, and / or eventually becoming represented as 2D objects or simply disappearing from view. Animation can be provided for any site structure disclosed herein and any GUI discussed herein, especially when adding structures or providing more details about the site, its layout, and points of interest.
[0106] In GUI 400, venue 204 is still identified by its corresponding text label 308 and still includes a selector 312, indicating that the user can view the interior of venue 204 by selecting the selector 312 (e.g., via an indoor map of venue 204). In some implementations, the user can view the interior of venue 204 by continuously zooming in on venue 204.
[0107] Figure 5An exemplary graphical user interface 500 is shown that includes a first indoor map 502 of site 204 after the user selects from selector 312 of GUI 300 or GUI 400. GUI 500 includes a 3D view of site 204, while other parts are presented in 2D. Map application 132 zooms in and frames the physical structure 506 of site 204, and displays multiple points of interest (POIs) 510, 520, and 530 on indoor map 502 based on map data of site 204. As described below, indoor map 502 contains a simplified representation of the physical structure and location of POIs (e.g., shops, restaurants, restrooms), walkways, stairs, and other public spaces within site 204. Because users cannot access non-public spaces, they are not displayed on map 502. In one embodiment, the structures within the view include gray storefronts and white walkways based on detailed drawing files (e.g., CAD files) provided by the site. The initial view is simplified in ways such as smoothing out uneven or detailed walls to create a simpler space; combining adjacent shop spaces and non-public spaces (e.g., walled private areas) into a simple shape; and / or removing unnecessary details such as stairs and small open-plan areas.
[0108] In some specific implementations, point-of-interest (POI) labels may be displayed differently based on, for example, the relative size of a POI compared to other POIs in the site, or whether a POI label will obscure another POI or POI label. The following is a general description of how POIs are marked and aligned on map 502, but details regarding POI presentation, marking, general placement relative to other POIs and the site, and other processing are discussed in more detail below (see the "POI Density" section below).
[0109] POI 510 is illustrated, for example, by its physical structure 512 and the representation of the POI indicator, which in the illustrated example is POI point 514. The disclosed embodiments are not limited to point indicators, and other types of indicators such as letters, arrows, icons, symbols, or graphic elements may be used instead of points. As will be discussed in more detail below, POI point 514 is located on the front of structure 512 facing aisle 412 but slightly offset from the front of aisle 412.
[0110] By way of example, POI 520 is represented by its physical structure 522, POI category indicator 524, and text label 526 describing POI 520 as “Starbucks”. In the illustrated embodiment, since the physical structure 522 of POI 520 is relatively small compared to other larger POIs (e.g., POI 530), the POI category indicator 524 is positioned on the front of structure 522 facing aisle 412 but slightly offset from the front of aisle 412.
[0111] By way of example, POI 530 is represented by its physical structure 532, POI category indicator 534, and text label 536 describing POI 530 as “Bloomingdales”. In the illustrated embodiment, because the physical structure 532 of POI 530 is relatively large compared to other POIs (e.g., POIs 510 and 520), the category indicator 534 is positioned approximately at the center of the structure 532. Furthermore, because the physical structure 532 of POI 530 is relatively large compared to other POIs, POI 530 may have its own indoor map (i.e., a site submap or a POI-specific indoor map).
[0112] In some implementations, POI points (e.g., POI point 514) and POI category indicators for smaller POIs (e.g., POI category indicator 524) are positioned aligned with adjacent POI points and POI category indicators in a direction aligned with their respective entrances. This provides a uniform POI representation on the interior map 502. Floor indicators 540 are used to indicate which floor or level of POIs 510, 520, and 530 are located within structure 506 of site 204. Other POIs displayed on map 502 (but not marked or “hidden”) can be identified using one of the methods described above for POIs 510, 520, and 530.
[0113] In addition to or alternatively, and as will be discussed in more detail below, in some implementations, the initial group of POIs can be customized to match the user's previous experience in venue 204. For example, map application 132 can maintain user-set default / preferences for which POIs should be displayed in the initial group of POIs. In addition to or alternatively, 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, application 132 can display a set of the most popular POIs for all visitors to venue 204. This information can be retrieved from map server 102 along with map data, for example, in the same manner as described above.
[0114] The GUI 500 also includes signage 550 for venue 204. In some implementations, signage 550 includes information 552 about venue 204 (e.g., name, venue type, link to online reviews). If user equipment 130 is not currently within venue 204, a field 554 for retrieving driving directions is also presented in signage 550. The location of user equipment 130 can be determined, for example, via GPS, Wi-Fi fingerprinting, beacons, or other known technologies.
[0115] In some implementations, signage 550 also includes a venue catalog 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 to which the individual POIs of venue 204 have been grouped (e.g., clothing, food, department stores, restrooms, etc.). The type of venue determines the number and type of categories to be presented by catalog 560, and the disclosed implementations should not be limited to any number or type of categories used for catalog 560 or any catalog shown herein.
[0116] By way of example only, category selector 562 can be used to select the category of POI associated with clothing, category selector 564 can be used to select the category of POI associated with department stores, category selector 566 can be used to select the category of POI associated with home furnishings, and category selector 568 can be used to select the category of POI associated with "All Stores" at venue 204. In some embodiments, the POI category selectors 562, 564, 566, and 568 of venue catalog 560 are color-coded (i.e., each has its own color). Furthermore, the colors of POI point 514 and POI category indicators 524 and 534 are selected to match the colors of the POI category selectors 562, 564, 566, and 568 used in venue catalog 560. In some embodiments, POI point 514 and POI category indicators 524 and 534 will have colors based on their respective categories, regardless of whether venue catalog 560 is displayed. As will be explained in more detail below, users can use site directory 560 to search, browse and / or obtain more information about POIs in site 204 for specific categories.
[0117] Figure 6An exemplary graphical user interface 600 is shown, which displays a magnified 3D view 602 of the interior map 502 containing site 204, after or simultaneously with a user performing a zoom-in operation on map 502 on GUI 500. GUI 600 has a floor / level indicator 640, which indicates that view 602 is the second floor / level of site 204. The 3D interior view 602 shows the geometry of POI 610 and other structures found on a specific floor of site 204. For example, GUI 600 shows POI 610 and structure 620 including escalators 622 and 626 and stairs 632 associated with the second floor. For example, POI 610 is shown by a 3D representation of its physical structure 612, which includes walls 617 and entrances 618. By way of example, POI category indicator 614 and text label 616 identify POI 610 as “Tory Burch”. Structure 620 also includes graphics 624 and 628 associated with and labeled escalators 622 and 626, respectively, and graphics 634 associated with and labeled staircase 632. Other points of interest (POIs) displayed on map 502 may be labeled in one of the ways described above for POI 610.
[0118] In some implementations, the structures shown in 3D view 602 will be introduced through animation, giving them the appearance of rising from the floor of site 204 or falling from the ceiling, passing through a virtual roof, as described above. This type of animation can appear in any GUI described herein when, for example, the structure is zoomed in to show it in more detail. The animation may also include the removal of roof sections when the structure is opened to display its contents (e.g., for the transition of view site 204 from GUI 300 to GUI 400). If the user continues to zoom in, the structures shown in 3D view 602 may continue to be animated or highlighted to establish their presence in GUI 600. Animation can also be introduced when the user zooms out. For example, the structures shown in 3D view 602 may appear to be shrinking, falling to the ground, rising from the ground, and / or eventually becoming represented as 2D objects or completely hidden from the view.
[0119] In some implementations, GUI 600 also includes signage 650. Signage 650 is displayed in a drop-down state, such that only the identification label 652 is shown on the display. Signage 650 can be pulled up by the user to view other options available on GUI 600 (e.g., venue directory).
[0120] When the GUI 600 is presented to the user, the user can select a POI by touching its representation on the 3D view 602. For example, the user would expect to select POI 610 and can do so in any way permitted on the user device 130.
[0121] Figure 7 An exemplary graphical user interface 700 is shown, containing a representation of POI 610 from GUI 600 after the user selects POI 610 (e.g., by clicking it in GUI 600). Specifically, POI 610 in its selected state is now represented by an emphasized or highlighted structure 712, which includes a highlighted wall 717 and an entrance 718 (shown in dashed lines). Furthermore, a much larger POI category indicator 714 is presented on the display. In some specific implementations, the POI category indicator 714 may be displayed animated (e.g., flashing, rotating, bouncing up and down) as further indication of the selection of POI 610.
[0122] In some implementations, when POI 610 is selected, a sign 720 associated with POI 610 is presented to the display. In some implementations, the sign 720 includes information 722 about the selected POI 610 (e.g., name, type of POI, link to online reviews) and a way to contact the POI (e.g., phone number, text message number or link, instant messaging link, etc.). If the user device 130 is not currently within the site 204, a field 724 for retrieving driving directions is also presented in the sign 720. If the user is within the site, field 724 can be completely suppressed, or, as described below (see the "Indoor Site Routes" section), the field can be replaced by "Get Directions" for indoor route directions. Additionally, the sign 720 may include graphics / images 726 associated with POI 610. When POI 610 is selected, information for populating the sign 720 can be retrieved from map service 104. Alternatively, when GUI 600 or another GUI is presented on the display of user equipment 130, information for populating sign 720 can be retrieved from map service 104 or another service (e.g., online service).
[0123] General GUI Behavior – Airport
[0124] Figure 8 An exemplary graphical user interface 800 of a map application 132 is shown, which can be presented to a display of a user device 130. GUI 800 shows different maps 802 (or different portions of map 202 described above) displaying different sites 804. In the illustrated embodiment, site 804 is identified by a graphic 805 that identifies site 804 as an airport. Furthermore, site 804 is identified by a region 806 that represents its external physical structure and location and layout on map 802, and a text label 808 describes site 804 as “Los Angeles International Airport (LAX)” only by way of example.
[0125] In some implementations, GUI 800 may include a tray 820 with a graphical element 822 for searching locations or addresses. For example, the graphical element 822 may be a text input control. When a user selects the graphical element 822, user device 130 may present a virtual keyboard that the user can use to enter text search parameters. After receiving the search parameters, map application 132 may send the search parameters to map service 104 on map server 102. Map service 104 may return locations matching the search parameters as search results. Map application 132 may display the search results on a display (discussed in more detail below). When the search results are displayed, map 802 may be updated to represent the area surrounding the location of the search result.
[0126] In some implementations, GUI 800 may also include a first control 812 that allows the user to change the map settings of map application 132. If needed, GUI 800 may also include a second control 814 that allows the user to change the orientation of map 802.
[0127] Figure 9 An exemplary graphical user interface 900 is shown that includes a first magnified view of map 802 after a user performs a zoom-in operation on map 802. In some specific implementations, when user device 130 has a touch-sensitive surface, the zoom-in operation may be a gesture such as a multi-finger gesture commonly referred to as “spreading,” whereby two fingers are placed to contact the surface of device 130 and then dragged and separated from each other as they continue to contact the surface. This disclosure should not be limited to any particular technology used for zooming in or out on map 802.
[0128] GUI 900 also presents a first magnified representation of site 904 previously shown in GUI 800. In this representation, site 804 is now identified by a 3D structure 906 representing the physical structure, location, and layout of site 804 on the magnified map 802. Structure 906 includes a roof 910 and walls 911. Site 804 is also identified by its corresponding text label 908, which may or may not be a modified version of label 808 from GUI 800. Furthermore, site 804 now includes a selector 912 indicating that the user can view the interior of site 804 via an indoor map by selecting the selector 912. In some embodiments, the user can view the interior of site 804 by continuing to zoom in on site 804. In some embodiments, as discussed in more detail below, the indoor map will present the structural geometry of the interior floor plan of site 804 and the identification of points of interest within site 804 (e.g., shops, security checkpoints, restrooms, etc.).
[0129] In some implementations, structure 906, including roof 910 and walls 911, will be introduced via animation, which gives the appearance of, for example, rising from the floor of site 804 or falling from the sky, as described above. This type of animation can appear in any GUI described herein when, for example, the structure is shown in more detail by zooming in. If the user continues to zoom in, the structure shown in GUI 900 can continue to be animated or highlighted to establish its presence in GUI 900. Animation can also be introduced when the user zooms out. For example, the structure shown in GUI 900 may appear to be shrinking, falling to the ground, rising from the ground, and / or eventually becoming represented as a 2D object or completely hidden from view.
[0130] Details of the 3D structure 906, label 908, and selector 912 are contained in map data provided to user device 130 by map server 102 via network 120 and processed by map application 132. The map data may be sent when the user performs a zoom-in operation, or it may be pre-sent to user device 130 and stored on device 130 while a previous GUI (e.g., GUI 800) is displayed on the screen. This disclosure should not be limited to any particular technique or timing used to send map data to user device 130.
[0131] Figure 10 An exemplary graphical user interface 1000 is shown containing a first interior map 1002 of site 804 after the user selects selector 912 in GUI 900. Site 804 is now represented by a cross-sectional 3D structure 1006 with walls 1011, but its virtual roof has been removed to show a partial interior view of site 804 including points of interest 1020, 1030, and 1040 (e.g., terminal, shops, restaurants, restrooms, security checkpoints) arranged according to a floor plan of site 804. Details of the 3D structure 1006 and points of interest 1020, 1030, and 1040 are contained in map data provided to user device 130 by map server 102 via network 120 and processed by map application 132. As with each update of the map data described herein, the map data may be sent when the user selects selector 912, or it may be sent to user device 130 in advance and stored on device 130 while the previous GUI (e.g., GUI 900) is displayed.
[0132] In some specific implementations, as discussed in more detail below, points of interest may be displayed based on, for example, their relative size compared to other POIs in site 804, whether they would obscure other POIs, or by the type of POI category. For example, POI 1020 is indicated by its physical structure 1022, POI category indicator 1024, and a text label 1026 describing POI 1020 as “Terminal 3”. Since POI 1020 is a terminal, its category indicator 1024 is located at the far end of structure 1022, away from walkway 1012. For example, POI 1030 is indicated by its physical structure 1032, POI category indicator 1034, and a text label 1036 describing POI 1030 as “Angel City Brewing”. Since POI 1030 is a restaurant within Terminal 1 of Site 804, its POI category indicator 1034 is placed approximately at its location within Terminal 1 on Map 1002. For example, POI 1040 is indicated by its physical structure 1042 and POI category indicator 1044. POI 1040 is a parking lot between terminals in Site 804. Other POIs shown on Map 1002 will be identified in one of the ways described above for POIs 1020, 1030, and 1040.
[0133] The GUI 1000 also includes signage 1050 for site 804. In some implementations, signage 1050 includes information 1052 about site 804 (e.g., name, site type). If user equipment 130 is not currently within site 804, a field 1054 for retrieving driving direction is also presented in signage 1050.
[0134] In some implementations, signage 1050 also includes a site directory 1060, which contains one or more POI category selectors 1062, 1064, and 1066, and a search selector 1068. Each POI category selector 1062, 1064, and 1066 is associated with a category (e.g., terminal, shops, food, restrooms, etc.) to which the individual POIs of site 804 have been grouped. The type of site determines the number and type of categories to be used in directory 1060, and the disclosed implementations are not limited to any number or type of categories used in directory 1060 or any directory shown herein.
[0135] By way of example only, category selector 1062 can be used to select the category of POIs associated with the terminal, category selector 1064 can be used to select the category of POIs associated with shops, and category selector 1066 can be used to select the category of POIs associated with places to buy food. Search selector 1068 can be used by the user to initiate a manual search for categories or specific POIs within venue 804 (as will be discussed in more detail below). In some implementations, the POI category selectors 1062, 1064, and 1066 of venue catalog 1060 are color-coded (i.e., each has its own color). Furthermore, the colors of POI category indicators 1024, 1034, and 1044 are selected to match the colors of POI category selectors 1062, 1064, and 1066 used in venue catalog 1060. As will be explained in more detail below, users can use venue catalog 1060 to search for, browse, and / or obtain more information about POIs present in venue 804 within specific categories of POIs.
[0136] In the illustrated example, site 804 includes POIs 1020, 1030, and 1040 shown in map 1002, each of which may have its own indoor map (i.e., site submap or POI-specific indoor map). For example, Figure 11 An exemplary graphical user interface 1100 is shown that includes a magnified view of POI 1020 after the user selects POI 1020 from a previous GUI or after the user performs a zoom-in operation. In some embodiments, more details of the POI are presented, including the 3D physical structure 1122 of POI 1020, and internal geometry, such as walkways 1112 and POIs 1130 and 1140 within POI 1020. These are not displayed because the user cannot access non-public spaces. As in other embodiments, the introduction of additional details may be accompanied by animations to provide the presentation, such as the structures rising from the ground, falling from above, passing through roofs, etc. Furthermore, in some embodiments, security checkpoints are magnified for easier identification within the POI. In addition, or alternatively, structures on map 1002 (or other maps) are arranged or de-emphasized to define walkways and other structural barriers within the airport.
[0137] In the illustrated example, POI 1130 includes a POI category indicator 1134 and a text label 1136 describing POI 1130 as “Gladstone's 4 Fish”. For example, POI 1140 is a terminal gate and is indicated only by a gate indicator 1142 in the appropriate location within POI 1020 (i.e., terminal 3).
[0138] POI 1020 is also shown with a selector 1128 for allowing users to view the interior and see even more detailed internal views of POI 1020 (discussed in more detail with regard to GUI 1200).
[0139] GUI 1100 also includes a sign 1150 for POI 1020 (i.e., terminal 3). In some implementations, sign 1150 includes information 1152 about POI 1020 or site 804 (e.g., name, type of POI, etc.). Sign 1150 is displayed in a drop-down state but may include other information or links similar to other signs described herein. Additionally, GUI 1100 includes floor indicators 1160 to remind the user of the structure shown on GUI 1100 and the specific floor from which the POI originates in POI 1020.
[0140] Figure 12 An exemplary graphical user interface 1200 is shown, containing an interior map 1202 (i.e., a submap of site 804) of POI 1020 after the user selects selector 1128 in GUI 1100. POI 1020 is now represented by a fully sectional 3D structure 1204 with 3D walls 1205, but its virtual roof has been removed to display a partial interior view of POI 1020, including additional points of interest 1220 and 1240 (e.g., gates, shops, restaurants, restrooms, security checkpoints) arranged according to a floor plan of POI 1020. Details of the 3D structure 1204 and points of interest 1220 and 1240 are contained in map data provided by map server 102 to user device 130 via network 120 and processed by map application 132. As with each update of the map data described herein, the map data may be sent when the user selects selector 1128, or it may be sent in advance to user device 130 and stored on device 130 while the previous GUI (e.g., GUI 1100) is displayed on the screen.
[0141] By way of example, POI 1220 is shown, for instance, by its physical structure 1222, POI point 1224, and a text label 1226 describing POI 1220 as a “Security Checkpoint.” Since POI 1020 is a checkpoint, its POI point is located at the front of structure 1222 next to aisle 1212. For example, POI 1240 is shown by its physical structure 1242 and a gate indicator 1244. Other POIs displayed on map 1202 will be identified in one of the ways described herein.
[0142] GUI 1200 also includes a sign 1250 for POI 1020. In some implementations, sign 1250 includes information 1252 about POI 1020 (e.g., name, type of POI). If user device 130 is not within POI 1020, a field 1254 for retrieving driving directions is also presented in sign 1250. In some implementations, similar to the catalogs discussed above, sign 1250 also includes a POI catalog 1260 containing a search selector and one or more POI category selectors. As with the other catalogs described herein, the POI category selectors of catalog 1260 are color-coded (i.e., each has its own color), and the colors of POI category points 1224 and indicators 1244 are selected to match the colors of the POI category selectors used in catalog 1260.
[0143] Exemplary Venue Catalog – Shopping Malls
[0144] Figure 13 It shows that it contains something similar to Figure 5 The GUI 500 shown is an exemplary graphical user interface 1300 of the indoor map 502 of site 204. Therefore, unless otherwise noted below, the description of the features shown on map 502 is consistent with the description above for... Figure 5 The descriptions of the features are the same. GUI 1300 is presented when the user is inside site 204. As described above, a similar GUI can be presented based on zoom-in operations performed on the GUI.
[0145] Map 502 shown on GUI 1300 includes a current location disk 1301 indicating the user's current location on map 502 (i.e., location is user device 130). GUI 1300 also shows POIs 510, 520, and 530 located on floor / floor 2 of site 204 as reflected by floor indicator 1340. The rate of updating and / or moving disk 1301, as well as any current location disk discussed herein, can be adapted for indoor applications to avoid jitter or other display problems. Therefore, in some specific implementations, disk 1301 updates at a slower rate than that used for updating outdoor maps or navigation applications.
[0146] The GUI 1300 also includes a tray 1350. In some implementations, the tray 1350 includes a graphical element 1352 for searching locations or addresses. For example, the graphical element 1352 may be a text input control. When a user selects the graphical element 1352, the user device 130 may present a virtual keyboard that the user can use to enter text search parameters. After receiving the search parameters, the map application 132 may send the search parameters to a map service 104 on the map server 102. The map service 104 may return locations that match the search parameters as search results. The map application 132 may display the search results on the display of the user device 130 (discussed in more detail below).
[0147] In some implementations, when the user is outside site 204, pallet 1350 also includes signage to the site (discussed below). Figure 14 Optional link 1354 (shown in the diagram) provides further information and options for use at site 204. Tray 1350 also includes link 1356 to, for example, the driving direction of a user's home. For illustrative purposes only, and to aid the discussion below, it is assumed that the user has selected optional link 1354.
[0148] Figure 14 An exemplary graphical user interface 1400 is shown, comprising an indoor map 502 containing site 204 and a site directory 1460. GUI 1400 is presented on user device 130 when the user selects an optional link 1354. As with other embodiments discussed above, areas outside map 502 are de-emphasized (e.g., grayed out) to draw the user's attention to map 502 and the structures within site 204. Map 502 shown on GUI 1400 includes a current location disk 1301 indicating the user's current location on map 502 (i.e., location is user device 130). GUI 1400 also shows POIs 510, 520, and 530 located on floor / floor 2 of site 204, as reflected by floor indicator 1340.
[0149] GUI 1400 also includes a sign 1450 having a 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., clothing, fashion, department stores, food, beverages, restrooms, etc.) to which the individual POIs of venue 204 have been grouped. The type of venue determines the number and type of categories to be used for directory 1460, and the disclosed implementation should not be limited to any number or type of categories used for directory 1460 or any directory shown herein. Furthermore, the type of category may be selected based on the type of POI within the venue. Venue directory 1460 also includes a search selector 1476. Search selector 1476 can be used by a user to initiate a manual search for categories or specific POIs within venue 204.
[0150] By way of example only, category selector 1462 can be used to select the category of POI associated with clothing, category selector 1464 can be used to select the category of POI associated with fashion, category selector 1466 can be used to select the category of POI associated with department stores, category selector 1468 can be used to select the category of POI associated with "all stores" at site 204, category selector 1470 can be used to select the category of POI associated with places to eat / buy food, category selector 1472 can be used to select the category of POI associated with places to drink / buy beverages, and category selector 1474 can be used to select the category of POI associated with restrooms. Although not shown, other categories may include, for example, boarding gates, security checkpoints, and baggage claim areas.
[0151] In some implementations, the POI category selectors 1462, 1464, 1466, 1468, 1470, 1472, and 1474 of the venue catalog 1460 are color-coded (i.e., each has its own color). Furthermore, the colors of POI point 514 and POI category indicators 524 and 534 are selected to match the colors of the POI category selectors 1462, 1464, 1466, 1468, 1470, 1472, and 1474 used in the venue catalog 1460. In some implementations, POI point 514 and POI category indicators 524 and 534 will have colors based on their respective categories, regardless of whether the venue catalog 1460 is displayed.
[0152] As you can understand, users can use the venue directory 1460 to search, browse, and / or obtain more information about POIs present in venue 204 for specific categories. In the example below, the user has selected POI selector 1462 to initiate a search for clothing stores within venue 204.
[0153] Figure 15 An exemplary graphical user interface 1500 is shown on user device 130 when a user selects POI selector 1462 of GUI 1400 (i.e., the selector associated with a clothing store within site 204). Map 502 shown on GUI 1400 includes a current location disk 1301 showing the user's current location on map 502 (i.e., the location is user device 130).
[0154] As previously stated, map 502 includes the structure and layout of the current floor identified by floor indicator 1340, but with the difference that only POIs 1510, 1520, and 1530, as well as other unmarked POIs corresponding to the selected POI category (e.g., clothing) for the current floor, are displayed. POIs not associated with the selected POI category (e.g., clothing) are not marked on map 502 (e.g., POI points / indicators are not visible), but their physical structure and layout still exist. Similarly, POIs not on the indicated floor, regardless of whether they correspond to the selected category, are not displayed on map 502.
[0155] Points of interest that match the selected category and are found on the current floor can be identified on map 502 in a variety of ways. For example, POI 1510 is represented by physical structure 1512, POI category indicator 1514, and text label 1516 describing POI 1510 as “Bloomingdales”.
[0156] On the other hand, POI 1520 is represented by a physical structure 1522, a POI result indicator 1524, a text label 1526 describing POI 1520 as “Superdry” (for example), and a text label 1528 containing the phrase “+2 more.” As can be understood, the POI result indicator 1524 provides information that more than one POI matching the selected category has been found at or within structure 1522. In the illustrated example, the POI result indicator 1524 is a graphic containing the number 3, meaning that three POIs matching the selected category have been found at or within structure 1522. To prevent map 502 from becoming cluttered, only the POI associated with POI 1520 has a text label 1526 describing the POI's name. In addition to “Superdry,” text label 1528 also alerts the user that “two more POIs” exist. In some implementations, the user can zoom in on the area to make other POIs visible.
[0157] For example, POI 1530 is represented solely by physical structure 1532 and POI point 1534. As previously discussed, in some implementations, the POI category indicator 1514, POI result indicator 1524, and POI point 1534 are displayed in a color matching the color of the selected POI category (i.e., in the same color as the POI selector 1462). The POI indicator 1514, POI result indicator 1524, and POI point 1534 can be animated (e.g., flashing, rotating, bouncing up and down) to draw the user's attention to the POI matching the selected category. Other POIs matching the selected POI category displayed on map 502 can be identified using one of the methods described above for POIs 1510, 1520, or 1530.
[0158] Even if the POI is located on a different floor of site 204, the GUI 1500 includes a sign 1550 displaying all search results that match the selected POI. The sign 1550 includes a field 1552 containing information describing the search results. In this example, field 1552 includes a graphic 1553 representing the selected category (e.g., using the same graphic as the POI category indicator and selector described above) and a text label 1554 describing the search results as “clothing stores in Westfield.” This information alerts the user to the category of the search performed. Although not shown, a second text label may be presented to describe the total number of search results and the number of results found on the current floor. This additional information informs the user how many POIs matching the search category were found, and what the matching POIs are on the current floor.
[0159] Signage 1550 also includes a list of POI search results 1560 and 1570, for example, ordered alphabetically. In some implementations, the list of POI search results 1560 and 1570 may be organized in different orders, such as by floor, or personalized based on previous user activity at venue 204, information contained on the user's device (e.g., membership card information in emails, text messages, contacts), calendar information identifying the venue, a specific POI, etc., or a store credit card registered to Apple Pay or other e-wallet applications. For example, POI search result 1560 includes a field 1562 and a graphic 1564 showing or associated with the POI, the field including information about the POI (e.g., name, venue type, floor directions, links to online reviews). POI search result 1570 and other search results in signage 1550 may contain the same type of information.
[0160] In some implementations, in response to a user selecting a POI selector (e.g., POI selector 1462 of GUI 1400), some, but not all, of the signage information for the POI search results 1560 and 1570 is transmitted to the user device 130 and stored by the map application 132. For example, map data received from map server 102 may contain signage information for the first 25 POI search results, which will speed up the transmission between server 102 and user device 130. Additionally, transmitting less than all of the information reduces the load on user device 130 and conserves the device's memory resources and battery power. Signage information for other POIs can be retrieved when a specific POI is selected from signage 1560 or when the list scrolls through the first 25 POI search results. In response to a user selecting a POI selector (e.g., POI selector 1462 of GUI 1400), information about more or fewer than 25 POI search results can be received from map server 102, and the embodiments disclosed herein are not limited thereto.
[0161] In some implementations, signage 1550 also includes filters 1580 for limiting the amount of results presented to the user. For example, filter 1582 is labeled "All," meaning that all search results are presented to the user when selected. In some implementations, this is the default setting for signage 1550. In the illustrated example, filter 1584 is labeled "Women's Clothing," meaning that only search results associated with women's clothing are presented to the user when selected. In the illustrated example, filter 1586 is labeled "Men's Clothing," meaning that only search results associated with men's clothing are presented to the user when selected. In the illustrated example, filter 1588 is labeled "Children's Clothing," meaning that only search results associated with children's clothing are presented to the user when selected. Signage 1550 may include any type of filter applicable to the selected category, or may not include any filters at all. In some implementations, filters may be provided by the venue owner and may match categories used in traditional venue directories.
[0162] As you can understand, sign 1550 can be pulled up (i.e., expanded) to display more POI search results. Figure 16 An exemplary graphical user interface 1600 is shown rendered on user device 130 after a user pulls up on sign 1550 toward the top of GUI 1500. As can be seen in the illustrated example, sign 1550 now displays POI search results 1560, 1570, 1572, 1574, and 1576, as well as filter 1580. Pulling up sign 1560 also displays an alphabetical index bar 1610. The alphabetical index bar 1610 allows the user to jump to any part of the POI search results based on the first letter of the result.
[0163] Figure 17 An exemplary graphical user interface 1700 is shown presented on user device 130 when a user selects POI selector 1464 of GUI 1400 (i.e., the selector associated with a fashion store within venue 204). Map 502 shown on GUI 1700 includes a current location disk 1301 indicating the user's current location on map 502 (i.e., the location is user device 130).
[0164] As previously stated, map 502 includes the structure and layout of the current floor as identified by floor indicator 1740, but with the difference that only POIs 1710, 1720, and 1730, as well as 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 (but their physical structure and layout still exist). Similarly, POIs not on the indicated floor, regardless of whether they correspond to the selected category, are not displayed on map 502.
[0165] Points of interest that match the selected category and are found on the current floor can be identified on map 502 in a variety of ways. For example, POI 1710 is represented by physical structure 1712, POI category indicator 1714, and text label 1716 describing POI 1710 as “Bloomingdales”.
[0166] On the other hand, POI 1720 is represented by a physical structure 1722, a POI result indicator 1724, a text label 1726 describing POI 1720 as “Aldo” (for example), and a text label 1728 containing the phrase “+1 location”. As can be understood, the POI result indicator 1724 provides information that more than one POI matching the selected category has been found at or within structure 1722. In the illustrated example, the POI result indicator 1724 is a graphic containing the number 2, meaning that two POIs matching the selected category have been found at or within structure 1722. To prevent map 502 from becoming cluttered, only the POI associated with POI 1720 has a text label 1726 describing the POI's name. In addition to “Aldo”, text label 1728 reminds the user that “1 more POI” exists. In some implementations, the user can zoom in on the area to make other POIs visible.
[0167] For example, POI 1730 is represented solely by physical structure 1732 and POI point 1734. As previously discussed, in some implementations, the POI category indicator 1714, POI result indicator 1724, and POI point 1734 are displayed in a color matching the selected POI category (i.e., in the same color as the POI selector 1464). The POI indicator 1714, POI result indicator 1724, and POI point 1734 can be animated (e.g., flashing, rotating, bouncing up and down) to draw the user's attention to the POI matching the selected category. Other POIs matching the selected POI category displayed on map 502 will be identified in one of the ways described above for POIs 1710, 1720, or 1730.
[0168] Even if the POI is located on a different floor of site 204, the GUI 1700 includes a sign 1750 displaying all search results that match the selected POI. The sign 1750 includes a field 1752 containing information describing the search results. In this example, field 1752 includes a graphic 1753 representing the selected category (e.g., using the same graphic as the POI category indicator and selector described above) and a text label 1754 describing the search results as “fashion stores in Westfield”. This information alerts the user to the category of the search performed. Although not shown, a second text label may be presented to describe the total number of search results and the number of results found on the current floor. This additional information informs the user how many POIs matching the search category were found, and what the matching POIs are on the current floor.
[0169] Signage 1750 also includes a list of POI search results 1760 and 1770, for example, ordered alphabetically. In some implementations, the list of POI search results 1760 and 1770 may be organized in a different order, for example, by floor, or personalized based on previous user activity at venue 204, information contained on the user's device (e.g., membership card information in emails, text messages, contacts), calendar information identifying the venue, a specific POI, etc., or a store credit card registered to Apple Pay or other e-wallet applications. For example, POI search result 1760 includes a field 1762 and a graphic 1764 showing or associated with the POI, the field including information about the POI (e.g., name, venue type, floor indication, links to online reviews). POI search result 1770 and other search results in signage 1750 will contain the same type of information.
[0170] As described above, in some embodiments, in response to a user selecting a POI selector (e.g., POI selector 1464 of GUI 1400), some, but not all, of the signage information regarding the POI search results 1760 and 1770 is transmitted to the user device 130 and stored by the map application 132. In some embodiments, signage 1750 also includes a filter 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 embodiments, this is the default setting for signage 1750. In the illustrated example, filter 1784 is identified as "Luxury Goods," meaning that only search results associated with luxury 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 labeled "Footwear," meaning that when selected, only search results associated with footwear will be presented to the user. Label 1750 may include any type of filter applicable to the selected category, or may not include any filters at all.
[0171] Figure 18 An exemplary graphical user interface 1800 is shown on user device 130 when a user selects POI selector 1470 of GUI 1400 (i.e., the selector associated with food within venue 204). Map 502 shown on GUI 1800 includes a current location disk 1301 showing the user's current location on map 502 (i.e., the location is user device 130).
[0172] As previously stated, map 502 includes the structure and layout of the current floor identified by floor indicator 1840, but with the difference that only POIs 1820, 1830, and 1840, as well as 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 (but their physical structure and layout still exist). Similarly, POIs not on the indicated floor, regardless of whether they correspond to the selected category, are not displayed on map 502.
[0173] Points of interest (POIs) that match the selected category and are found on the current floor can be identified in various ways on map 502. For example, POI 1820 might be represented by a physical structure 1822, a POI food category indicator 1824, and a text label 1826 describing POI 1820 as “Pizza My Heart.” The POI food category indicator 1824 is a graphic representing a pizza and serves as a subcategory of the selected POI food category. Therefore, indicator 1824 provides the user with additional information that the matched POI result is not only a restaurant but also a pizza shop. Symbols / graphics associated with the food POI selector 1470 can be used in place of or to complement the POI food category indicator 1824.
[0174] For example, POI 1830 is represented by physical structure 1832, POI food category indicator 1834, and text label 1836 describing POI 1830 as "Starbucks". POI food category indicator 1834 is a graphic representing coffee and serves as a subcategory of the selected POI food category. Therefore, indicator 1834 is used to present the user with additional information that the matched POI result is not only a restaurant but also a coffee shop. Symbols / graphics associated with the food POI selector 1470 can be used in place of or to complement POI food category indicator 1834.
[0175] For example, POI 1840 is represented solely by physical structure 1842 and POI point 1844. As previously discussed, in some implementations, POI food category indicators 1824 and 1834, as well as POI point 1844, are displayed in a color matching the color of the selected POI category (i.e., in the same color as POI selector 1470). POI food category indicators 1824 and 1834, as well as POI point 1844, can be animated (e.g., flashing, rotating, bouncing up and down) to draw the user's attention to the POI matching the selected category. Other POIs matching the selected POI category displayed on map 502 can be identified using one of the methods described above for POIs 1820, 1830, or 1840.
[0176] Even if the POI is located on a different floor of site 204, the GUI 1800 includes a sign 1850 displaying all search results that match the selected POI. The sign 1850 includes a field 1852 containing information describing the search results. In this example, field 1852 includes a graphic 1853 representing the selected category (e.g., using the same graphic as the POI category indicator and selector described above) and a text label 1854 describing the search results as “food establishments in Westfield”. This information alerts the user to the category of the search performed. Although not shown, a second text label may be presented to describe the total number of search results and the number of results found on the current floor. This additional information informs the user how many POIs matched the search category and what the matching POIs were on the current floor.
[0177] Signage 1850 also includes a list of POI search results 1860 and 1870, for example, ordered alphabetically. In some implementations, the list of POI search results 1860 and 1870 may be organized in different orders, such as by floor, or personalized based on previous user activity at venue 204, information contained on the user's device (e.g., membership card information in emails, text messages, contacts), calendar information identifying the venue, a specific POI, etc., or a store credit card registered to Apple Pay or other e-wallet applications. For example, POI search result 1860 includes field 1862 and a graphic 1864 showing or associated with the POI, the field including information about the POI (e.g., name, venue type, floor indication, link to online reviews). POI search result 1870 and other search results in signage 1850 may contain the same type of information.
[0178] As described above, in some embodiments, in response to a user selecting a POI selector (e.g., POI selector 1470 of GUI 1400), some, but not all, of the signage information regarding the POI search results 1860 and 1870 is transmitted to the user device 130 and stored by the map application 132. In some embodiments, signage 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 embodiments, this is the default setting for signage 1850. In the illustrated example, filter 1884 is identified as "Coffee," meaning that only search results associated with coffee 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 are presented to the user when selected. In the illustrated example, filter 1888 is identified as "Thai Food," meaning that only search results associated with Thai cuisine are presented to the user when selected. In the illustrated example, filter 1889 is labeled "Japanese cuisine," meaning that when selected, only search results associated with Japanese food will be presented to the user. In the illustrated example, filter 1890 is labeled "Mexican cuisine," meaning that when selected, only search results associated with Mexican food will be presented to the user. Label 1850 may include any type of filter applicable to the selected category, or may not include any filters at all. In some implementations, filters may be provided by the venue owner and may match categories used in traditional venue directories.
[0179] Figure 19 An exemplary graphical user interface 1900 is shown presented on user device 130 when a user selects POI selector 1468 of GUI 1400 (i.e., the selector associated with all shops within site 204). Map 502 shown on GUI 1900 includes a current location disk 1301 indicating the user's current location on map 502 (i.e., location is user device 130). As previously described, map 502 includes the structure and layout of the current floor identified by floor indicator 1940, and the POIs of all shops on the current floor.
[0180] Even if the POI is located on a different floor of site 204, the GUI 1900 includes a sign 1950 displaying all search results matching the selected POI. The sign 1950 includes a field 1952 containing information describing the search results. In this example, field 1952 includes a graphic 1953 representing the selected category (e.g., using the same graphic as the POI category indicator and selector described above) and a text label 1954 describing the search results as “All stores in Westfield.” This information alerts the user to the category of the search performed. Although not shown, a second text label may be presented to describe the total number of search results and the number of results found on the current floor. This additional information informs the user how many POIs matching the search category were found, and what the matching POIs are on the current floor.
[0181] Signage 1950 also includes a list of POI search results 1960 and 1970, for example, ordered alphabetically. In some implementations, the list of POI search results 1960 and 1970 may be organized in a different order, for example, by floor, or personalized based on previous user activity at venue 204, information contained on the user's device (e.g., membership card information in emails, text messages, contacts), calendar information identifying the venue, a specific POI, etc., or a store credit card registered to Apple Pay or other e-wallet applications. For example, POI search result 1960 includes field 1962, which includes information about the POI (e.g., name, venue type, floor directions, links to online reviews). POI search result 1970 and other search results in signage 1950 will contain the same type of information.
[0182] As described above, in some specific implementations, in response to a user selecting a POI selector (e.g., POI selector 1468 of GUI 1400), some, but not all, signage information about the POI search results 1960 and 1970 is transmitted to the user device 130 and stored by the map application 132.
[0183] In some implementations, any POI matching the selected category can be selected by choosing its entry in signs 1550, 1750, 1850, and 1950 or directly from map 502. Selecting a specific POI will present rich information about that POI to the user on user device 130. Figure 20 An exemplary graphical user interface 2000 is shown presented on user device 130 when a user selects a POI identified as “Fossil”, for example. The GUI 2000 includes a label 2050 for the selected POI. The label 2050 contains rich information about the selected POI (described below).
[0184] Signage 2050 includes a field 2052 containing information describing the POI. In this example, field 2052 includes information such as name, type of POI, location within the venue, and a link to online reviews. Signage 2050 also includes a field 2060 containing information about the venue to which the selected POI is included (e.g., a graphic representation of the venue type, venue name, location, etc., used by map application 132). In some implementations, signage 2050 may include a field 2062 containing contact information for the POI and a selector 2064 for initiating a telephone call to the POI.
[0185] In some implementations, signage 2050 also includes a field 2066 identifying the website of the POI and a link 2068 for linking to the website of the POI. In some implementations, signage 2050 also includes a field 2070 identifying the address of the POI and a selector 2072 for sharing address or other contact information about the POI.
[0186] In some implementations, in response to a user selecting a POI selector, some, but not all, of the rich signage information for the POI search results is transmitted to the user device 130 and stored by the map application 132. For example, map data received from the map server 102 may contain rich signage information for the first 25 POI search results, which will speed up the transmission between the server 102 and the user device 130. Furthermore, transmitting less than all the information will reduce the load on the user device 130 and conserve the device 130's memory resources and battery power. When a POI is selected and its sign 2050 needs to be displayed, rich signage information for other POIs will need to be retrieved. In response to a user selecting a POI selector, rich signage information for more or fewer than 25 POI search results may be received from the map server 102, and the embodiments disclosed herein are not limited thereto.
[0187] Users may want to view the physical structure, layout, and location of POIs that match the selected category, but since they are not located on the current floor, they are not shown on map 502. For example, GUI 1500 ( Figure 15 Map 502 shown in the diagram only illustrates the physical structure, layout, and location of POIs 1510, 1520, and 1530 (and other matching POIs) found on floor 2. The remaining matching POIs (i.e., matching POIs on different floors) are found in sign 1550. A mechanism should be provided for users to view the physical structure, layout, and location of POIs that match a selected category but are located on different floors.
[0188] Figure 21An exemplary graphical user interface 2100 is shown on user device 130, including a floor switcher 2120 that allows the user to switch from the current floor (as indicated by shaded identifier 2132) to a different floor, including floors that also contain POIs that match the selected POI category.
[0189] GUI 2100 includes map 502, which contains POIs 1510, 1520, and 1530, as well as other POIs corresponding to the selected POI category (e.g., clothing). These are the same POIs 1510, 1520, and 1530 discussed above regarding GUI 1500. POIs not associated with the selected POI category (e.g., clothing) are not marked on map 502 (but their physical structure and layout still exist on map 502). Similarly, POIs not on the indicated floor, regardless of whether they correspond to the selected category, are not displayed on map 502. In some implementations, when, for example, a user selects floor indicator 1340 on GUI 1500, floor toggle 2120 is presented and becomes active. This selection also causes field 2150 to be presented on GUI 2100. Field 2150 includes text 2152 identifying the current floor as "Second Floor".
[0190] In some implementations, the floor switcher 2120 includes floor indicators 2122, 2124, 2126, 2128, 2130, 2132, 2134, and 2136 for each publicly accessible floor within site 204. It can be seen that each indicator 2122, 2124, 2126, 2128, 2130, 2132, 2134, and 2136 includes text (i.e., letters, numbers, or a combination of letters and numbers) identifying the floor within site 204. In some implementations, the text within the floor indicators 2122, 2124, 2126, 2128, 2130, 2132, 2134, and 2136 is similar to or matches the text used to identify buttons on elevators within site 204.
[0191] In this example, indicator 2132 is emphasized to indicate that this is the current floor displayed on map 502. In the illustrated example, a diagonal line is used to highlight indicator 2132. Other visual processing (e.g., different colored text or background, shadow, blinking or animated text and / or background) can be used to emphasize indicator 2132. Floor indicators without POI search results will be inactive, and their text or background will be de-emphasized (e.g., grayed out, removed, or have a background different from that used by the active floor) to encourage the user to try selecting 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 is de-emphasized in selector 2120. In the illustrated example, a horizontal line is used to indicate that floors N5, N4, and L3 do not have any POIs that satisfy the POI search. This is just an example, and other visual processing can also be used to display unselectable floors. In the illustrated example, floors N3, L4, L2, LC, and B have POI search results. Therefore, the text within indicators 2126, 2128, 2132, 2134, and 2136 will not be emphasized in selector 2120, meaning these indicators are active.
[0192] Figure 22 An exemplary graphical user interface 2200 presented on user device 130 is shown, which includes a floor toggle 2120 used to switch views to different floors within site 204. In this example, the user has selected indicator 2128 to view the physical structure, layout, and location of a POI matching the selected category on floor L4. In this example, indicator 2128 is emphasized to indicate that this is the current floor displayed on map 502. As mentioned above, indicator 2128 can be emphasized by any visual processing, and this implementation is not limited to the illustrated example. This selection also causes field 2150 to change its content. For example, field 2150 now includes text 2252 identifying the current floor as “Fourth Floor”.
[0193] In some implementations, switching floors causes a rapid animation of vertical movement to be displayed on the screen. This animation simulates movement up / down floors, such as in an elevator. In some implementations, the current positioning dial 1301, displaying 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 floor different from the floor displayed in map 502, a more prominent identifier will be used with or instead of the user positioning dial 1301. For example, Figure 22A It shows the relationship with Figure 22The GUI 2000 is similar to the exemplary graphical user interface 2200A. However, the GUI 2200A includes a text indicator 2250 next to the current positioning disk 1301. In the illustrated example, the text indicator 2250 is "2F", indicating that the user is on the second floor. Figure 22B It shows the relationship with Figure 22 The GUI 2200B is an exemplary graphical user interface similar to the GUI 2000. However, the GUI 2200B replaces the current navigation disk with a more prominent graphic 2201. The graphic 2201 may be an image of the user or some other visual indicator (e.g., a cartoon graphic) to draw the user's attention to the fact that he or she is on a different floor than the floor shown in map 502. The GUI 2200B also includes a text indicator 2250 next to the graphic 2201 to indicate to the user that he or she is on a second floor.
[0194] Exemplary Site Directory – Airports
[0195] Figure 23 An exemplary graphical user interface 2300 is shown, comprising an indoor map 1002 containing site 804 and a site directory 2360. As with other specific embodiments discussed above, areas outside map 1002 are de-emphasized (e.g., grayed out) to draw the user's attention to map 1002 and the structures within site 804. Map 1002 shown on the GUI 2300 includes a current location disk 2301 indicating the user's current location on map 1002 (i.e., location is user device 130).
[0196] GUI 2300 also includes a sign 2350 having a venue directory 2360 containing one or more POI category selectors 2362, 2364, and 2366 and a search selector 2368. Each POI category selector 2362, 2364, and 2366 is associated with a category (e.g., terminal, shops, food, restrooms, etc.) to which the individual POIs of venue 804 have been grouped. The type of venue determines the number and type of categories to be used for directory 2360, and the disclosed implementation should not be limited to any number or type of categories used for directory 2360 or any directory shown herein. Venue directory 1460 also includes search selector 2368. Search selector 2368 can be used by a user to initiate a manual search for categories or specific POIs within venue 804.
[0197] By way of example only, category selector 2362 can be used to select the category of POI associated with the terminal, category selector 2364 can be used to select the category of POI associated with the store, and category selector 2366 can be used to select the category of POI associated with the place to eat / buy food within site 804.
[0198] In some implementations, the POI category selectors 2362, 2364, and 2366 of the site directory 2360 are color-coded (i.e., each has its own color). Furthermore, the colors of POI points and POI category indicators on map 1002 or other maps are selected to match the colors of the POI category selectors 2362, 2364, and 2366 used in the site directory 2360. In some implementations, the POI points and POI category indicators on map 1002 or other maps will have colors based on their respective categories, regardless of whether the site directory 2360 is displayed.
[0199] In some implementations, signage 2350 may include a field 2370 containing contact information for venue 804 and a selector 2372 for initiating telephone calls to venue 804. In some implementations, signage 2350 may also include a field 2380 identifying a website for venue 804 and a link 2382 for linking to the website for venue 804.
[0200] As you can understand, users can use site directory 2360 to search, browse, and / or obtain more information about POIs present in site 804 for specific categories. In the example below, the user has selected POI selector 2362 to initiate a search for terminals within site 804.
[0201] Figure 24 An exemplary graphical user interface 2400 is shown presented on user device 130 when a user selects POI category selector 2362 of GUI 2300 (i.e., the selector associated with the terminal within site 804). Map 1002 shown on GUI 2400 includes a current positioning disk 2301 showing the user's current location on map 1002 (i.e., the location is user device 130).
[0202] Map 1002 includes the structure, location, and layout of POI 2410 and other POIs corresponding to the selected POI category (e.g., terminal). For example, POI 2410 is represented by a physical structure 2412, a POI category indicator 2414, and a text label 2416 describing POI 2410 as "Terminal 3". Other POIs matching the selected POI category (e.g., terminal) can be identified in the same manner.
[0203] GUI 2400 also includes a sign 2450 for all search results matching the selected POI category. Sign 2450 includes a field 2452 containing information describing the search results. In this example, field 2452 includes a graphic 2453 representing the selected category (e.g., using the same graphic as the POI category indicator and selector described above) and a text label 2454 describing the search results as “at the LAX terminal.” This information alerts the user to the category of the search performed. Although not shown, a second text label may be presented to describe the number of search results. In some specific implementations, if a user is detected inside a terminal when the POI category selector 2362 of GUI 2300 is selected, the GUI for that terminal or its sign will be presented instead of all terminals as shown in GUI 2400 (see, for example, Figure 26 (GUI 2600).
[0204] Signage 2450 also includes a list of POI search results 2460 and 2470, for example, ordered alphabetically. In some implementations, the list of POI search results 2460 and 2470 may be organized in a different order, for example, by previous user activity at site 804. POI search result 2460 includes, for example, a field 2462 containing information about the POI (e.g., name, airline). POI search result 2470, as well as other search results in signage 2450, will contain the same type of information.
[0205] If understandable, sign 2450 can be pulled up to display more POI search results. Figure 25 An exemplary graphical user interface 2500 is shown on user device 130 when a user pulls up on sign 2450 toward the top of GUI 2500. As can be seen in the illustrated example, sign 2450 now displays POI search results 2460, 2470, 2472, 2474, 2476, 2478, and 2480.
[0206] In the following example, the user has selected Terminal 3 from the POIs that match the selected category. As mentioned above, selecting a terminal POI will cause another indoor map 1202 (i.e., a submap of site 804) of the terminal POI (e.g., POI 2410 shown in GUI 2400) to appear. This can occur after the user selects the terminal from any sign 2450 or by clicking on the terminal's POI on map 1002.
[0207] Figure 26An exemplary graphical user interface 2600 is shown, comprising an indoor map 1202 including POI 2410, as well as signage 2650 and catalog 2660. Similar to other specific embodiments discussed above, the area outside map 1202 is de-emphasized to draw the user's attention to the structures within map 1202 and POI 2410. Map 1202 shown on GUI 2600 includes a current location disk 2301 indicating the user's current location on map 1202 (i.e., location is user device 130). Map 1202 also includes a security checkpoint POI 1220, and GUI 1200 and the above-mentioned... Figure 12 Other POIs discussed.
[0208] Directory 2660 may 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, restaurants, restrooms, etc.) to which the individual POIs of POI 2410 have been grouped. The type of venue determines the number and type of categories to be used in directory 2660, and the disclosed implementation should not be limited to any number or type of categories used in directory 2660 or any directory shown herein. Directory 2660 also includes search selector 2668. Search selector 2668 can be used by a user to initiate a manual search for categories or specific POIs within POI 2410 or venue 804.
[0209] By way of example only, category selector 2662 can be used to select the category of POI associated with a store, category selector 2664 can be used to select the category of POI associated with a place to eat / buy food within venue 804, and category selector 2666 can be used to select the category of POI associated with a restroom.
[0210] In some implementations, the POI category selectors 2662, 2664, and 2666 of catalog 2660 are color-coded (i.e., each has its own color). Furthermore, the colors of POI points and POI category indicators on map 1202 or other maps are selected to match the colors of the POI category selectors 2662, 2664, and 2666 used in catalog 2460.
[0211] In some instances, signage 2650 may include field 2670 identifying an airline or other company within POI 2410. As will be understood, signage 2650 may be pulled up to display more information. Figure 27An exemplary graphical user interface 2700 is shown presented on user device 130 when a user pulls up sign 2650 toward the top of GUI 2700. As can be seen in the illustrated example, sign 2650 now includes a field 2672 containing information describing the location of the POI (i.e., venue 804). In some embodiments, sign 2650 may include a field 2674 containing contact information for the POI and a selector 2676 for initiating a telephone call to the POI. In some embodiments, sign 2650 also includes a field 2678 identifying a website for the POI or venue 804 and a link 2680 for linking to that website. In some embodiments, sign 2650 also includes a field 2682 identifying the address of the POI or venue 804 and a selector 2684 for sharing the address or other contact information about the POI or venue 804.
[0212] Figure 28 An exemplary graphical user interface 2800 is shown presented on user device 130 when a user selects POI selector 2664 (i.e., the selector associated with food within POI 2410) in GUI 2700. Map 1202 shown on GUI 2800 includes a current location disk 2301 showing the user's current location on map 1202 (i.e., the location is user device 130).
[0213] Map 1202 includes the structure and layout of the current floor, identified by floor indicators 2840. For example, it shows POIs 2810 and 2820, corresponding to the selected POI category (e.g., food), as well as other POIs. POIs not associated with the selected POI category (e.g., food) are not identified on map 1202 (but their physical structure and layout still exist). Similarly, POIs not on the shown floor, regardless of whether they correspond to the selected category, are not displayed on map 1202.
[0214] Points of interest (POIs) that match the selected category and are found on the current floor can be identified on map 1202 in several ways. For example, POI 2810 is represented by a physical structure 2812, a POI food category indicator 2814, and a text label 2816 describing POI 2810 as “Blue Angel Brewery.” The POI food category indicator 2814 is a graphic representing a beer glass and is used as a subcategory of the selected POI food category. Therefore, indicator 2814 serves as an additional explanation to the user that the matched POI result is not only a restaurant but is most likely a bar or drinking location. Symbols / graphics associated with the food POI selector 2664 can be used in place of or to complement the POI food category indicator 2814.
[0215] POI 2820 is represented by structure 2822, POI result indicator 2824, text label 2826 describing POI 2820 as “Chipotle” (for example), and text label 2828 containing the phrase “+2 more.” As can be understood, POI result indicator 2824 provides information that more than one POI matching the selected category was found at or within structure 2822. In the illustrated example, POI result indicator 2824 is a graphic containing the number 3, meaning that 3 POIs matching the selected category were found at or within structure 2822. To prevent confusion on map 1202, only the POI associated with POI 2820 has a text label 2826 describing the POI's name. In addition to “Chipotle,” text label 2828 also reminds the user that “2 more” POIs exist.
[0216] Even if the POI is located on a different floor of POI 2410, the GUI 2800 includes a label 2850 showing all search results that match the selected POI. The label 2850 includes a field 2852 containing information describing the search results. In this example, field 2852 includes a graphic 2853 representing the selected category (e.g., using the same graphic as the POI category indicator and selector described above), a first text label 2854 describing the search results as “restaurants in terminal 3”, and a second text label 2855 describing the search results as “7 locations”. This information alerts the user to the category of the search performed, how many POIs matching that search category were found, and what the matching POIs are on the current floor.
[0217] Signage 2850 also includes a list of POI search results 2860 and 2870, for example, ordered alphabetically. In some implementations, the list of POI search results 2860 and 2870 may be organized in different orders, such as by floor, or personalized based on previous user activity at venue 204, information contained on the user's device (e.g., membership card information in emails, text messages, contacts), calendar information identifying the venue, a specific POI, etc., or a store credit card registered to Apple Pay or other e-wallet applications. For example, POI search result 2860 includes field 2862 and a graphic 2864 showing the POI or associated with the POI, which includes information about the POI (e.g., name, venue type, floor directions, links to online reviews). Field 2862 also includes instructions 2865 regarding whether search result 2860 is before or after security screening. This is very useful information because a pre-security checkpoint is not desirable once the user has passed through security. Other search results in POI search results 2870 and signage 2850 will contain the same type of information.
[0218] Figure 29 An exemplary graphical user interface 2900 is shown presented on user device 130 when a user selects a POI identified as “Starbucks”, for example. The GUI 2900 includes a label 2950 for the selected POI. The label 2950 contains rich information about the selected POI.
[0219] Signage 2950 includes a field 2952 containing information describing the POI. In this example, field 2952 includes information such as name, type of POI, location within the venue, and a link to online reviews. Advantageously, field 2952 includes indication 2953 regarding whether the selected POI is before or after security screening. Signage 2950 also includes a field 2960 containing information about the venue in which the selected POI is contained (e.g., a graphic representation of the venue type, venue name, location, etc., used by map application 132). In some implementations, signage 2950 may include a field 2962 containing contact information for the POI and a selector 2964 for initiating a telephone call to the POI.
[0220] In some implementations, signage 2950 also includes a field 2966 identifying the website of the POI and a link 2968 for linking to the website of the POI. In some implementations, signage 2950 also includes a field 2970 identifying the address of the POI and a selector 2972 for sharing address or other contact information about the POI.
[0221] In some implementations, in response to a user selecting a POI selector, some, but not all, of the rich signage information for the POI search results is transmitted to the user device 130 and stored by the map application 132. For example, map data received from the map server 102 may contain rich signage information for the first 25 POI search results, which will speed up the transmission between the server 102 and the user device 130. Furthermore, transmitting less than all the information will reduce the load on the user device 130 and conserve the device 130's memory resources and battery power. When a POI is selected and its sign 2950 needs to be displayed, rich signage information for other POIs will need to be retrieved. In response to a user selecting a POI selector, rich signage information for more or fewer than 25 POI search results may be received from the map server 102, and the implementations disclosed herein are not limited to this.
[0222] Figure 30 An exemplary graphical user interface 3000 is shown presented on user device 130 when a user selects POI selector 2666 (i.e., the selector associated with the restroom within POI 1410) in GUI 2600. Map 1202 shown on GUI 2600 includes a current location disk 2301 showing the user's current location on map 1202 (i.e., the location is user device 130) and the structure and layout of the current floor identified by floor indicators 2840. POIs 3010, 3020, and 3030, as well as other POIs, corresponding to the selected POI category (e.g., restroom) on the current floor are shown. Points of interest matching the selected category and found on the current floor can be identified on map 1202 in various ways. For example, POI 3010 is represented by physical structure 3012, POI restroom indicator 3014, text label 3016 describing POI 3010 as "restroom" (for example), and text label 3018 further describing POI 3010 as a "men's" restroom. In this example, POI restroom indicator 3014 is a graphic typically used to represent a men's restroom. As shown above relative to... Figure 22A and Figure 22B When the user is on a different floor than the floor shown in map 1202, a more prominent identifier may be used with or in place of the user positioning disk 2301.
[0223] POI 3020 is represented by physical structure 3022, POI restroom indicator 3024, text label 3026 describing POI 3020 as "restroom" (for example), and text label 3028 further describing POI 3020 as a "women's" restroom. In this example, POI restroom indicator 3024 is a graphic typically used to represent a women's restroom.
[0224] POI 3030 is represented by physical structure 3032, POI toilet indicator 3034, text label 3036 describing POI 3030 as a "toilet" (for example), and text label 3038 further describing POI 3030 as a toilet with a "diaper changing facility". In this example, POI toilet indicator 3034 is a graphic typically used to represent a bathroom in a home.
[0225] POI restroom indicators 3014, 3024, and 3034 can be displayed animatedly (e.g., flashing, rotating, bouncing up and down) to draw the user's attention to the POI matching the selected category. Other POIs matching the selected POI category displayed on map 1202 can be identified using one of the methods described above for POIs 3010, 3020, or 3030.
[0226] The GUI 3000 also includes a field 3050 for identifying search results displayed on the GUI 3000. In this example, field 3050 includes a graphic 3452 representing the selected category (e.g., using the same graphic as the POI category indicator and selector described above), a first text label 3453 describing the search result as “in the restrooms of terminal 3”, and a second text label 3455 describing the search result as “5 locations”. This information alerts the user to what category of search was performed, how many POIs matching that search category were found, and what the matching POIs are on the current floor.
[0227] search
[0228] Users also expect to search for and view the interior of a site before accessing it on a map. In other words, users expect to be presented with views of the site and its interior, similar to the general search functionality of a map application. Figure 31 An exemplary graphical user interface 3100 of a map application 132 is shown, which can be presented to the display of a user device 130 to initiate a search using the application 132. The GUI 3100 shows a tray 220 in a pull-up status display graphical element 222 for performing a manual search for a location or address. Figure 2 The search options include: a search directory 3110, links 3130 to signs associated with a specific location (e.g., Westfield San Francisco Centre), links 3132 to driving directions to the user's home, and a virtual keyboard 3140. Manual search within graphical element 222 utilizes keyboard 3140, as discussed in more detail below.
[0229] In some implementations, search directory 3110 includes 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 categories to which various types of venues have been grouped (e.g., restaurants, shops, bars, gas stations, etc.). It should be understood that other types of venues may be included, and the disclosed implementations should not be limited to any number or type of categories in directory 3110.
[0230] By way of example only, category selector 3112 can be used to select venues associated with the category of restaurants, category selector 3114 can be used to select venues associated with the category of fast food locations, category selector 3116 can be used to select venues associated with the category of coffee shops, category selector 3118 can be used to select venues associated with the category of bars, category selector 3120 can be used to select venues associated with the category of grocery stores, category selector 3122 can be used to select venues associated with the category of shopping locations, category selector 3124 can be used to select venues associated with the category of hotels, and category selector 3126 can be used to select venues associated with the category of gas stations.
[0231] In some specific implementations, the venue category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124, and 3126 of the search catalog 3110 are color-coded (i.e., each has its own color). Furthermore, venues displayed on map 202 at any time will have colors matching those of the category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124, and 3126 used in the search catalog 3110. A search using the search catalog 3110 is performed by selecting one of the venue category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124, and 3126. After selection, a list of venues matching the selected category is presented on user device 130 (described in more detail below).
[0232] Figure 32An exemplary graphical user interface 3200 of a map application 132 is shown, which can be presented to the display of a user device 130 to initiate a manual search for sites using the application 132. The GUI 3200 shows text being entered into field 3222 to initiate a manual search. In some implementations, the map application 132 uses an autocomplete feature to suggest site names, locations, search directories, etc. In the example shown, the user has not yet completed inputting the search query, but the map application 132 has already autocompleted the query and displays a list 3250 of search results 3260, 3270, and 3280 that were populated as the user entered text into field 3222.
[0233] Search results 3260 include: a graphic 3263 representing one of the venue category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124, and 3126 of the search directory 3110 (GUI 3100); a first text label 3264 describing the search result by its venue name as “Westfield San Francisco Center”; a second text label 3265 providing the address and distance to the venue; and a link 3266 to online reviews of the venue. In the example shown, the venues identified in search results 3260 include indoor maps as discussed herein. Therefore, search results 3260 include a selector 3267 for allowing the user to select and view the interior of the venue (i.e., view the indoor map of the venue). Search results 3270 and 3280 list venues for which no indoor map is visible. Otherwise, search results 3270 and 3280 may contain similar information about their respective venues (i.e., corresponding graphic, venue name, location, and link to online reviews).
[0234] Users can select any of the search results 3260, 3270, and 3280 from list 3250 to display their location on a map (e.g., map 202), as is typically done in map applications. Furthermore, because search result 3260 includes a selector 3267 for allowing users to select and view the interior of the site (i.e., view an indoor map of the site), users can select an indoor view of the site associated with result 3260 by choosing selector 3267. The indoor view can be similar to the indoor map 502 discussed above.
[0235] Figure 33An exemplary graphical user interface 3300 of a map application 132 is shown, which can be presented to the display of a user device 130 to initiate a manual search using the application 132 for a specific venue name. As an example, GUI 3300 shows text being entered into field 3322 to initiate a manual search for the name “Kate Spade”. In some implementations, map application 132 uses an autocomplete feature to suggest venue names. In the example shown, the user has not yet completed the search query, but map application 132 has already autocompleted the query and displays a list 3350 of search results 3360, 3370, and 3380 for “Kate Spade” that were populated as the user entered text into field 3322.
[0236] Search results 3360 include: a graphic 3363 representing one of the venue category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124, and 3126 of the search directory 3110 (GUI 3100); a first text label 3364 describing the search result as “Kate Spade” by its venue name, for example; a second text label 3365 providing the address and distance to the venue; and a link 3366 to online reviews of the venue. In the example shown, the venue identified in search results 3360 was found to be located within a venue that includes an indoor map as discussed herein. Therefore, search results 3360 include a selector 3367 for allowing the user to select and view the interior of the venue associated with the search result (i.e., view the indoor map of the venue). Search results 3370 and 3380 list venues for which no indoor map is visible. Otherwise, search results 3370 and 3380 may contain similar information about their respective venues (i.e., corresponding graphics, venue name, location, and links to online reviews).
[0237] As with other lists of search results discussed herein, users can select any of the search results 3360, 3370, and 3380 from list 3350 to display their location on a map (e.g., map 202), as is typically done in map applications. Furthermore, because search result 3360 includes a selector 3367 for allowing users to select and view the site interior associated with the search result (i.e., view an indoor map of the site), users can select an indoor view of the site associated with result 3360 by choosing selector 3367. The indoor view can be similar to the indoor map 502 discussed above. In some implementations, the indoor view is magnified so that the initial POI density is visible (see the "POI Density" section). Furthermore, for smaller sites, the indoor view can be magnified even further. In some implementations, even if not all POIs can be displayed in the GUI, application 132 does not zoom out to the extent that the external site structure is displayed on the screen. This prevents the user's view from being taken outside the site.
[0238] Figure 34 An exemplary graphical user interface 3400 of a map application 132 is shown, which can be presented to the display of a user device 130 to initiate a manual search for a category of venues using the application 132. As an example, GUI 3400 shows input being entered into field 3422 to initiate a manual search for a category of venues, such as venues offering "Coffee". In some specific implementations, map application 132 uses an autocomplete feature to suggest venue names. In the example shown, the user has not yet completed input for the search query, but map application 132 has already autocompleted the query and displays a list 3450 of search results 3460, 3470, 3480, and 3490 for venues offering "Coffee" that were populated as the user entered text into field 3422.
[0239] For example, search result 3460 includes a graph 3463 representing one of the venue category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124, and 3126 of the search catalog 3110 (GUI 3100), and a first text label 3464 describing the search result as "coffee and tea in Westfield". Therefore, search result 3460 provides venues with one or more coffee shops near the user's location. In some implementations, a predetermined distance can be used as a 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 the venue. An example of the search and results presented when the user is inside the venue is described below (see the "In-venue Search" section). In some implementations, search results are ranked differently based on whether the user is inside or outside the venue. For example, when a user is inside a venue, search results can be ranked based on previous user activity, information contained on the user's device (e.g., membership card information in emails, text messages, contacts), calendar information, specific POIs, etc., or store credit cards registered to Apple Pay or other e-wallet apps. When outside a venue, search results can be ranked so that venues with interior views are listed first. Alternatively, when outside a venue, search results can be ranked so that venues with interior views are generally listed among other search results, but not prioritized over others. Other information, such as address, distance to the venue, and / or links to online reviews of the venue, can also be provided. In the example shown, the venue identified in search result 3460 includes an indoor map as discussed herein. Therefore, search result 3460 includes a selector 3467 for allowing the user to select and view an indoor map of a venue associated with the search result. In some embodiments, selecting selector 3467 can cause search results from within the venue to be displayed. In some embodiments, selecting selector 3467 can cause the floor of the venue with the best matching search result to be displayed. In some implementations, the selector 3467 can make the floor display the venue with the most popular search results.
[0240] Search results 3470, 3480, and 3490 list venues for which no indoor map is available. Otherwise, search results 3470, 3480, and 3490 may contain similar information about their respective venues (i.e., corresponding graphics, venue name, location, and links to online reviews).
[0241] As described above, search result 3460 provides venues that contain one or more coffee shops. In some implementations, the returned search results can identify a specific coffee shop by its name (e.g., "Café Bellini" as shown in result 3480). Furthermore, the returned search results can identify coffee shops nearby (i.e., within a certain proximity to the user device 130) (e.g., "Coffee & Tea – Search Nearby" as shown in result 3470).
[0242] As with the other lists of search results discussed herein, users can select any of the search results 3460, 3470, 3480, and 3490 from list 3450 to display one or more of their locations on a map (e.g., map 202), as is typically done in map applications. Furthermore, because search result 3460 includes a selector 3467 for allowing users to select and view an indoor map of the site associated with the search result, users can select an indoor view of the site associated with result 3460 by choosing selector 3467. The indoor view can be similar to the indoor map 502 discussed above.
[0243] It is also desirable to access site features of map application 132 from other applications and features of user device 130. For example, most computers, smartphones, and tablets include web browsers, such as Safari from Apple, Inc. These web browsers allow users to search for all types of information, including information about sites, their location, and driving directions to the site, to name a few. It is desirable to access features of map application 132 discussed herein from a web browser, enabling users to access indoor maps, search for points of interest using specific site directories, and view points of interest in the manner discussed herein.
[0244] Figure 35 An exemplary graphical user interface 3500 that can be presented to the display of a user device 130 is shown. This exemplary graphical user interface 3500 provides access to features of a map application 132 through a web browser search. As an example, GUI 3500 shows text being entered into field 3522 of a web browser to initiate a manual search for items associated with “Coffee”. In the example shown, the web browser uses an autocomplete feature to suggest venue names. In the example shown, the user has not yet completed the input of the search query, but the browser has already autocompleted the query and displayed a list 3550 of search results 3560, 3566, 3570, 3572, 3574, 3576, and 3578 corresponding to the “Coffee” query.
[0245] Search result 3560 is a result returned from map application 132 and has the appearance of search results from map application 132 discussed herein. For example, search result 3560 includes a graph 3563 representing one of the venue category selectors used in the venue and the search catalog of application 132 discussed herein (e.g., category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124, and 3126 of search catalog 3110 found on exemplary GUI 3100). As an example, search result 3560 also includes a first text label 3564 describing the search result as “coffee and tea in Westfield”. Other information, such as address, distance to venue, and / or links to online reviews of the venue, may also be provided. In the example shown, the venues identified in search result 3560 include indoor maps as discussed herein. Therefore, search result 3560 includes a selector 3567 for allowing the user to select and view indoor maps of venues associated with the search result. Therefore, by providing access to site viewing, searching, and other features of the map application 132, the user's browser experience is enhanced.
[0246] Search result 3566 indicates that there are more locations within map application 133 that can be accessed by selecting this result. Search results 3570, 3572, 3574, 3576, and 3580 are typical search result types found when searching using a web browser. For example, search result 3570 is a link for a specific search (such as a search for "DuckDuckGo"). Search result 3572 is a link for a search for "coffee". Search result 3574 is a link for a search for "coffeemachine". Search result 3576 is a link for a search for "coffee mugs". Search result 3578 is a link for a search for "coffee tables".
[0247] Other applications or programs exist for accessing information on user device 130, which would also enhance the user experience if they could access the features of map application 132. For example, there are applications and programs for searching and organizing files and other information on computers, smartphones, or tablets, such as Apple, Inc.'s Spotlight app. It is desirable to access the features of map application 132 discussed herein from external applications that provide search capabilities, such as Spotlight.
[0248] Figure 36An exemplary graphical user interface 3600 is shown that can be presented to the display of a user device 130, providing access to features of a map application 132 via a search application (such as a Spotlight application). As an example, GUI 3600 shows text being entered into field 3622 of the search application to initiate a manual search for items associated with “Coffee”. In the example shown, the search application displays a list 3650 of search results 3660, 3670, 3680, 3682, and 3684 corresponding to the query “Coffee”.
[0249] Search result 3660 is a result returned from map application 132 and has the appearance of search results from map application 132 discussed herein. For example, search result 3660 includes a graph 3663 representing one of the venue category selectors used at the venue and the search catalog of application 132 discussed herein (e.g., category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124, and 3126 of search catalog 3110 found on exemplary GUI 3100). As an example, search result 3660 also includes a first text label 3664 describing the search result as “coffee and tea at Westfield”. Other information, such as address, distance to the venue, and / or links to online reviews of the venue, may also be provided. In the example shown, the venue identified in search result 3660 includes an indoor map as discussed herein. Therefore, search result 3660 includes a selector 3667 for allowing the user to select and view the venue interior associated with the search result (i.e., view the indoor map of the venue). Therefore, by providing access to site viewing, searching, and other features of the map application 132, the user's search experience is enhanced.
[0250] Search result 3670 is another search result returned from map application 132 and has the appearance of a search result from map application 132 discussed herein. For example, search result 3670 includes a graphic 3673 representing one of the venue category selectors used at the venue and a search directory of application 132 discussed herein. As an example, search result 3670 also includes a first text label 3674 describing the search result as “Starbucks”. Search result 3670 includes a text label 3675 providing the address and location of the identified venue, and a link 3676 to online reviews of the venue. In the example shown, the venue identified in search result 3670 includes an indoor map as discussed herein. Therefore, search result 3670 includes a selector 3677 for allowing the user to select and view the venue interior associated with the search result (i.e., view the venue's indoor map). Thus, the user's search experience is enhanced by providing access to venue viewing, searching, and other features of map application 132.
[0251] Search results 3680, 3682, and 3684 are typical search result types found when using a search application. For example, search result 3680 is a link to the specific location "Mazarine Coffee". Search result 3682 is a link for searching "coffee meets bagel". Search result 3684 is a link for searching "coffee table".
[0252] There are voice command apps and programs that allow users to search via voice commands, such as Apple's Siri app and program. The desired feature is access to the map app 132 discussed herein from external command apps and programs that allow users to search via voice commands (such as Apple's Siri app and program).
[0253] Figure 37 An exemplary graphical user interface 3700 is shown that can be presented to a display of a user device 130. This exemplary graphical user interface 3700 provides access to features of a map application 132 via voice commands using a smart personal assistant (such as a Siri application). As an example, GUI 3700 shows a voice command 3720 input and accepted via a voice command application to initiate a search for items associated with “Coffee”. In the example shown, the search application displays a list 3750 of search results 3760, 3770, 3780, and 3790 corresponding to the query “Coffee”.
[0254] Search result 3760 is a result returned from map application 132 and has the appearance of search results from map application 132 discussed herein. For example, search result 3760 includes a graph 3763 representing one of the venue category selectors used at the venue and the search catalog of application 132 discussed herein (e.g., category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124, and 3126 of search catalog 3110 found on exemplary GUI 3100). As an example, search result 3760 also includes a first text label 3764 describing the search result as “coffee and tea at Westfield”. Other information, such as address, distance to the venue, and / or links to online reviews of the venue, may also be provided. In the example shown, the venue identified in search result 3760 includes an indoor map as discussed herein. Therefore, search result 3760 includes a selector 3767 for allowing the user to select and view the venue interior associated with the search result (i.e., view the indoor map of the venue). Therefore, by providing access to site viewing, searching, and other features of the map application 132, the user's voice command search experience is enhanced.
[0255] Search result 3770 is another search result returned from map application 132 and has the appearance of the search results of map application 132 discussed herein. For example, search result 3770 includes: an image 3773 representing the venue, a first text label 3774 describing the search result as "Starbucks" for example, a second text label 3775 providing the address and location of the identified venue, and a link 3776 to online reviews of the venue. In the example shown, the venue identified in search result 3770 includes an indoor map as discussed herein. Therefore, search result 3770 includes a selector 3777 for allowing the user to select and view the interior of the venue associated with the search result (i.e., view the indoor map of the venue). Thus, the user's voice command search experience is enhanced by providing access to venue viewing, searching, and other features of map application 132.
[0256] Search result 3790 is a typical search result type found when using voice command search. For example, search result 3780 is a link to the specific venue "Mazarine Coffee". As discussed in the context, search results can be presented differently based on whether the user is inside or outside the venue.
[0257] Announcements and Alerts
[0258] Even if user device 130 is in locked mode, it is desirable to notify the user that information about a specific location is available. In other words, it is desirable to display a GUI when user device 130 is locked, thereby notifying the user that information about a specific location near the user is available.
[0259] Figure 38 An exemplary graphical user interface 3800 is shown that can be presented to the display of user device 130 when user device 130 is in locked mode. In the example shown, GUI 3800 appears on the lock screen display 3820 of user device 130, thus serving as a site proximity alarm. GUI 3800 includes a graphic 3812 identifying the alarm as originating from or associated with map application 132. GUI 3800 also includes a time indicator 3814, which in the example shown is “Now”. By way of example, GUI 3800 also includes a text label 3816 describing the site alarm as “Westfield San Francisco Center”. In the example shown, the site of the alarm includes an indoor map as discussed herein. Therefore, GUI 3800 includes a text label 3818 stating “Open the map to see locations in this mall”.
[0260] As is known in the art, swiping the GUI 3800 will cause the desktop app to appear on the display of the user device 130. Therefore, Figure 39 An exemplary graphical user interface 3900, including a desktop applet, may be presented to the display of user device 130 after a user swipes or otherwise interacts with GUI 3800. In the example shown, GUI 3900 appears on the lock screen display 3820 of user device 130, thus serving as a desktop applet for a location proximity alarm for GUI 3800. GUI 3900 includes a graph 3912 identifying the desktop applet as originating from or associated with map application 132. GUI 3900 also includes a selector 3914 for “showing less” or minimizing the content displayed on GUI 3900.
[0261] GUI 3900 includes two optional fields 3920 and 3930. In the illustrated embodiment, optional field 3920 includes a graphic 3924 representing one of the site category selectors used in the site and a search catalog of the application 132 discussed herein (e.g., category selectors 3112, 3114, 3116, 3118, 3120, 3122, 3124, and 3126 of the search catalog 3110 found on the exemplary GUI 3100). Optional field 3920 also includes a first text label 3926 describing field 3920 as “Westfield SanFrancisco Center”, thus maintaining consistency with the current example. In the illustrated example, the site identified in field 3920 includes an indoor map as discussed herein. Therefore, field 3920 includes a selector 3928 for allowing the user to select and view an indoor map of a site associated with the search results. In the illustrated example, optional field 3930 is a field for allowing the user to obtain directions to his or her home.
[0262] Figure 40 An exemplary graphical user interface 4000 is shown that can be presented to the display of user device 130 when user device 130 is in locked mode. In the example shown, GUI 4000 appears on the lock screen display 3820 of user device 130 and includes a site proximity alarm 4010 and an alarm event 4020. Alarm 4010 includes a graphic 4012 identifying the alarm as originating from or associated with map application 132. Alarm 4010 also includes a time indicator 4014, which in the example shown is “Now”. By way of example, alarm 4010 also includes a text label 4016 describing the site alarm as “Los Angeles International Airport”. In the example shown, the site of the alarm includes an indoor map as discussed herein. Therefore, alarm 4010 includes a text label 4018 stating “Open the map to see locations within this airport”.
[0263] Event 4020 includes a graphic 4022 identifying the event as originating from or associated with an airline, which in the example shown is Virgin America. Event 4020 also includes a time indicator 4024, which in the example shown is “Now.” By way of example, event 4020 also includes a text label 4026 describing the event as “Flight VX77.” In the example shown, the event includes a text label 4028 stating “Boarding in 2 hours at Terminal 3, Gate 34A.”
[0264] As is known in the art, a swipe alert 4010 will cause a desktop applet to appear on the display of the user device 130. Therefore, Figure 41 An exemplary graphical user interface 4100, including a desktop applet, may be presented to the display of user device 130 after a user interacts with the alarm 4010 of GUI 4000 by swiping or otherwise. In the example shown, GUI 4100 appears on the lock screen display 3820 of user device 130, thus serving as a desktop applet for a location proximity alarm of GUI 4000. GUI 4100 includes a graph 4112 identifying the desktop applet as originating from or associated with map application 132. GUI 4100 also includes a selector 4114 for “showing less” or minimizing the content displayed on GUI 4100.
[0265] GUI 3410 includes two optional fields 4120 and 4130. In the illustrated embodiment, optional field 4120 includes a graphic 4124 representing the airport. Optional field 4120 also includes a first text label 4126 describing field 4120 as “LAX”, thus maintaining consistency with the current example. In the illustrated example, the venues identified in field 4120 include indoor maps as discussed herein. Therefore, field 4120 includes a selector 4128 for allowing the user to select and view indoor maps associated with the search results. In the illustrated example, optional field 4130 is a field for allowing the user to obtain directions to his or her home.
[0266] As is known in the art, a swipe event 4020 will cause event details, for example, from a calendar application, to appear on the display of the user device 130. Therefore, Figure 42 An exemplary graphical user interface 4200, including event details, may be presented to the display of the user device 130 after the user interacts with the event 4020 of the GUI 4000 by swiping or otherwise. The event details may come from a calendar or similar application or program, in addition to the site details 4210 imported from the map application 132.
[0267] Site details 4210 include a graphic 4212 representing LAX terminal 3 as described in event 4020. In addition to graphic 4112, site details 4210 also includes a first text label 4214 identifying details 4210 as “LAX terminal 3”, thus maintaining consistency with the current example. Site details 4210 also includes a selector 4216 for allowing users to select and view an indoor map of the site (i.e., LAX terminal 3). Site details 4210 also includes an indoor directory 4220 identifying POI category selectors 4222, 4224, and 4226, which users can select based on the principles discussed herein for searching and viewing the site interior. Directory 4220 also includes a selector 4228 for initiating a manual search for the site as described herein.
[0268] POI density
[0269] As shown and discussed above, the disclosed site features of map application 132 include unique techniques for displaying and marking points of interest (POIs) within the site. Based on the disclosed principles, POIs can be used at low zoom levels to create visual interest in an interior view of the site and encourage users to zoom in further to see more. POIs are used to indicate the density of available POIs within the site. This differs from typical map applications, which present outdoor maps and simply place points sparsely, thus not providing an indication of POI density on the map. Furthermore, displaying each POI could be confusing or lack visual appeal by providing too much information at once. As shown and described above, in map application 132, additional useful category information (e.g., category indicators) can be associated with the displayed POIs when further zooming is performed (i.e., at lower zoom levels).
[0270] A POI can be associated with one of the following states: three states that specify how the POI and its structure are identified on an indoor map (e.g., by a point, a labeled point, or a category indicator with a label), and a fourth state that the POI is not identified on the indoor map (i.e., only the structure is shown, but the POI's identifier is hidden from the view).
[0271] Figure 43This is an exemplary graphical user interface 4300 that presents an indoor map 4302, which includes points of interest (POIs) in one of four display states. For example, POI 4310 is shown in a first state, whereby it is represented by its physical structure 4312 and identified by POI point 4314. POI 4320 is shown, for example, in a second state, whereby it is represented by its physical structure 4322 and identified by POI point 4324 and a text label 4326 describing POI 4320 as “Tadashi”. POI 4330 is shown, for example, in a third state, whereby it is represented by its physical structure 4332, POI indicator 4334, and a text label 4336 describing POI 4330 as “Apple Valley Fair”. In the specific implementation shown, POI indicator 4334 is a graphic associated with Apple, Inc., but as shown and described herein, POI indicator 4334 may indicate a category (e.g., a category indicator associated with a venue directory), a subcategory (e.g., a food category indicator, such as a pizza indicator), or other types of indicators associated with POI 1430 (e.g., an airport entrance / exit indicator).
[0272] POI 4340 differs from POIs 4310, 4320, and 4330. For example, POI 4340 is shown as being in a fourth state, thus it is represented solely by its physical structure 4342. In some specific implementations, POI 4340 does not have a label because its label would collide with or be obscured by the label of another POI discussed in more detail below (e.g., label 4356 of POI 4350).
[0273] In some implementations, as the indoor map or POI is zoomed in further, the POI will transition from a first state to a second state and then to a third state. For example, a POI represented by its structure and POI points (i.e., state 1) will transition to a POI represented by its structure, POI points, and text labels (i.e., state 2) after the first zoom-in operation. Similarly, a POI represented by its structure, POI points, and text labels (i.e., state 2) will transition to a POI represented by its structure, POI indicators, and text labels (i.e., state 3) after the second zoom-in operation. In some implementations, the transitions between states will be animated to further attract the user's attention.
[0274] Understandably, the display of user device 130 has only this much space. This limited space on the display could cause POI labels to conflict (i.e., overlap), which is undesirable. If the site contains many closely spaced POIs, conflicts could occur, preventing the use of labels for each POI. Therefore, before displaying the POIs, for example in state 2 or 3, the map application 132 calculates the required size to represent the POIs on the current view of the display area. If the representations of one or more POIs would overlap, the map application 132 hides one or more representations to prevent clutter in the display area.
[0275] In some implementations, map application 132 will prioritize and process POI labels to ensure there are no overlapping / conflicting labels. In some implementations, map application 132 uses salience metrics and analytics to determine which POIs should be represented more prominently than others within a site. In some implementations, POIs may be associated with popularity metrics; the more popular a POI is with a particular site or public, the more likely it is to be highlighted more prominently than other POIs. In some implementations, POIs may be assigned additional values (e.g., values indicating how frequently a POI is accessed by a particular user) to be taken into account when prioritizing POIs.
[0276] POIs can also be associated with specific sizes based on their structure. For example, POI sizes can be small, medium, large, extra-large, and double-extra-large. POI size can also be considered when determining which POIs should be more prominently displayed in the current map view.
[0277] If map display conditions permit, once prioritized, POIs that should be more prominent will be represented by their structure, POI indicator, and text label (i.e., state 3). Otherwise, if map display conditions permit, POIs that should be more prominent will be represented by their structure, POI points, and text label (i.e., state 2). Finally, POIs that should be more prominent will be represented by their structure and POI points (i.e., state 1). In some specific implementations, due to the size of double-sized POIs, they are always represented by their structure, POI points, and text label, or POI indicator and text label (i.e., they will only be represented by state 2 or 3) (unless hidden).
[0278] Unless obscured, the remaining POIs on the current map view will be represented as described above. In this case, the POI of the obscured POI will be represented only by its structure, and further identification will be hidden from the view (i.e., state 4).
[0279] In some implementations, map application 132 places the POI point and indicator in one of two locations within the POI structure based on the size of the POI structure. Figure 44a is a portion of an exemplary graphical user interface 4400a presenting an exemplary point of interest with a small footprint. For example, POI 4410 is represented by a structure 4412 with a small footprint or size. In this example, POI point 4414 is placed slightly off-center from the entrance 4418 of structure 4412. This offset can be a predetermined distance for each POI. This offset can correspond to a distance based on the actual size of the POI structure (e.g., 4 meters) determined by map data. In some implementations, this offset can correspond to a value suitable for the current zoom level of the current view. Therefore, it is necessary to use the same offset for each POI represented in this way to present a uniform representation and an aesthetically pleasing view. Therefore, this disclosure should not be limited to any particular or actual offset value.
[0280] On the other hand, Figure 44b is part of an exemplary graphical user interface 4400a presenting an exemplary point of interest (POI) with a large footprint. For example, POI 4420 is represented by a structure 4422 with a large footprint or size. In this example, POI point 4424 is placed approximately at the center of structure 4422, rather than offset from entrance 4428. This type of placement is both aesthetically pleasing and provides a good indication of the dimensions of structure 4422.
[0281] However, sometimes the entire structure of a large POI will not be in the current view (e.g., some POI structures will not be displayed in the current view due to the zoom level or position of the POI). In these cases, placing the POI's point at the center of its structure is undesirable or impossible. Therefore, an alternative technique should be used. Figure 44c is a portion of an exemplary graphical user interface 4400c presenting an exemplary point of interest with a large footprint, where only a portion is presented in the current view. It can be seen that the structure 4422 of POI 4420 is only partially reproduced. Therefore, in this example, POI point 4424 is placed in front of the structure 4422, offset from the entrance 4428, similar to how POI points are placed for smaller POIs.
[0282] In some implementations, when a POI is represented by a label, the same type of POI placement is used. For example, Figure 45a is a portion of an exemplary graphical user interface 4500a presenting an exemplary point of interest with a small footprint. For example, POI 4510 is represented by a structure 4512 with a small footprint or size. In this example, the POI indicator 4514 is placed slightly off-center from the entrance 4518 of the structure 4512. The text label 4516 is anchored to the POI indicator 4514 and is therefore also offset from the entrance 4518. On the other hand, Figure 45b is a portion of an exemplary graphical user interface 4500b presenting an exemplary point of interest with a large footprint. For example, POI 4520 is represented by a structure 4522 with a large footprint or size. In this example, the POI indicator 4524 is placed approximately at the center of the structure 4522, rather than offset from the entrance 4428. The text label 4526 is anchored to the POI indicator 4524 and is therefore also placed approximately at the center of the structure 4522.
[0283] However, sometimes the entire structure of a large POI will not be in the current view (e.g., some POI structures will not be displayed in the current view due to the zoom level or position of the POI). In these cases, placing the POI's point in the center of its structure is undesirable or impossible. Therefore, an alternative technique should be used. Figure 45c is a portion of an exemplary graphical user interface 4500c presenting an exemplary point of interest with a large footprint, where only a portion is presented in the current view. It can be seen that the structure 4522 of POI 4520 is only partially reproduced. Therefore, in this example, the POI indicator 4524 is placed in front of the structure 4522, offset from the entrance 4528, similar to how POI indicators are placed for smaller POIs. The text label 4526 is anchored to the POI indicator 4524 and is therefore also offset from the entrance 4528.
[0284] In some specific implementations, map application 132 will place and anchor the text labels of POIs with text labels at different locations relative to the associated POI points or indicators, so as to fit within the associated structure and prevent overlap with other POIs. Figure 46 This is part of an exemplary graphical user interface 4600 that presents different markers, such as points of interest (POIs). For example, POI 4610 has a structure 4612 with an entry point 4618. Due to the position of the entry point 4618 and the position of the adjacent POI 4620, the text label 4616 is anchored to the right of the POI indicator 4614. The POI indicator 4614 and therefore the text label 4616 are offset by a distance 4617 from the entry point 4618.
[0285] POI 4620 has a structure 4622 with an inlet 4628. Due to the position of the inlet 4628 and the position of the adjacent POI 4610, the text label 4626 is anchored above the POI indicator 4624. The POI indicator 4624 and therefore the text label 4626 are offset by a distance 4627 from the inlet 4628. Furthermore, exemplary POI 4630 has a structure 4632 with an inlet 4638. Due to the position of the inlet 4638 and the position of the adjacent POI, the text label 4636 is anchored to the left of the POI indicator 4634. The POI indicator 4634 and therefore the text label 4636 are offset by a distance 4637 from the inlet 4638. Although in Figure 46 Not shown, but text labels can be anchored to the POI or indicator associated with it below the POI or indicator (see [link]). Figure 43 (POI 4350).
[0286] In some implementations, after placing the POIs and indicators, the map application 132 aligns them relative to each other to provide an aesthetically pleasing and uniform POI presentation. In some implementations, if a POI or indicator is offset horizontally from the entrance, it is aligned vertically with other POIs and indicators. Similarly, if a POI or indicator is offset vertically from the entrance, it is aligned horizontally with other POIs and indicators. The map application 132 aligns the POIs and indicators such that they are spaced at a static distance from each other.
[0287] Figure 47 This is an exemplary graphical user interface illustrating the alignment of exemplary points of interest (POIs) on an indoor map. For example, once POIs 4714 and 4724 are initially placed as described above, the map application 132 aligns them in the horizontal direction 4750. Furthermore, once POIs 4724 and 4734 are initially placed as described above, the map application 132 aligns them in the vertical direction 4752. Sometimes POIs are aligned diagonally. For example, once POIs 4714 and 4744 are initially placed as described above, the map application 132 aligns them in the diagonal direction 4754.
[0288] Indoor venue route
[0289] Once on site, the map application 132 is expected to provide routes and / or turn-by-turn navigation instructions to destinations within the site, as desired by the user. Understandably, indoor navigation on sites with multiple floors or structures is quite complex and difficult, and the presentation needs to be adjusted to ensure that the navigation route is not hidden from the view as the user is traversing the route. Furthermore, it may be necessary to present routes and navigation instructions to allow users to move between floors using, for example, elevators, escalators, or stairs, and therefore must be able to present routes and navigation instructions accordingly.
[0290] In some implementations, map application 132 uses an indoor navigation method to determine the location of device 130 and site structures, presenting indoor routes and / or turn-by-turn navigation instructions on user device 130. The indoor navigation method is, for example, a polygonal route method, disclosed in U.S. Patent Application No. 14 / 869,830, filed September 29, 2015, the entire contents of which are incorporated herein by reference. While it is desirable, the disclosed embodiments should not be limited to the polygonal route method used to determine the location of device 130 and site structures, and any suitable indoor navigation method (e.g., GPS-based) can be used to provide indoor routes and / or turn-by-turn navigation instructions based on the disclosed principles.
[0291] In some implementations, map application 132 uses a virtual camera that dynamically modifies how it captures portions of an indoor map based on detected changes in the navigation context to produce different navigation scenarios in the site's navigation presentation. U.S. Patent Application No. 15 / 274,378, filed September 23, 2016, discloses a context-driven navigation presentation for outdoor environments, the entire contents of which are incorporated herein by reference. Map application 132 can use similar principles to provide context-driven navigation presentation for indoor environments, such as one of the sites discussed herein.
[0292] To generate indoor navigation scenes, map application 132 is able to (1) identify different sets of attributes describing different navigation contexts of the site at different times during navigation rendering, and (2) use these different sets of attributes to identify different styles for manipulating the virtual camera. In some implementations, map application 132 uses the identified styles to specify the location attributes of the virtual camera, which in turn limits the portion of the indoor map identified by the virtual camera for rendering to generate several navigation scenes over a period of time (e.g., until the navigation context changes, or until navigation rendering ends when the navigation context no longer changes). During indoor navigation rendering, the identified sets of attributes may change whenever the navigation context changes, and these may also be styles used to manipulate the virtual camera.
[0293] Figure 48This is an example of the components within a map application 132, which can be used to implement an overview navigation mode and an indoor context-driven turn-by-turn navigation mode based on the disclosed principles. Map application 132 includes a navigation module 4805, a style sheet 4810, a style engine 4815, a virtual camera engine 4820, and a virtual camera 4825.
[0294] In some implementations, navigation module 4805 (1) identifies an indoor route for navigating device 130 to a destination within the site, (2) uses indoor navigation positioning services, such as the polygonal route method disclosed in U.S. Patent Application No. 14 / 869,830, filed September 29, 2015, or other location-based services (e.g., GPS services), to identify the location of device 130 as it travels within an area of the site, (3) associates that location with a location on or near the generated route, and (4) generates a set of attributes describing different navigation contexts at different times during the indoor navigation presentation. Examples of these attributes include the type of corridor currently being navigated (e.g., surrounded by multiple points of interest, corridors, open areas, food courts), whether the route is on a floor-changing device (e.g., elevator, escalator, stairs), distance to the next strategy in the route, the type of the next strategy, navigation status (e.g., along the route, off the route, recalculated route), and so on.
[0295] In some implementations, each attribute set has multiple attributes, and the attribute set changes whenever one of these attributes changes. In some implementations, a change in the attribute set is considered a change to the navigation context. Whenever the attribute set changes, the navigation module 4805 provides the new attribute set to the style engine 4815 in some implementations. In other implementations, the 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, the style engine 4815 can repeatedly receive attribute sets from the navigation module 4805 that express different navigation contexts at different times during navigation rendering.
[0296] Whenever the style engine 4815 receives a new set of attributes from the navigation module 4805, it checks the VC styles stored in the style table 4810 to identify the VC styles that match the new set of attributes. The style table 4810 is a data structure that stores various styles. In some implementations, the map application 132 may download new styles from a set of servers and then store them in the style table 4810.
[0297] For each style, style sheet 4810 stores (1) a style identifier and (2) a set of style properties in some embodiments. In some embodiments, the style identifier of a style is defined based on a set of properties. Therefore, in order to identify a VC style that matches a newly received set of properties, style engine 4815 compares the newly received set of properties with the attribute set of the stored styles in some embodiments to identify styles with matching attribute sets. In some embodiments, the style identifier is derived (e.g., computed) from the associated attribute set of the style. For example, in some embodiments, the style identifier is a hash value of the attribute set. In order to identify matching styles, the style engine in these embodiments compares the newly received set of properties with the style identifier by first generating a hash of the newly received set of properties and then using the computed hash value to identify styles in the style sheet that have matching styles with the hash value.
[0298] After identifying the style of the newly received attribute set, the style engine 4815 determines whether the identified style is different from a previously identified style currently being used to define the operation of the virtual camera 4825. If not, the style engine 4815 does not provide the new style or new VC attribute set to the VC engine. However, when the identified style is different from a previously identified style, the style engine 4815 provides the associated VC attribute set of the new style to the VC engine 4820 of the map application.
[0299] The VC engine 4820 identifies the virtual camera's positional attributes based on the attribute set of VC styles received from the style engine 4815. These positional attributes then define the portions of the map identified by the virtual camera for rendering, to generate several navigation scenes over a period of time (e.g., until the navigation context changes, or until navigation ends when the navigation context no longer changes). When the 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, the style engine 4815 provides the VC engine 4820 with different VC styles specifying different VC characteristics, which causes the engine to specify different ways in which the virtual camera should define the portions of the map to be rendered.
[0300] Based on a set of style-related properties, some implementations of the VC engine 4820 identify the virtual camera's angle of pitch (e.g., from a top-down position to a viewpoint angle), the virtual camera's rotation (e.g., in the XY plane defined by the x and y axes of a map coordinate system), and the distance of the virtual camera from a target area on the map, such as the distance from the position of the disk representing the device in the navigation presentation when the disk navigates along the route in the presentation. In some implementations, the virtual camera has a spring system that specifies its angle of pitch, rotation, and height, and the set of style-related properties is used to define one or more parameters of this spring system. In some implementations, the spring system also includes a spring for the position of the disk on the screen displaying the navigation presentation (i.e., a display on which the view captured by the virtual camera is projected). These implementations use a spring system because it provides an implicit way to specify the movement of the virtual camera at different times and a simple way to create animations of the navigation presentation. This is because the properties of the spring (e.g., stiffness, damping, rest length, etc.) provide a set of parameters that the VC engine can rely on to smoothly bring the virtual camera's characteristics to their desired state. In some of these implementations, the VC engine 4820 operates the virtual camera in either a tracking mode or a framing mode. During tracking mode, the virtual camera tracks a disk along a route and holds the disk representing the device (hereinafter referred to as the "disk") at one or more desired positions on a display screen where navigation is presented. In some implementations, this display screen is the device's display screen, while in other implementations, it is a device-driven display screen. In framing mode, the virtual camera defines frames (e.g., boundary polygons) to capture a set of points along the route (including the disk's position), and displays these frames on the display screen at desired areas of interest as the disk travels along the route.
[0301] To generate navigation presentations, some implementations of map applications use the following four coordinate systems: (1) map coordinate system, (2) disk coordinate system, (3) virtual camera coordinate system, and (4) display screen coordinate system. In some implementations of these implementations, the first three coordinate systems are three-dimensional systems with x-axis, y-axis, and z-axis, while the fourth coordinate system is a two-dimensional system with x-axis and y-axis.
[0302] Figure 49 Examples of four coordinate systems are shown. Specifically, it shows a 3D map 4920 of the area captured by a virtual camera 4825 as disk 4930 traverses along route 4935. In this example, the virtual camera is positioned in a 3D viewpoint location within the 3D map coordinate system 4902. From this 3D viewpoint location, the virtual camera defines a 3D field of view 4940, which serves as all or part of the 3D navigation scene presented in the 3D navigation. The virtual camera is a conceptual representation defined as a field of view emanating from a specific location and orientation within the 3D map coordinate system.
[0303] Figure 49 The diagram also shows disk coordinate system 4904, VC coordinate system 4906, and display coordinate system 4908 (shown in a smaller form on the screen and in a larger form off-screen). The figure also shows arc 4965 representing the tilt pitch of the virtual camera angle toward the map. In some embodiments, the virtual camera may have a pitch ranging from a top-down view (defining a 2D view of the map) to a low-angle pitch (defining a low-angle view of the map). In this example, display screen 4905 is the display screen of mobile user equipment 130 on which map application 132 executes.
[0304] In addition, Figure 49 In the example shown, map coordinate system 4902, disk coordinate system 4904, and camera coordinate system 4906 are three-dimensional systems with x-axis, y-axis, and z-axis, while display coordinate system 4908 is a two-dimensional system with x-axis and y-axis. When the virtual camera is in a 3D viewpoint position, in some implementations, the 3D navigation scene defined in its field of view 240 is projected onto the 2D coordinate system of the display screen using viewpoint projection transmission. The projection of this field of view 4940 onto... Figure 49 It is shown in box 4970.
[0305] During tracking mode, in some embodiments, the VC engine 4820 maintains the same angular orientation (e.g., zero angular offset) between the VC coordinate system 4906 and the disk coordinate system 4904 in the xy plane 4955 of the map coordinate system. For example, in some embodiments, the virtual camera 4825 points in the same direction as the disk during tracking mode. Furthermore, during tracking mode, the VC engine 4820 maintains the positional relationship (e.g., zero offset) between the origin of the VC coordinate system 4906 and the origin of the disk coordinate system 4904. In other embodiments, during tracking mode, the VC engine 4820 typically maintains the angular orientation and / or positional relationship between the VC coordinate system and the disk coordinate system, but allows the angular orientation and / or positional relationship between these two coordinate systems to change during transition periods (e.g., the time when the disk turns left or right) to indicate more context around the strategy.
[0306] During framing mode, the VC engine 4920, in some embodiments, completely or partially de-rotates the virtual camera coordinate system 4906 and the disk coordinate system 4904. This allows the disk to rotate separately from the map during framing mode and allows the virtual camera 4825 to capture more of the desired area of interest during this mode. During framing mode, in some embodiments, the VC engine 4820 no longer requires the origin of the VC coordinate system 4906 to remain at a specific offset (e.g., zero offset) relative to the disk coordinate system 4904. This allows the virtual camera 4825 to assume various offset positions to capture more useful map areas around or in front of the disk 4930.
[0307] In some implementations, the VC engine 4820 completely or partially decouples the positional and angular relationship between the virtual camera 4825 and the disk 4930 during framing mode by framing a set of points (e.g., points along the route, including the disk) for display in a focus area on the display screen. In some implementations, the focus area is an area that the designer of the map application on the display screen has designated for showing the disk and the desired locations of important points about the disk and the route (e.g., framed points, such as the disk and nearby strategies). Figure 49 An example of a focus area 4975 on the display screen 4905 of device 130 is shown.
[0308] During framing mode, in some embodiments, the VC engine 4820 initially defines virtual camera parameters that will define the VC field of view for framing a set of points. After identifying these virtual camera parameters, in some embodiments, the VC engine adjusts the virtual camera parameters (e.g., zoom level) to attempt to display the virtual camera's field of view at one or more desired areas of interest on the display screen as the disk travels along the route. For example, in some embodiments, the disk is the only point that must be framed in the set of points that the VC engine is attempting to frame the virtual camera in framing mode. In some of these embodiments, a style may define a boundary shape (e.g., a bounding box) defined around the disk for a specific framing operation associated with that style.
[0309] During framing, the VC engine 4820 (e.g., based on the virtual camera's anticipated, unadjusted position for the next navigation scene) projects the set of points being framed onto the display coordinate system. It then defines a framing boundary shape (e.g., a bounding box) in screen space with respect to the projection of the point set. The VC engine then uses the boundary shape to determine how much the virtual camera's origin can be offset to capture as much of the set of points being framed as possible. This operation clips the framing boundary shape. The virtual camera's zoom level is then adjusted to align one side of the framing boundary shape with one side of a sub-region representing the display's focus area.
[0310] Figure 50 This is an exemplary graphical user interface 5000 showing an overview 5003 of an indoor route 5010 on an indoor map 5002 of site 5004. The illustrated GUI 5000 is presented during an overview navigation mode (i.e., a mode that only shows the user the route and the user's location along the route). The overview 5003 is a top-down view captured from a virtual camera. In the illustrated example, route 5010 begins at a starting point 5014 on a higher floor 5012 of site 5004 and ends at a desired destination 5018 on a lower floor 5016 of site 5004. The starting point 5014 could be the user's current location on user device 130, or it could be a point entered by the user into map application 132. Furthermore, the illustrated desired destination 5018 is an office located on the lower floor 5016. In the illustrated example, the higher floor 5012 is the fifth floor of site 5004, while the lower floor 5016 is the first floor of site 5004. Therefore, the user must change floors during route 5010.
[0311] In some specific implementations, by way of example, the GUI 5000 also includes a control area 5050 having a first field 5052 that identifies the expected destination 5018 as “Brett's Desk”. By way of example, the control area 5050 also includes a second field 5054 that identifies the location of the expected destination 5018 as “Floor 1, Unit 162”. The control area 5050 also includes a first selector 5060 for initiating indoor navigation presentation, thereby enabling the user to obtain turn-by-turn instructions for the navigation route 5010, and a second selector 5062 for canceling the overview 5003 presented by the GUI 5000. In the illustrated example, by way of example, the first selector 5060 also indicates an estimated time of arrival at the expected destination 5018, shown as “2 minutes”.
[0312] Figure 51 This is an exemplary graphical user interface 5100 showing a slightly enlarged and rotated overview 5103 of an indoor route 5010. The overview 5103 includes a user current location dashboard 5101 that identifies the user's current location on the route 5010. The overview 5103 also includes a graphic 5124 that identifies or is associated with a intended destination 5018. The graphic 5124 may be an image of or associated with the intended destination 5018, or it may be a category indicator, such as those discussed herein.
[0313] It is evident that the overview 5103 provides the user with a way to traverse route 5010. That is, the user and user device 130 can easily view the route as they move along it. The user's position is updated using the user's current location dial 5101, and adherence to route 5010 can be observed through the way route 5010 is presented. For example, if route 5010 is presented as getting shorter and the user's current location dial 5101 is getting closer to the expected destination 5018, then the user is on the route. However, if route 5010 is presented as getting longer and the user's current location dial 5101 is moving away from the expected destination 5018, then the user has deviated from the route or is traveling in the wrong direction. If the user requires turn-by-turn instructions, the user will need to activate the turn-by-turn navigation mode.
[0314] Overview 5103 also includes the text instruction 5120 “Down – 1 floor”, indicating in this example that route 5010 descends to the lower floor 5016. Overview 5103 also includes a floor change identifier 5122 showing the mechanism for moving from the higher floor 5012 to the lower floor 5016. In some implementations, the floor change identifier 5122 may have a different color than the color used for route 5010. In addition, or alternatively, the floor change identifier 5122 may be animated (e.g., flashing, showing the appearance of moving up and down) to further demonstrate to the user that the floor change identifier 5122 is used to change floors.
[0315] Overview 5103 also shows several floors 5130, 5132, and 5134 within site 5004 that route 5010 is traversing. In some implementations, bypassed floors 5130, 5132, and 5134, as well as other structures that do not require traversal of route 5010, are presented in a less emphasized manner (e.g., grayed out, shown as dashed lines, etc.) compared to structures along route 5010.
[0316] In some implementations, by way of example, GUI 5100 also includes a control area 5150 having a first field 5152 that identifies the intended destination 5018 as “Brett's Desk”. By way of example, control area 5150 also includes a second field 5154 that identifies the location of the intended destination 5018 as “1st Floor, Counter”. By way of example, control area 5150 also includes a third field 5156 indicating that the estimated route to the intended destination 5018 is “2 minutes (465 feet)”. Control area 5150 may also include other information about the intended destination 5018. For example, by way of example, control area 5150 may also include a fourth field 5158 indicating that the intended destination 5018 has “restricted access”. This additional information may remind the user that a badge or other identifier is required at the intended destination 5018.
[0317] The control area 5150 also includes a first selector 5160 for initiating indoor navigation presentation, thereby enabling the user to obtain turn-by-turn instructions for navigation route 5010, and a second selector 5162 for canceling the overview 5103 presented by GUI 5100.
[0318] In the illustrated example, map application 132 has determined that a top-down overview 5103 is appropriate based on the user's location and the structural layout of route 5010. For example, map application 132 may determine that the user's current location and the path of the route are not obstructed by floors, walls, or other structures along the route. However, as mentioned above, it is desirable to ensure that the route is not hidden as the user traverses it. Therefore, the presentation along route 5010 and the structure may need to be adjusted. In some specific implementations, adjustments may include separating, repositioning, or adjusting the pitch / angle of floors.
[0319] Furthermore, as user device 130 is traversing along route 5010, the strategies or structures along route 5010, or the context of user behavior on route 5010, may require adjustments to the virtual camera. For example, the view can be zoomed in or out, floors on the map can be further separated, and the pitch angle can be adjusted to make route 5010 more prominent and clearer in the presentation. As mentioned above, adjustments can be made based on a set of attributes, such as the type of the currently navigating corridor (e.g., surrounded by multiple points of interest, corridors, open areas, food courts), whether the route is on a floor-changing device (e.g., elevator, escalator, stairs), the distance to the next strategy in the route, the type of the next strategy, the navigation state (e.g., along the route, off the route, recalculated route), and so on. As mentioned above, bypassed floors and other structures that do not require traversal of route 5010 can be presented in a less emphasized manner (e.g., grayed out, displayed as dashed lines, etc.) compared to structures along route 5010.
[0320] Figure 52 This is an exemplary graphical user interface 5200 showing a slightly scaled-down overview 5203 of an indoor route 5010. In the illustrated example, the higher floor 5012 has been separated from the lower floor 5016, and the additional portions 5230 and 5232 of the lower floor 5016 are no longer emphasized. Furthermore, the floor change indicator 5122 is displayed when the higher floor 5012 has been separated from the lower floor 5016, and can be animated (e.g., flashing, showing an appearance of moving up and down) to further demonstrate to the user that the floor change indicator 5122 is used to change floors. In some implementations, the indicator 5122 may have different visual appearances or be displayed with different animations depending on whether the route suggests changing floors using stairs, elevators, or escalators.
[0321] Figure 53 This is an exemplary graphical user interface 5300 showing a slightly magnified and rotated overview 5303 of the indoor route 5010. In the illustrated example, the higher floors 5012 and lower floors 5016 are rotated clockwise as indicated by arrows 5307 and 5309, respectively. In the illustrated example, since the overview 5303 is a magnified view compared to the overview 5203, portions 5230 and 5232 of the lower floors 5016 are magnified. As in the previous example, the higher floors 5012 and lower floors 5016 remain unemphasized because they do not need to traverse the route 5010.
[0322] Figure 54 It shows having with Figure 53 An exemplary graphical user interface 5400 provides an overview 5303 of the indoor route 5010 with different pitch angles. In the illustrated example, the pitch angles of the higher floors 5012 and lower floors 5016 vary as shown by arrows 5407 and 5409, respectively. In the illustrated example, portions 5230 and 5232 of the lower floors 5016 are not emphasized because they do not need to traverse route 5010.
[0323] Figure 55 This is an exemplary graphical user interface 5500 illustrating an overview 5503 of different indoor routes 5510. In the illustrated example, route 5510 begins at a starting point 5514 on a higher floor 5512 of site 5504 and ends at a desired destination 5518 on a lower floor 5516 of site 5004. The starting point 5514 may be the current location of the user operating user device 130, or it may be a point entered by the user into map application 132. In the illustrated example, the desired destination 5518 may be a point of interest within site 5504, such as a point of interest as described herein.
[0324] As clearly seen from overview 5503, the user must change floors to traverse route 5510. Therefore, the floor change identifier 5522 is shown in overview 5503 as part of route 5510. In some implementations, one or more graphics or other indicators may be used in conjunction with the floor change identifier 5122 to identify facilities within site 5504 that can be used to change floors. For example, overview 5503 includes a graphic 5532 representing an elevator lobby on a higher floor 5512 and a graphic 5542 representing an elevator lobby on a lower floor 5516 that is part of route 5510. Graphics 5532 and 5542 are connected to the floor change identifier 5122 to show the user how to get from the higher floor 5512 to the lower floor 5516. Graphics 5532 and 5542 may be displayed animated (e.g., showing them moving up and down) to further demonstrate to the user that graphics 5532 and 5542 represent elevator lobbies.
[0325] GUI 5500 shows other floor-changing devices that are not part of route 5510. For example, overview 5503 includes a graphic 5530 representing a staircase on a higher floor 5512, a graphic 5534 representing another elevator car on a higher floor 5512, and a graphic 5536 representing an escalator on a higher floor 5512. Graphics 5534 and 5536 can be animated (e.g., showing them moving up and down) to further demonstrate to the user that graphic 5534 represents an elevator car and graphic 5536 represents an escalator.
[0326] Furthermore, overview 5503 includes corresponding graphics on the lower floor 5516. For example, overview 5503 includes graphics 5540 representing a staircase on the lower floor 5516, graphics 5544 representing another elevator shaft on the lower floor 5516, and graphics 5546 representing an escalator on the lower floor 5516. Graphics 5544 and 5546 can be animated (e.g., showing them moving up and down) to further demonstrate to the user that graphics 5544 represents an elevator shaft and graphics 5546 represents an escalator. Based on overview 5503, if the user deviates from the route, the user can determine that there are other methods for moving between floors 5512 and 5516.
[0327] In some implementations, map application 132 can provide turn-by-turn navigation for routes within a site 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.
[0328] Figure 56This is an exemplary graphical user interface 5600 that presents a context-driven, turn-by-turn indoor navigation presentation of a route 5660 to a destination 5664 within the venue. In an illustrative embodiment, by way of example, the GUI 5600 includes a first display area 5620 that provides a first field 5622 identifying the expected destination 5664 as “Express Men”. In this example, the first display area 5620 also includes a second field 5624 indicating that there are 0 minutes remaining to the expected destination 5664.
[0329] In some implementations, the GUI 5600 includes a second display area 5630 for providing turn-by-turn instructions and other information for the route 5660 to the intended destination 5664. For example, the second display area 5630 includes a field 5632 that presents the distance to the next strategy in the route 5660. If the user is along the route and heading towards the intended destination 5664, the field 5632 decreases the distance. However, if the user deviates from the route or is traveling in the wrong direction, the field 5632 increases the distance. Therefore, the field 5632 is useful for orienting the user during the route 5660.
[0330] The second display area 5630 also includes a field 5634 describing the next strategy, such as a left turn indicating where the next strategy will be taken, and a field 5636 (e.g., "at Ben Bridge Jeweler"). A graph 5638 may also be provided to show the next strategy on route 5660. In some implementations, the second display area 5630 includes a selector 5637 that allows the user to view the strategy that occurs after the next planned strategy, thus providing the user with a way to look ahead to subsequent instructions.
[0331] In some implementations, the GUI 5600 includes a third display area 5650 for presenting a graphical view 5653 of a route 5660. The graphical view 5653 includes a map 5652, which may be an indoor map as disclosed herein. The graphical view 5653 presents the route 5660 between the current navigation wheel 5662 and the intended destination 5664. In the illustrated example, the map application 132 has determined that the graphical view 5653 is appropriate based on the context of the current strategy and layout within the map 5652. However, as the user traverses the route 5660, the context may change and the view presented by the map application 132 may need to be changed.
[0332] Figure 57 This is an exemplary graphical user interface 5700 that presents a rotated graphical view 5753 of an indoor route 5660. In the illustrated example, graphical view 5753 represents graphical view 5653 ( Figure 56The map 5652 shown is rotated counterclockwise, as indicated by arrow 5755. In the illustrated example, changes are introduced as a response to one or more properties of the strategy or site structure along route 5660.
[0333] GUI 5700 includes a first display area 5720, which, in the illustrated example, does not change from the first display area 5620 of GUI 5600. GUI 5700 also includes a second display area 5730 for providing turn-by-turn instructions and other information for route 5660. For example, the second display area 5730 includes a field 5732 that presents the distance to the next strategy in route 5660. If the user is along the route and heading towards the intended destination 5664, field 5732 decreases the distance. However, if the user deviates from the route or is traveling in the wrong direction, field 5732 increases the distance. Therefore, field 5732 is useful for orienting the user during route 5660.
[0334] The second display area 5730 also includes a field 5734 describing the next strategy as, for example, a left turn. A graph 5738 may also be provided to illustrate the next strategy on route 5660. In some implementations, the second display area 5730 includes a selector 5737 that allows the user to view previous strategies. The second display area 5730 may include a selector that allows the user to view subsequent strategies.
[0335] In some specific implementations, the GUI 5700 includes a third display area 5750 for presenting a graphical view 5753 of route 5660. The graphical view 5753 includes a map 5652, which may be an indoor map as disclosed herein. As described above, the graphical view 5753 represents the graphical view 5653 (…). Figure 56 The map 5652 shown is rotated counterclockwise. In the illustrated example, map application 132 has determined that graphical view 5753 is appropriate based on the context of the current strategy and layout within map 5652.
[0336] Figure 58 This is an exemplary graphical user interface 5800 that presents another rotating graphical view 5853 of the indoor route 5660. In the illustrated example, graphical view 5783 represents graphical view 5753 ( Figure 57 The clockwise rotation of map 5652 shown is indicated by arrow 5855. In the illustrated example, changes are introduced as a response to one or more properties of the strategy or site structure along route 5660.
[0337] GUI 5800 includes a first display area 5820, which, in the illustrated example, does not change from the first display area 5620 of GUI 5600. GUI 5800 also includes a second display area 5830 for providing turn-by-turn instructions and other information for route 5660. For example, the second display area 5830 includes a field 5832 that presents the distance to the next strategy in route 5660. If the user is along the route and heading towards the intended destination 5664, field 5832 decreases the distance. However, if the user deviates from the route or is traveling in the wrong direction, field 5832 increases the distance. Therefore, field 5832 is useful for orienting the user during route 5660.
[0338] The second display area 5830 also includes a field 5334 describing the next strategy as, for example, the destination on the right. A graph 5838 may also be provided to show the approach to the destination.
[0339] In some specific implementations, GUI 5800 includes a third display area 5850 for presenting a graphical view 5853 of route 5660. Graphical view 5853 includes a map 5652, which may be an indoor map as disclosed herein. As described above, graphical view 5853 represents graphical view 5753 (…). Figure 57 The map 5652 shown is rotated clockwise. In the illustrated example, map application 132 has determined that graphical view 5853 is appropriate based on the context of the current strategy and layout within map 5652.
[0340] Figure 59 This is an exemplary graphical user interface 5900 that presents another rotating graphical view 5953 of the indoor route 5660 when the user has reached the expected destination 5664 (i.e., reached the "arrived" state of route 5660). In the illustrated example, graphical view 5983 represents graphical view 5853 ( Figure 58 The map 5652 shown is rotated counterclockwise, as indicated by arrow 5955. In the illustrated example, changes are introduced as a response to one or more properties of the strategy or site structure along route 5660.
[0341] By way of example, GUI 5900 includes a first display area 5920, which in the illustrated example includes a field 5922 that identifies the expected destination 5664 as “Express Men”. GUI 5900 also includes a second display area 5930 for providing information on the arrival status of route 5660. For example, the second display area 5930 includes a field 5932 presenting the distance to the destination, which is 0 feet, because the destination has been reached. The second display area 5930 also includes a field 5334 indicating that the user has arrived at the destination. A graph 5938 may also be provided to show that the user has arrived at their destination.
[0342] In some specific implementations, GUI 5900 includes a third display area 5950 for presenting a graphical view 5953 of route 5660. Graphical view 5953 includes a map 5652, which may be an indoor map as disclosed herein. As described above, graphical view 5953 represents graphical view 5853 ( Figure 58 The map 5652 shown is rotated counterclockwise. In the illustrated example, map application 132 has determined that graphical view 5953 is appropriate based on the context of the current strategy and layout within map 5652.
[0343] In some implementations, map application 132 may navigate user device 130 along a route to the intended destination 5664, rather than navigating the user along a route to the entrance of the intended destination 5664. This may be desirable when, for example, the entrances to two points of interest are adjacent to each other.
[0344] In some implementations, turn-by-turn navigation instructions will include additional information to help locate the user or guide them through specific structures associated with the site (i.e., food courts, open areas, elevator lobbies). For example, if a user needs to change floors and there are multiple elevator lobbies or other options available for changing floors, the map application 132 will provide instructions such as "Take the elevator to the 3rd floor" or "Go to the 3rd floor." Since the user's route to the 3rd floor is uncertain, the map application 132 must determine the user's orientation by providing guidance / orientation instructions such as "Head to the Apple Store" or "Sears," or by including certain points of interest highlighted within the site. Other types of instructions can be used to correctly orient the user.
[0345] On-site search
[0346] As mentioned above, relative to Figure 14The map application 132 may provide a search selector 1476 or another field usable by the user to initiate a manual search for categories or specific POIs within the site. When the selector 1476 or other field is selected, the user is provided with a way to perform a manual search. For example, Figure 60 An exemplary graphical user interface 6000, presented by a map application 132, is shown, comprising a manual search field 6002 for initiating a limited site search, in accordance with the disclosed principles. The GUI 6000 also includes a keyboard 6040 for inputting text into the field 6002.
[0347] Figure 61 An exemplary graphical user interface 6100 with an ongoing search is shown. GUI 6100 shows text being entered into field 6002 to initiate a search. In some implementations, map application 132 uses an autocomplete feature to suggest POIs within or near the site. In the illustrated example, the user has not yet completed input for the search query, but map application 132 has already displayed a list 6150 of search results 6160 within the site (e.g., "in Westfield"), and search results 6170 near the site are populated as the user enters text into field 6002. In some implementations, search results 6160, 6170 may include the fields, information, and optional links discussed above in relation to directory searches.
[0348] Figure 62 An exemplary graphical user interface 6200 with an ongoing search is shown. GUI 6200 does not include a keyboard, so the user can view more search results. In the illustrated example, search result 6160 includes three fields 6210, 6220, and 6230 identifying a POI within a venue that matches the search. Additionally, search result 6170 includes a field 6240 identifying a POI located outside the venue. As described above, search results can be ranked differently based on whether the user is inside or outside the venue. For example, when the user is inside the venue, search results can be ranked based on previous user activity, information contained on the user's device (e.g., membership card information in emails, text messages, contacts), calendar information, specific POIs, etc., or store credit cards registered to Apple Pay or other e-wallet applications. When outside the venue, search results can be ranked such that venues with an internal view are listed first. Alternatively, when outside the venue, search results can be ranked such that venues with an internal view are generally listed among other search results, but not prioritized over other search results.
[0349] Figure 63This is an exemplary graphical user interface 6300 presented when no search results are found within the venue. For example, GUI 6300 includes a text indicator 6310 indicating that no search results are found within the venue. To allow users to search for POIs near the venue, GUI 6300 includes a selector 6312 that can be used to initiate a search for POIs outside the current venue.
[0350] Example process
[0351] To enable readers to clearly understand the technical concepts described herein, the following process describes specific steps performed in a particular order. However, one or more steps of a particular process may be rearranged and / or omitted while remaining within the intended scope of the technology disclosed herein. Furthermore, different processes and / or their steps may be combined, recombined, rearranged, omitted, and / or performed in parallel to create different processing flows also within the intended scope of the technology disclosed herein. Moreover, although some details of the technology disclosed herein may be omitted or briefly summarized in the following process for clarity, the details described in the preceding paragraphs can be combined with the process steps described below to obtain a more complete and comprehensive understanding of these processes and the technology disclosed herein.
[0352] Figure 64 This is a flowchart of an exemplary process 6400 for presenting an indoor map of a site based on the disclosed principles. For example, process 6400 may be performed by a map application 132 running on user device 130.
[0353] In step 6402, map application 132 may present a graphical user interface displaying an outdoor map with images of one or more sites having an indoor map selector. For example, map application 132 may present... Figure 2 GUI 200 Figure 3 GUI300 Figure 8 GUI 800 or Figure 9 GUI 900.
[0354] In step 6404, map application 132 can present a graphical user interface displaying a cross-sectional 3D view of the site based on a zoom-in operation performed by the user using user device 130. For example, map application 132 can present... Figure 4 GUI 400.
[0355] At step 6406, in response to selecting an indoor map selector (e.g., Figure 3 or Figure 4 Selector 312 Figure 10Using a selector (912) or an existing GUI zoom operation, map application 132 can present a graphical user interface that displays an indoor map showing the site's interior structure and points of interest for the initial group. For example, map application 132 can present... Figure 5 GUI 500 or Figure 10 The GUI 1000. As this article compares to... Figures 43 to 47 and Figure 64A The process discussed in 6450 can identify and display the points of interest for the initial group.
[0356] At step 6408, in response to displaying an indoor map (e.g., Figure 5 Map 502 or Figure 10 By utilizing the zoom-in operation of the existing GUI of map 1002, map application 132 can present a graphical user interface displaying an indoor map, which shows a detailed view of the site structure and points of interest. For example, map application 132 can present... Figure 6 GUI 600.
[0357] At step 6410, in response to an indoor map (e.g., Figure 6 When a specific point of interest (POI 610) is selected on the map application 132, the map application 132 can present a graphical user interface highlighting the selected POI. Additionally, the graphical user interface can display a label for the selected POI. For example, the map application 132 can present... Figure 7 GUI 700.
[0358] As mentioned above, some points of interest can have their own indoor maps or submaps that can be selected by the user (e.g., Figure 11 POI 1020). Therefore, at step 6012, in response to the indoor map selector for the POI (e.g., Figure 11 For example, when the selector 1128 is selected or the point of interest is zoomed in, the map application 132 can present a graphical user interface that displays the point of interest (i.e., the site submap) showing the interior structure of the point of interest and the interior map of the initial group of points of interest within that point of interest. For example, the map application 132 can present... Figure 12 GUI 1200.
[0359] Figure 64A This is a flowchart of an exemplary process 6450 for determining and presenting floors with an initial group of points of interest (POIs) based on the disclosed principles. At step 6452, the map application 132 determines that the POI is selected from any GUI. If a POI is selected, the map application 132 presents a graphical user interface displaying the floors containing the selected POI.
[0360] If it is determined at step 6452 that no POI has been selected, then at step 6454, the map application 132 determines whether the user is performing a search operation. If a search operation is being performed, the map application can present a graphical user interface that displays the last viewed floor if search results are available, the user's current floor if search results are available, the default floor if search results are available, or the floor with the most search results.
[0361] If it is determined at step 6454 that the user did not perform a search, then at step 6456, the map application 132 determines whether the user has previously viewed the floors. If the user has previously viewed the floors, the map application can present a graphical user interface displaying the floors previously viewed by the user.
[0362] If it is determined at step 6456 that the user has not previously viewed a floor, then at step 6458, the map application 132 determines whether the user is on the site. If the user is on the site, the map application 132 can present a graphical user interface displaying the user's current floor.
[0363] If it is determined at step 6458 that the user is not at the site, then the map application 132 may present a graphical user interface displaying the default floor of the site at step 6460.
[0364] Figure 65 This is a flowchart of an exemplary process 6500 for presenting a site according to the disclosed principles, which guides and provides a search for points of interest within the site. For example, process 6500 may be performed by a map application 132 running on user device 130.
[0365] At step 6502, map application 132 may present a graphical user interface that displays an indoor map showing the site's interior structure and points of interest within the site. For example, map application 132 may present... Figure 13 GUI1300 Figure 14 GUI 1400 or Figure 23 The GUI 2300. Map applications can perform the same steps for submaps associated with specific points of interest. For example, a map application can render... Figure 26 GUI 2600.
[0366] At step 6504, map application 132 will also present a site directory within the graphical user interface presented at step 6502. For example, map application 132 may present... Figure 14 GUI 1400 or Figure 23The GUI 2300. Map applications can perform the same steps for a directory of points of interest (POIs) for a submap associated with a specific POI. For example, a map application can render... Figure 26 GUI 2600 or Figure 27 GUI 2700.
[0367] At step 6506, in response to selecting a specific category of interest (e.g., Figure 14 The category selector is 1462, 1464, 1466, 1468, 1470, 1472, or 1474. Figure 23 Using one of the category selectors 2362, 2364, or 2366, the map application 132 can present a graphical user interface highlighting points of interest on the current floor of the site that match the selected category. Furthermore, the graphical user interface will include a list of all points of interest for the site that match the selected category. For example, the map application 132 can present... Figure 15 GUI 1500 Figure 16 GUI 1600 Figure 17 GUI 1700 Figure 18 GUI1800 Figure 19 GUI 1900 Figure 24 GUI 2400 Figure 25 GUI 2500 Figure 28 GUI 2800 or Figure 30 GUI3000.
[0368] In some specific implementations, map application 132 may present a floor switcher that allows users to switch from the current floor to different floors (e.g., Figure 21 The different floors (2120) include floors that also contain POIs that match the selected POI category. For example, map application 132 can display... Figure 21 GUI 2100 or Figure 22 GUI 2200.
[0369] At step 6508, in response to selecting a specific point of interest from the map or the list presented at step 6506, map application 132 may present a graphical user interface including rich information about the selected point of interest. For example, map application 132 may present... Figure 20 GUI 2000 or Figure 29 GUI 2900.
[0370] Figure 66This is a flowchart of an exemplary process 6600 for providing a site search based on the disclosed principles. For example, process 6600 may be performed by a map application 132 running on user device 130. Alternatively, process 6600 may be performed by an external application on user device 130 (e.g., a web browser, a search application, or voice commands via a smart personal assistant) that receives input from map application 132.
[0371] At step 6602, map application 132 or an external application may present a graphical user interface displaying search fields and / or point-of-interest category selectors for performing searches for sites, items, or categories of points of interest as described herein. For example, map application 132 may present... Figure 31 GUI 3100 Figure 32 GUI 3200 Figure 33 GUI 3300 or Figure 34 The GUI3400. Browser applications, for example, can render... Figure 35 The GUI 3500. The search application can present... Figure 36 The GUI 3600. A smart personal assistant can present... Figure 37 The GUI 3700.
[0372] At step 6604, the map application 132 or an external application can enter a search request via the graphical user interface presented at step 6602. At step 6606, the map application 132 or the external application can display the search results on the graphical user interface presented at step 6602. According to the disclosed principles, at least one search result will be a site with an indoor map.
[0373] At step 6608, in response to the selection of the indoor map selector (e.g., Figure 32 Selector 3267 Figure 33 Selector 3367 Figure 34 Selector 3467 Figure 35 Selector 3567 Figure 36 Selector 3667 or 3677 or Figure 37 (Selector 3767 or 3777), map application 132 can present a graphical user interface that displays an indoor map showing the site's interior structure and initial group points of interest. For example, map application 132 can present... Figure 5 GUI 500 or Figure 10 The GUI 1000. As this article compares to... Figures 43 to 47 and Figure 64A The process discussed in 6450 can identify and display the points of interest for the initial group.
[0374] Figure 67 This is a flowchart of an exemplary process 6700 for providing indoor routes and context-driven navigation routes within a site, based on the disclosed principles. For example, process 6700 may be performed by a map application 132 running on user device 130.
[0375] At step 6702, map application 132 inputs a strategy sequence for the route to the destination. In some implementations, the instruction sequence is input from map service 104 via network 120.
[0376] At step 6704, map application 132 presents a graphical user interface including a view of the route based on a first viewpoint of the virtual camera. For example, map application 132 may present... Figure 50 GUI 5000 Figure 51 GUI 5100 Figure 55 GUI5500 or Figure 56 The GUI 5600.
[0377] At step 6706, and while the user is traversing the route, the map application 132 determines whether any part of the route will be obscured or hidden from the view. If so, the map application 132 presents a graphical user interface that includes a view of the route with a modified structure. For example, the map application 132 may present... Figure 52 GUI 5200 Figure 53 GUI 5300 or Figure 54 The GUI 5400.
[0378] At step 6708, and while the user is traversing the route, the map application 132 determines whether the context of the user's location, next strategy, and / or site structure requires adjustment of the virtual camera to ensure the route remains visible. If adjustment is needed, the map application 132 presents a graphical user interface that includes a view of the route at the adjusted view of the virtual camera. For example, the map application 132 may present... Figure 56 GUI 5600 Figure 57 GUI 5700 Figure 58 GUI 5800 or Figure 59 The GUI 5900.
[0379] At step 6710, if the user requests turn-by-turn indoor navigation instructions, the map application 132 can display the turn-by-turn indoor navigation instructions in the second display area of the graphical user interface. For example, the map application 132 can present... Figure 56 GUI 5600 Figure 57 GUI 5700 Figure 58GUI 5800 or Figure 59 The GUI 5900.
[0380] Graphical User Interface
[0381] This disclosure describes above 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 laptops, desktop computers, computer terminals, television systems, tablets, e-book readers, and smartphones. One or more of these electronic devices may include a touch-sensitive surface. The touch-sensitive surface can process multiple simultaneous input points, including processing data related to the pressure, degree, or position of each input point. Such processing can facilitate gestures using multiple fingers, including pinching and swiping.
[0382] When this disclosure refers to "selecting" a user interface element in a GUI, these terms are understood to include clicking or "hovering" over the user interface element using a mouse or other input device, or touching, tapping, or gesturing on the user interface element using one or more fingers or a stylus. User interface elements can be virtual buttons, menus, selectors, switches, sliders, brushes, knobs, thumbnails, links, icons, radio buttons, checkboxes, and any other mechanisms used to receive input from or provide feedback to the user.
[0383] privacy
[0384] This disclosure recognizes that the use of such personal information data in the present invention can benefit users. For example, the personal information data can be used to deliver targeted content that is of interest to the user. Therefore, the use of such personal information data enables planned control over the delivered content. Furthermore, this disclosure also envisions other uses for personal information data that benefit users.
[0385] This disclosure also anticipates that entities responsible for the collection, analysis, disclosure, transmission, storage, or other use of such personal information data will comply with established privacy policies and / or privacy practices. Specifically, such entities should implement and adhere to privacy policies and practices recognized as meeting or exceeding industry or governmental requirements for maintaining the privacy and security of personal information data. For example, personal information from users should be collected for legitimate and reasonable purposes of the entity and not shared or sold outside of these legitimate uses. Furthermore, such collection should only be conducted with the user's informed consent. In addition, such entities should take any necessary steps to safeguard and protect access to such personal information data and ensure that others with access to such personal information data comply with their privacy policies and procedures. Additionally, such entities may subject themselves to third-party assessments to demonstrate their compliance with widely accepted privacy policies and practices.
[0386] Regardless of the foregoing, this disclosure also envisions implementation schemes for users to selectively block the use or access to personal information data. That is, this disclosure envisions providing hardware and / or software components to prevent or block access to such personal information data. For example, with respect to advertising delivery services, the technology of this invention can be configured to allow users to choose to "join" or "opt out" of the collection of personal information data during service registration. As another example, users can choose not to provide location information for targeted content delivery services. Yet another example is that users can choose not to provide precise location information but allow the transmission of location area information.
[0387] Example System Architecture
[0388] Figure 68 It is achievable Figures 1 to 67 A block diagram of an exemplary computing device 6800 illustrating its features and processes. The computing device 6800 may include a memory interface 6802, one or more data processors, a graphics processor and / or a central processing unit 6804, and a peripheral device interface 6806. The memory interface 6802, the one or more processors 6804, and / or the peripheral device interface 6806 may be separate components or integrated into one or more integrated circuits. The various components in the computing device 6800 may be coupled by one or more communication buses or signal lines.
[0389] Sensors, devices, and subsystems can be coupled to peripheral interface 6806 to facilitate multiple functions. For example, motion sensor 6810, light sensor 6812, and proximity sensor 6814 can be coupled to peripheral interface 6806 to facilitate orientation, illumination, and proximity functions. Other sensors 6816 can also be connected to peripheral interface 6806, such as Global Navigation Satellite System (GNSS) (e.g., GPS receiver), temperature sensors, biometric sensors, magnetometers, or other sensing devices to facilitate related functions.
[0390] The camera subsystem 6820 and optical sensor 6822 (e.g., a charge-coupled device (CCD) or complementary metal-oxide-semiconductor (CMOS) optical sensor) can be used to facilitate camera functions such as taking photos and video clips. The camera subsystem 6820 and optical sensor 6822 can also be used to collect images of a user to be used during user authentication, for example, by performing facial recognition analysis.
[0391] Communication functionality can be facilitated by one or more wireless communication subsystems 6824, which may 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 may depend on one or more communication networks that the computing device 6800 is intended to operate through. For example, the computing device 6800 may include subsystems designed for communication via GSM networks, GPRS networks, EDGE networks, Wi-Fi or WiMax networks, and Bluetooth. ™ The network-operated communication subsystem 6824. Specifically, the wireless communication subsystem 6824 may include a host protocol that enables the device 130 to be configured as a base station for other wireless devices.
[0392] The audio subsystem 6826 can be coupled to the speaker 6828 and the microphone 6830 to facilitate voice-enabled functions such as speaker recognition, voice copying, digital recording, and telephone functions. The audio subsystem 6826 can be configured to facilitate, for example, processing of voice commands, voiceprint identification, and voice authentication.
[0393] The I / O subsystem 6840 may include a touch surface controller 6842 and / or one or more other input controllers 6844. The touch surface controller 6842 may be coupled to a touch surface 6846. The touch surface 6846 and the touch surface controller 6842 may, for example, use any of a variety of touch-sensitive technologies to detect contact and movement or their interruption, 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.
[0394] One or more other input controllers 6844 may be coupled to other input / control devices 6848, such as one or more buttons, rocker switches, thumbwheels, infrared ports, USB ports, and / or pointing devices (such as styluses). One or more buttons (not shown) may include volume up / down buttons for speaker 6828 and / or microphone 6830.
[0395] In one implementation, pressing the button for a first duration unlocks the touch surface 6846; and pressing the button for a second duration longer than the first duration turns the computing device 6800 on or off. Pressing the button for a third duration activates a module for voice control or voice commands, allowing the user to speak commands into the microphone 6830 so that the device executes the commands. The user can customize the function of one or more buttons. For example, the touch surface 6846 can also be used to implement virtual or soft buttons and / or a keyboard.
[0396] In some embodiments, computing device 6800 may display recorded audio and / or video files, such as MP3, AAC, and MPEG files. In some embodiments, computing device 6800 may include the functionality of an MP3 player, such as an iPod. ™ The computing device 6800 can therefore include a 36-pin connector compatible with iPod. Other input / output and control devices can also be used.
[0397] Memory interface 6802 can be coupled to memory 6850. Memory 6850 may include high-speed random access memory and / or non-volatile memory, such as one or more disk storage devices, one or more optical storage devices, and / or flash memory (e.g., NAND, NOR). Memory 6850 may store operating system 6852, such as Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or embedded operating systems (such as VxWorks).
[0398] Operating system 6852 may include instructions for handling basic system services and for performing hardware-related tasks. In some implementations, operating system 6852 may be a kernel (e.g., a UNIX kernel). In some implementations, operating system 6852 may include instructions for performing voice authentication. For example, operating system 6852 may implement site and indoor map features, such as reference... Figures 1 to 67 As stated above.
[0399] The memory 6850 may also store communication instructions 6854 to facilitate communication with one or more additional devices, one or more computers, and / or one or more servers. The memory 6850 may include graphical user interface instructions 6856 to facilitate graphical user interface processing; sensor processing instructions 6858 to facilitate sensor-related processing and functions; telephone instructions 6860 to facilitate telephone-related processes and functions; electronic message processing instructions 6862 to facilitate electronic message processing 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.
[0400] Memory 6850 may store other software instructions 6872 that facilitate other processes and functions, such as references Figures 1 to 67 The aforementioned site and indoor mapping process and functions.
[0401] The memory 6850 may also store other software instructions 6874, such as web video instructions that facilitate processes and functions related to web video; and / or web shopping instructions that facilitate processes and functions related to web shopping. In some implementations, the media processing instructions 6866 are divided into audio processing instructions and video processing instructions, used to facilitate processes and functions related to audio processing and processes and functions related to video processing, respectively.
[0402] Each of the instructions and applications identified above corresponds to an instruction set used to perform one or more of the functions described above. These instructions do not need to be implemented as a separate software program, process, or module. Memory 6850 may include additional instructions or fewer. Furthermore, various functions of computing device 6800 may be implemented in hardware and / or software, including in one or more signal processing and / or application-specific integrated circuits.
Claims
1. A method comprising: The first selection of a first site is received from a displayed map via a mapping application running on a computing device; In response to receiving the first selection of the first site: Type identification based on the first site is used for the first multiple categories of the first site; The map drawing application displays a first site catalog on a first display area of the display of the computing device, the first site catalog including a first set of selectable site-specific graphic elements for selecting from a first plurality of categories of indoor points of interest within the first site; The map drawing application receives a second selection of a selectable site-specific graphic element from the first set of selectable site-specific graphic elements that corresponds to one of the first plurality of categories. In response to receiving a second selection of the selectable site-specific graphic element corresponding to the category in the first set of selectable site-specific graphic elements: Identify indoor points of interest within the first site that are associated with the category; Displays a second set of selectable site-specific graphic elements for selection from indoor points of interest within the first site, the second set of selectable site-specific graphic elements being different from the first set of selectable site-specific graphic elements.
2. The method of claim 1, wherein the map-drawing application receives first user input on a second site directory indicating the selection of site-specific graphic elements and presents one or more indoor points of interest within the second site corresponding to the site-specific graphic elements on a first display area.
3. The method according to any one of claims 1 to 2, further comprising: In response to receiving a first selection, a first set of selectable site-specific graphic elements representing a first plurality of categories of indoor points of interest within a first site are dynamically generated, each site-specific graphic element in the first set of selectable site-specific graphic elements being selectable to select one of the first plurality of categories of indoor points of interest. as well as In response to receiving a first selection, a first indoor map of the first site is presented on a second display area of the display via the map drawing application. The first indoor map includes a first plurality of graphic elements representing indoor points of interest within the first site.
4. The method according to claim 3, further comprising: In response to receiving a second selection, a second set of selectable site-specific graphic elements representing a second plurality of categories of indoor points of interest within a second site is dynamically generated, each site-specific graphic element in the second set of selectable site-specific graphic elements being selectable to select one of the second plurality of categories of indoor points of interest; and The mapping application presents a second indoor map of the second site on the second display area, the second indoor map including a second plurality of graphic elements representing indoor points of interest within the second site.
5. The method according to claim 4, further comprising: The mapping application presents a third plurality of graphic elements on a second indoor map, each of which corresponds to a specific floor in one or more floors of the second site; The mapping application receives second user input via a specific graphic element from a third plurality of graphic elements, the second user input indicating the selection of a selected floor within a second site; and The map drawing application presents graphic elements of indoor points of interest on the selected floor of the site in a first display area.
6. The method according to claim 4, further comprising: The map drawing application receives input from a third user, who selects a first graphic element from the second indoor map to represent a first indoor point of interest within the second site. as well as In response to third user input, an interactive signage displaying information about a first indoor point of interest is presented in a second display area on the display via the map drawing application.
7. The method of claim 6, further comprising presenting an indication that the indoor point of interest has been selected on a first display area via the map drawing application.
8. The method of claim 6, wherein the first venue is a shopping mall, the second venue is an airport, and the information on the signage indicates whether the first indoor point of interest is before or after the airport security checkpoint.
9. A non-transitory computer-readable medium storing a map-drawing application for execution by at least one computing device, the map-drawing application including a set of instructions for performing the method according to any one of claims 1 to 8.
10. An electronic device, comprising: One or more processors; and A non-transitory computer-readable medium storing a map-drawing application, the map-drawing application including one or more instruction sets, which, when executed by the one or more processors, cause the processors to perform the method according to any one of claims 1 to 8.
11. A method implemented by a mapping application running on a computing device having a display screen, the method comprising: The mapping application receives directions to destinations within the site. The mapping application identifies indoor routes to the destination within the site; The mapping application monitors the current location of the computing device within the site as the computing device traverses the route. The mapping application determines the current environment within the site based on the current location of the computing device along the route; The map-drawing application presents a navigation presentation on the display screen, guiding the user along the route; the navigation presentation includes a map; and The map presented by the navigation is dynamically adjusted by the map drawing application to take into account the current environment within the site as the computing device traverses the route; The map presented by the navigation is dynamically adjusted by the map drawing application, including at least one of the following: (a) Gray out and / or display a specific structure among a plurality of structures in the site, wherein the specific structure is dynamically selected by the mapping application based on dynamically adjusted selection criteria; (b) In the map, multiple floors are separated into corresponding separate diagrams; (c) Relocate the floor in the map; or (d) Rotate the floors in the map.
12. The method of claim 11, wherein dynamically adjusting the navigation presentation comprises: The mapping application determines that the route will be hidden and invisible by at least one structure along the route; as well as In response to the determination: the route is overlaid in front of the at least one structure from the perspective of a virtual camera used to generate the navigation presentation, via the map drawing application.
13. The method according to any one of claims 11 to 12, wherein dynamically adjusting the navigation presentation comprises: The mapping application modifies the style of the virtual camera used to generate the viewpoint for the navigation presentation based on the current environment within the site.
14. The method according to any one of claims 11 to 13, wherein dynamically adjusting the navigation presentation comprises: The mapping application adjusts a set of attributes of the virtual camera used to generate the viewpoint for the navigation presentation, dynamically modifying how the virtual camera captures a portion of the indoor map of the site.
15. The method of claim 14, wherein the set of attributes of the virtual camera includes the angle pitch of the virtual camera.
16. The method of claim 14, wherein the set of properties of the virtual camera includes the rotation of the virtual camera.
17. The method of claim 14, wherein the set of attributes of the virtual camera includes the distance of the virtual camera from an area on the indoor map that is a target in the navigation presentation.
18. A non-transitory computer-readable medium for storing a map-drawing application, the map-drawing application including an instruction set that, when executed by at least one computing device, causes the at least one computing device to perform the method according to any one of claims 11 to 17.
19. An electronic device comprising: Display screen; One or more processors; and A non-transitory computer-readable medium storing a map-drawing application, the map-drawing application including an instruction set that, when executed by the one or more processors, causes the one or more processors to perform the method according to any one of claims 11 to 17.