Adaptive Position Indicator
By dynamically adjusting the display mode based on the location indicator technology of the map area, the problem of location indication of mobile devices when the positioning is inaccurate is solved, and the user experience and security are improved.
Patent Information
- Application Number
- CN202110024111.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2015-02-10
- Filing Date
- 2016-01-12
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2036-07-16
AI Technical Summary
In a wireless local area network positioning environment or when GPS satellite data is insufficient, the location of the mobile device is not accurately determined, resulting in frequent jumps in the location indicator, affecting user experience and security.
By obtaining location data, determining a location indicator based on an area of a map, using a point indicator or an area indicator to represent the location of the mobile device, and dynamically adjusting the display mode of the indicator according to the accuracy of the location data, including the use of uncertainty indicators and area indicators.
It improves the accuracy of location indication and user experience, protects user privacy and security, and allows area-based location tracking rather than detailed location tracking.
Smart Images

Figure CN112732853B_ABST
Abstract
Description
[0001] This application is a divisional application of an application with the application date of January 12, 2016, application number 201680008213.6 (international application number PCT / US2016 / 013016), and name “ADAPTIVE POSITION INDICATOR”. Technical Field
[0002] Aspects of the present invention relate to displaying the location of a mobile device on a map. Background Art
[0003] In some locations, the location of a mobile device may not be determined or may be determined with low accuracy. For example, a portion of the wireless local area network positioning environment where an access point does not have coverage may result in a situation where the server does not have sufficient data to determine the location of the mobile device with high accuracy. Similarly, when a mobile device does not receive sufficient data from Global Positioning System (GPS) satellites, the mobile device may not be able to determine its location.
[0004] When the location of the device is temporarily undetermined and the device subsequently regains the ability to determine its location, a displayed dot indicator indicating the location of the mobile device may jump from the previously indicated location to the current location. When the location of the mobile device can be determined with low accuracy, the location of the dot indicator may change rapidly over time. A dot indicator that jumps from one location to another or has a location that changes rapidly over time may be confusing or disorienting to the user.
[0005] The point indicator and / or precise coordinate indication of the mobile device's location may indicate the location of the user's mobile device with greater accuracy than the user desires. When the precise indication of the user's location is available to other users, service providers, etc., the user's confidentiality and / or security may be compromised. Summary of the Invention
[0006] Certain aspects describe determining a position indicator.
[0007] In one example, a method for determining a location indicator is disclosed. The method includes obtaining location data indicating a location of a mobile device. A location indicator is determined based on at least one region of a map. The location of the mobile device is located within the at least one region. The location indicator indicates a map feature dependency region of the map. The location indicator is provided.
[0008] In another example, a system is disclosed. The system includes a processor. The processor is configured to obtain location data indicating a location of a mobile device. The processor determines a location indicator based on at least one region of a map. The location of the mobile device is located within the at least one region. The location indicator indicates a map feature dependency region of the map. The processor provides the location indicator.
[0009] In another example, a non-transitory computer-readable storage medium including one or more programs is disclosed. The one or more programs are configured to be executed by a processor to perform a method for determining a location of a mobile device. The one or more programs include instructions for obtaining location data indicating the location of the mobile device. The one or more programs further include instructions for determining a location indicator based on at least one region of a map. The location of the mobile device is located within the at least one region. The location indicator indicates a map feature dependency region of the map. The one or more programs further include instructions for providing the location indicator.
[0010] In another example, a mobile device is disclosed. The mobile device includes means for obtaining location data indicating a location of the mobile device. The mobile device further includes means for determining a location indicator based on at least one region of a map. The location of the mobile device is located within the at least one region. The location indicator indicates a map feature dependency region of the map. The mobile device further includes means for providing the location indicator. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The aspects of the present invention are described by way of example.In the drawings, like reference numerals indicate similar elements.
[0012] Figure 1 Description: Terrestrial networks and satellite positioning systems may be implemented for determining the location of a mobile device.
[0013] Figure 2 Illustrated is a point indicator displayed on a map according to some embodiments.
[0014] Figure 3 A series of positions determined for a mobile device over a time span in accordance with some embodiments is illustrated.
[0015] Figure 4 Illustrated is a region indicator displayed on a map according to some embodiments.
[0016] Figure 5 Illustrated is a diagram of geographic segment area indicators displayed on a map according to some embodiments.
[0017] Figure 6An area indicator determined based on AP coverage according to some embodiments is described.
[0018] Figure 7 A reduced-scale map is illustrated for displaying a location indicator in accordance with some embodiments.
[0019] Figure 8 A flow chart illustrating an example process for determining a location indicator in accordance with some embodiments.
[0020] Figure 9 A flow chart illustrating an example process for determining whether to display a point indicator or an area indicator in accordance with some embodiments.
[0021] Figure 10 A flow chart illustrating an example process for determining a location indicator using settings on a mobile device in accordance with some embodiments.
[0022] Figure 11 An example of a computing system is described in which one or more embodiments may be implemented.
[0023] Figure 12 An example of a mobile device according to some embodiments is described. DETAILED DESCRIPTION
[0024] Several illustrative embodiments will now be described with respect to the accompanying drawings.While specific embodiments are described below in which one or more aspects of the present invention may be implemented, other embodiments may be used and various modifications may be made without departing from the scope of the invention or the spirit of the appended claims.
[0025] The device may display the location of the mobile device using a location indicator, such as a dot indicator, shown on a map.
[0026] In some embodiments, the available positioning data may be insufficient to calculate a location with a desired degree of accuracy. For example, it may not be possible to determine a location using the available positioning data. In another example, the accuracy with which a location can be determined may be insufficient, such as when a metric used to determine positioning accuracy falls below a threshold (e.g., a threshold set by a user).
[0027] Determining a location indicator based on a determination of positioning accuracy (e.g., changing the manner in which the location indicator is displayed) can be beneficial in various aspects. Displaying a location indicator indicating a map feature dependency area of a map can provide an aesthetically pleasing location indication, can generally indicate the location of a user device while protecting the user's privacy and / or security, can allow for area-based tracking of a mobile device's location (rather than more detailed location tracking), etc.
[0028] In other embodiments, a user may wish to limit the accuracy with which the mobile device location is available to third parties.
[0029] As used herein, a "mobile device" may refer to any mobile electronic computing device. A mobile device may be capable of receiving positioning data transmitted by an access point (AP), a global positioning system (GPS) satellite, a positioning server, and / or other positioning system components. Examples of mobile devices may include smartphones, laptop computers, portable gaming systems, wearable devices, devices installed in cars, robots, specialized electronic devices for positioning, and / or any other such electronic devices. Figures 10 to 11 Additional examples of mobile devices and computing devices are disclosed.
[0030] As used herein, a "location indicator" may refer to any image, icon, indicator, symbol, text, area, and / or other means of indicating a location. A location indicator may be a point, area, and / or volume. A location indicator may be displayed on a map and / or model to indicate the location of a mobile device.
[0031] As used herein, "location data" may refer to any data received by a mobile device that relates to the location of the mobile device. Location data may include, for example: identification information for access points (APs) available for use by a user device; received signal strength indications (RSSIs) from APs; maps of RSSIs for individual APs; round-trip signal propagation time (RTT); time of arrival (TOA) data; accuracy data, including data indicating a value of a positioning accuracy metric; GPS navigation messages and / or other positioning data received from satellites (SVs); positioning data for landmark-based positioning systems, and information indicating the location of the mobile device, such as latitude and longitude values and / or other coordinates indicating location.
[0032] As described herein, the term "user" refers to any person who interacts with a network-based system capable of determining the location of a mobile device. Such a person may have a mobile device associated with the person that electronically interacts with the network-based positioning system. Such a person may indicate information about an area in a map, and this information may be provided to the network-based positioning system.
[0033] As used herein, an "access point" or AP refers to a device that is connected as part of a network that can be accessed by a user's mobile device. This network may provide wireless access to a wider network using a specific wireless networking protocol such as the IEEE 802.11 protocol, Bluetooth, and / or any other wireless communication method.
[0034] The embodiments described herein may use, for example, Figure 1 The ground network system described and / or Figure 2 Any positioning network implementation of the described satellite network system.
[0035] Figure 1 The terrestrial network and satellite positioning system 100 is illustrated as one example of a system that may be implemented to determine the location of a mobile device according to some embodiments. The terrestrial network and satellite positioning system 100 may include a mobile device 102; a server 104; a plurality of access points (APs), such as AP 106, AP 108, and AP 110; a plurality of base stations, such as base station 112, base station 114, and base station 116; and a plurality of satellites (SVs), such as SV 118, SV 120, and SV 122.
[0036] The server 104 may include one or more computing devices capable of processing location data and / or communicating with the mobile device 102 regarding location data. The server 104 may access data from a database (not shown). The database may be stored on one or more computing devices of the server 104 and / or may be stored on one or more devices remote from and communicatively coupled to the server 104. The server 104 may be located on-site in the area where the location data is being provided and / or may be located remote from such an area.
[0037] Access points 106-110 may be communicatively coupled to server 104 and any other available infrastructure computing devices by wired and / or wireless connections. Access points 106-110 may communicate with mobile device 102 using network connectivity and / or other wireless connectivity (e.g., Wi-Fi, Bluetooth, and the like).
[0038] In some embodiments, the terrestrial network system includes a plurality of base stations, such as base stations 112, 114, and 116. The terrestrial network may provide voice and / or data communications to a number of mobile devices, including mobile device 102, via base stations 112-116. In some embodiments, data communications received by the mobile device via base stations 112-116 may include location data. Communications between mobile device 102 and base stations 112-116 may occur via a cellular network, such as CDMA, LTE, WiMAX, and the like.
[0039] The terrestrial network system may be used to determine the location of the mobile device 102 using signals transmitted from one or more base stations 112-116 and / or APs 106-110. Environments in which the terrestrial network system may be used to determine the location of the mobile device 102 may include indoor environments, environments suitable for walking distance, and other environments of similar scale, such as shopping malls, airports, sports stadiums, educational campuses, commercial campuses, convention centers, and the like.
[0040] Mobile device 102 may receive and / or observe location data from base stations 112-116 and / or APs 106-110, which may be at known locations. The location data received and / or observed by mobile device 102 from base stations 112-116 and / or APs 106-110 may include, for example, RSSI, RTT, and TOA.
[0041] Mobile device 102 may use the location data to estimate distances between mobile device 102 and multiple base stations 112-116 and / or APs 106-110. Mobile device 102 may use the estimated distances and known locations to perform trilateration or other location analysis techniques to estimate the location of mobile device 102.
[0042] In some embodiments, mobile device 102 may provide received and / or observed location data to server 104. Server 104 may use the location data to estimate distances between mobile device 102 and a plurality of base stations 112-116 and / or APs 106-110. Server 104 may use the estimated distances and known locations to perform trilateration or other location analysis techniques to estimate the location of mobile device 102. Server 104 may provide location data indicating the location of mobile device 102 to mobile device 102. For example, server 104 may transmit the location coordinates of mobile device 102 to mobile device 102.
[0043] In another example, the mobile device 102 or the server 104 may compare location data, such as RSSI, RTT, and / or TOA of the plurality of APs 106-110 and / or base stations 112-116, to a heat map that provides expected signal strengths of the plurality of APs 106-110 and / or base stations 112-116 at various locations (e.g., grid points) in the environment. The mobile device 102 or the server 104 may use pattern matching and / or another analysis technique to determine the location of the mobile device 102. For example, pattern matching may include finding the location coordinates at which the RSSI of the plurality of APs 106-110 and / or base stations 112-116, as determined from the heat map, most closely matches the RSSI observed by the mobile device 102.
[0044] Heat map information corresponding to APs 106-110 and / or base stations 112-116 can be collected using different techniques. For example, dedicated devices can be used to measure signal strength at certain locations and send the measured data to a location server. Server 104 can store heat map information corresponding to mobile device 102 and provide the information to the mobile device.
[0045] In some embodiments, a crowdsourcing approach can be used to generate heat map information. For example, multiple mobile devices 102 can participate in the crowdsourcing. The participating mobile devices 102 can receive and / or observe location data from the APs 106-110 and / or base stations 112-116. The participating mobile devices 102 can transmit the location data to the server 104. The server 104 can use the received location data to determine location data including a heat map, the locations of the APs 106-110, RSSI information of the APs 106-110 at various locations relative to the APs 106-110, and the like. The location data determined by the server 104 can be used to determine the location of the mobile device 102.
[0046] A satellite network system that can be implemented to determine the location of a mobile device can include mobile device 102 and multiple satellite vehicles (SVs), such as SV 118, SV 120, and SV 122. The satellite positioning system can include one or more satellite positioning systems, such as GPS, GNSS, BeiDou, GLONASS, and / or Galileo, and the like. Mobile device 102 can receive signals from one or more of SVs 118-122.
[0047] In one example, mobile device 102 may receive and / or observe location data from one or more of SVs 118-122, such as one or more signals from SVs 118-122. Mobile device 102 may determine the location of mobile device 102 using the location data from SVs 118-122.
[0048] Another example positioning technique that may be used by the mobile device 102 or the server 104 to determine the location of the mobile device 102 is landmark-based positioning.
[0049] When the mobile device determines that the available positioning data is insufficient to calculate the position with the desired accuracy, the mobile device may indicate this by changing the manner in which the position indicator is displayed. Various methods for assessing accuracy are discussed below.
[0050] In some embodiments, when the location of mobile device 102 is determined by server 104, the location data received by mobile device 102 from server 104 may include accuracy data associated with the determined location. When mobile device 102 determines its own location, mobile device 102 may determine accuracy data associated with the determined location.
[0051] The mobile device 102 and / or the server 104 may evaluate the accuracy data to determine the accuracy of the location determination of the mobile device 102. Based on the determined accuracy, the mobile device 102 and / or the server 104 may determine the type of location indicator to display, such as a point indicator and / or an area indicator as discussed below.
[0052] In some embodiments, accuracy data for multiple locations of a particular environment (e.g., a heat map) may be stored by the mobile device 102 and / or the server 104. When the location of the mobile device 102 is determined, the heat map data at the determined location may be compared to one or more thresholds. For example, the accuracy data may include RSSI data received by the mobile device 102 from the APs 106 to 110. The accuracy criterion may be met when the mobile device 102 receives RSSI data exceeding a threshold from a minimum number of APs (e.g., 3 APs). The threshold RSSI value may be, for example, -80dB to -40dB, such as a threshold within the range of -70dB to -50dB, such as -60dB.
[0053] The accuracy data may include a horizontal dilution of precision (HDOP) value. When the HDOP value is less than a threshold, the accuracy criterion may be met. Mobile device 102 may receive location data including an HDOP value associated with the determined location of mobile device 102. For example, a server storing HDOP values associated with environmental locations may determine an HDOP value associated with the determined location of mobile device 102 and provide the HDOP value to mobile device 102. In some embodiments, mobile device 102 receives multiple HDOP values associated with environmental locations. Mobile device 102 may determine an HDOP value associated with the determined location of mobile device 102. The mobile device may compare the HDOP value to a threshold HDOP value. The threshold HDOP value may be a value in the range of 1 to 8, such as 1 to 4, such as 2.
[0054] The accuracy data may include a maximum change in the position determined for the mobile device 102 over a time span (i.e., a time period). The accuracy criterion may be met when the total movement of the mobile device 102 over the time period (e.g., along a path such as the path 306), as determined from the position data, is less than a threshold distance. The time period may be, for example, a period in the range of 1 to 60 seconds, such as a period in the range of 5 to 30 seconds, such as 20 seconds. The threshold distance may be a distance in the range of 5 to 50 feet, such as a distance in the range of 10 to 30 feet, such as 20 feet.
[0055] Mobile device 102 may compare location data determined for mobile device 102 over a period of time with outputs of one or more sensors of mobile device 102 over the period of time. The sensors may include, for example, an accelerometer of mobile device 102. For example, if the change in the location determined for mobile device 102 over a period of time exceeds the distance traveled by the mobile device over the same period of time as determined by the accelerometer of mobile device 102, then position accuracy may not be accurately determined. Accuracy criteria may be met when the divergence between the total movement of mobile device 102 over the period of time as determined from the location data and the total movement of mobile device 102 over the same period of time as determined by the sensors of the mobile device is less than a threshold distance difference. The threshold distance difference (i.e., delta) as determined from the location data and as determined by the sensors of the mobile device may be a distance within the range of 1 to 20 feet, such as a distance within the range of 3 to 10 feet, such as 5 feet.
[0056] In some embodiments, one or more accuracy criteria are based on default or custom settings that indicate a desired level of accuracy. For example, a user may wish to share the location of a mobile device with a third party. The user may wish to limit the accuracy with which a third party can view the user's location. The user may define settings such as a preference for displaying region indicators and / or point indicators, a preferred region type, distance, or other accuracy indications for which a third party can view the location of the mobile device. The accuracy criteria indicating a desired level of accuracy for displaying the location may be stored, for example, by the mobile device 102 and / or the server 104.
[0057] Figure 2 2 illustrates a location indicator displayed on a map according to some embodiments. The location indicator may be a dot indicator 202 displayed on the map 200. The location indicator may be displayed on the display of the mobile device 102 or on another display. The dot indicator 202 may be a small dot, as shown, or another shape, image, or other indicator for indicating the location of the mobile device 102. In some embodiments, the dot indicator 202 may be displayed at the center of an uncertainty indicator 204 having a size corresponding to the accuracy of the location determination of the mobile device 102 (e.g., the radius of a circle). The uncertainty indicator 204 may be a circle, as shown, or another shape, image, or other indicator for indicating the degree of uncertainty in the determined location of the mobile device 102. The uncertainty indicator 204 may indicate a range of possible locations for the mobile device 102.
[0058] exist Figure 2In the illustrative example of FIG, map 200 is a floor plan. Alternative maps may be used, such as road maps, path maps, street maps, three-dimensional models of multi-level structures, or any other map for providing location information. Map 200 may be received by mobile device 102 from server 104.
[0059] Map 200 may include multiple regions, such as region 206 and region 208. Regions (e.g., 206 and 208) may be map feature-dependent regions. A map feature-dependent region may be an area defined by map features, such as roads, walls, partitions, property lines, national boundaries, natural features, and the like. A map feature-dependent region may exclude map partitions that are arbitrary partitions of the map, such as cells of a rectangular grid. For example, a map feature-dependent region for an indoor map may be an area bounded or partially bounded by walls, such as a room. An example of a map feature-dependent region for an outdoor map may be a street block bounded by multiple roads. Additional examples of regions may include one or more floors of a multi-story building, one or more buildings, one or more seating areas, one or more airport gates, one or more urban neighborhoods, one or more lakes, one or more parking areas, one or more blocks, one or more cities, one or more routes, one or more partitions of map 200, or any combination thereof.
[0060] Area 206 is a room in which a dot indicator 202 is displayed to indicate the determined location of the mobile device 102 within area 206. Figure 2 In the illustrative example of , area 206 is shown as being bounded by four walls, including the wall shown at 210. The boundaries may be structural boundaries, such as walls, partitions, and / or streets; non-structural boundaries, such as property lines, national borders, and / or other divisions between areas; user-entered boundary indications, etc.; or any combination thereof.
[0061] A region may include two or more sub-regions. For example, if a region is a floor of a building (e.g., map 200 may be a floor of a building), the floor may include sub-regions (e.g., sub-regions 206, 208). In the case of regions discussed herein, it will be appreciated that sub-regions may be used.
[0062] In some embodiments, a user may define map feature dependency areas. For example, a user may define a map feature dependency area, such as area 206. The user may define the area information using, for example, a user interface module of a computer system of mobile device 102. The user may define the area information by drawing, selecting, or otherwise indicating the boundaries and / or partial boundaries of one or more areas 206 on map 200. In another example, the user may define the area information by overlaying geometric objects on map 200 to indicate the areas corresponding to the geometric objects. In another example, the user may define the area information by painting or otherwise indicating an area associated with an area, such as area 206. The user may also provide identifying information, such as a room number, room name, floor number, floor name, building name, and / or other metadata associated with the indicated area.
[0063] In some embodiments, the map analysis module may be used to automatically determine map feature dependency areas for map 200. For example, the map analysis module may analyze visually available, numerically available, or otherwise available information in map 200. The map analysis module may use, for example, image analysis to locate boundaries, colorize distinct areas, or other area indicators that may be included in the map. The map analysis module may also utilize image detection, image tracking, image recognition techniques, and / or extraction techniques to determine areas, boundaries, and the like within the map. The map analysis module may consider metadata information, such as building information and user trajectory data. In some embodiments, the map analysis module may use a threshold distance (e.g., a minimum distance between walls) to determine boundaries. For example, if a boundary does not exist in the map or in an area within a threshold distance (e.g., a distance exceeding 30 feet), a boundary may be established within the map or area, such as at the middle of an existing boundary or at a fixed distance from an existing boundary. The map analysis module may transmit the area information to server 104 and / or store the area information at server 104.
[0064] Figure 3 Illustrated is a series of locations determined for a mobile device over a period of time in accordance with some embodiments.Point indicator 202 is shown at eight locations in map 200 , moving from a first location 302 to an eighth location 304 along a path indicated at 306 .
[0065] When the location determined for the mobile device 102 cannot be accurately determined, the determined location may vary significantly over time, even when the actual location of the mobile device 102 does not change. Low accuracy location determination may occur due to, for example, the presence of a relatively small number of APs 106-110 in an area of the map 200 (e.g., area 208) and / or the presence of structural barriers between the mobile device 102 and the APs 106-110 that block the line of sight. In this case, a user viewing the map 200 displayed by the mobile device 102 may see the dot indicator 202 jump (e.g., along path 306) from one part of the area 208 (e.g., as indicated at location 302) to another part of the area 208 (e.g., as indicated at location 304) within a short period of time. This may be confusing or disorienting to the user. In such cases, it may be desirable to display, for example, a dot indicator in addition to or in place of the dot indicator. Figures 4 to 6 The region indicator being described.
[0066] Figure 4 1 illustrates a region indicator displayed on a map according to some embodiments. Region indicator 402 is a location indicator that can be displayed on map 200 on a display of mobile device 102. Region indicator 402 indicates that the determined location of mobile device 102 is within region 208. In some embodiments, region indicator 402 can be displayed when location data cannot be accurately determined. Location data may not be accurately determined when location data is unavailable and / or when the location data does not meet accuracy conditions.
[0067] Region indicator 402 may be displayed on map 200 on a display, such as a display of mobile device 102. In some embodiments, region indicator 402 may be larger than point indicator 202. Region indicator 402 may have a shape that visually associates with the region, such as a shape that matches or resembles the shape of the region. For example, region indicator 402 may have a shape similar to that of region 208. The shape of region indicator 402 may be customized or automatically determined as indicated above. Region indicator 402 may include text or other indicia, such as text identifying the region. Region indicator 402 may include features to visually distinguish region indicator 402 from map 200. For example, region indicator 402 may be highlighted, such as by coloring, patterning, bolding, flashing, or the like the region, text, border, and / or other element or elements of region indicator 402. In one embodiment, the region indicator may be smaller than the indicated region or larger than the indicated region.
[0068] When location data can be accurately determined and / or when the user wishes to view the precise location of the mobile device, the point indicator 202 may be displayed. When location data cannot be accurately determined and / or when the user wishes to generally display the location of the mobile device rather than indicating the precise location of the device, the region indicator 402 may be used. In some embodiments, the region indicator 402 may be displayed only when the point indicator 202 is not displayed. In other embodiments, the region indicator 402 is displayed simultaneously with the point indicator 202.
[0069] The user can use a toggle control to indicate whether the region indicator 402 and / or the point indicator 202 will be displayed on the map 200. For example, the user can select the toggle function using a toggle button of a user interface that displays the map 200 and one or more of the region indicator 402 and the point indicator 202. In some embodiments, the user can touch the region indicator 402 to switch to the point indicator 202, or the user can touch the point indicator 202 to switch to the region indicator 402.
[0070] Figure 5 Illustrate geographic subdivision area indicators displayed on a map according to some embodiments. In some embodiments, the area indicator 402 may be a geographic subdivision area indicator, as shown at 502. A geographic subdivision may be a block (e.g., Mission as indicated at 502), an urban neighborhood, a theme park subdivision, a subdivision of a shopping mall or other shopping area, a postal district, a city, a county, a state, and the like. The area indicator 502 is a location indicator on a map 500 that may be displayed on a display of the mobile device 102. The map 500 may be a block map, a road map, a city map, a postal map, and / or any other map. In some embodiments, the map 500 may be a map used for indoor and / or outdoor positioning, such as positioning performed using base stations 112-116 and / or SVs 118-122. In Figure 5 In the illustrative example of , region indicator 502 includes a highlighted region and bold text ("Mission").
[0071] In some embodiments, a user may share the location information indicated by the point indicator 202 and / or the area indicator 402, for example, by transmitting the location information to a third party (e.g., an information collection service or device owned by another user). The user may choose to share the area indicator 402, for example, for increased privacy and security. The size and / or type of area indicator to be displayed may be determined based on settings, such as user-entered settings.
[0072] Figure 6This section illustrates an area indicator determined based on AP coverage according to some embodiments. In many situations, accurate positioning may not be possible, such as in an environment with relatively few APs or where the line of sight to an AP is blocked by a structural barrier. In some embodiments, a heat map may be used to identify areas where positioning accuracy is expected to be low (e.g., below a threshold accuracy value). Low accuracy area 602 may be an area determined by the coverage assessment module.
[0073] One or more low-accuracy areas 602 of map 200 may be determined based on a heat map or other location data associated with map 200. For example, low-accuracy areas 602 may be determined based on one or more grid points of the heat map where RSSI values above (or, in some embodiments, below) a threshold are unavailable for two or more APs. The threshold RSSI value may be a value within a range of -80dB to -40dB. For example, the threshold RSSI value may be a value within a range of -70dB to -50dB, such as -60dB.
[0074] In an illustrative example, the heat map may indicate that the mesh point receives signals from three APs (e.g., APs 106 through 110). The signals received from APs 106, 108, and 110 are -65dB, -55dB, and -60dB. The RSSI is compared to a threshold RSSI value of -60dB. The mesh point receives a signal exceeding the threshold from AP 106. The mesh point does not receive a signal exceeding the threshold from AP 108 or AP 110. Because the mesh point does not receive RSSI values above the threshold from more than two APs, the mesh point is determined to be part of a low accuracy region (e.g., low accuracy region 602).
[0075] In some embodiments, when the determined location is within a low-accuracy region, a region indicator is used to display the location of the mobile device 102. The shape of the low-accuracy region 602 can be smoothed, rounded, and / or otherwise altered to create a visually appealing shape. Sensors on the mobile device (via dead reckoning, etc.) and / or other positioning systems and / or technologies can be used to help shape the region indicator. The low-accuracy region indicator can be a region indicator 402 having a shape corresponding to the low-accuracy region 602. When a position cannot be accurately determined, the low-accuracy region indicator can be used to display the location of the mobile device 102.
[0076] Figure 7 A reduced scale map is illustrated for displaying a location indicator according to some embodiments. Figure 7 The map 700 shown in FIG. Figure 2, which is scaled down (i.e., "zoomed out") to show a larger area. In some embodiments, when location data cannot be accurately determined, mobile device 102 may display map 700 instead of map 200. In this way, erratic movement of point indicator 702 (e.g., as described with reference to point indicator 202) may be made less noticeable because point indicator 702 "jumps" a smaller distance relative to the displayed, scaled-down map 700.
[0077] In some embodiments, when the zoomed-out map 700 is displayed, the size of the point indicator 702 displayed on the zoomed-out map 700 is larger than the size of the point indicator 202 displayed on the map 200. In this way, the user may be less aware of movement of the location indicator over time due to reduced positioning accuracy.
[0078] Figure 8 A flow chart illustrating an example process for determining a location indicator in accordance with some embodiments.
[0079] At operation 802, a receiver, such as mobile device 102 and / or server 104, obtains location data. For example, the location data may be obtained via antenna 1218 of mobile device 102 or via communication subsystem 1012 of computing device 1000. The location data may include, for example, data indicating a location of mobile device 102 (e.g., a location determined by server 104) and / or data that may be used by mobile device 102 to determine its location.
[0080] At operation 804, the receiver determines a location indicator based on at least one region of the map. In various embodiments, the mobile device 102, the server 104, and / or a computer receiving data from the server 104 may determine the location indicator. The location of the mobile device may be located within the at least one region. The location indicator indicates a map feature dependency region of the map. The receiver may determine the map feature dependency region of the map based on one or more features of the map and / or other criteria, as described above.
[0081] In some embodiments, the location indicator is determined based on at least one of a privacy setting, an accuracy level of the location data, a change in location over a period of time, or any combination thereof. The accuracy level may include accuracy criteria and / or settings as discussed elsewhere herein.
[0082] At operation 806 , a location indicator is provided. For example, the server 104 may provide the location indicator to the mobile device 102 , and / or the mobile device 102 may provide the location indicator to the server 104 .
[0083] Figure 9Flowchart illustrating an example process for determining a location indicator using map feature dependency regions of a map in accordance with some embodiments. Depending on the accuracy of location data that can be determined by mobile device 102 and / or based on settings indicating a desired level of accuracy (e.g., to protect user privacy), a user may desire mobile device 102 to switch between displaying point indicator 302 and region indicator 402.
[0084] At operation 902, a device, such as mobile device 102 or server 104, may determine whether location data has been received by mobile device 102. For example, the location data may be received via antenna 1218 of mobile device 102 or via communication subsystem 1012 of computing device 1000. In response to determining that the location data has not been received, the flow may return to operation 902. In response to determining that the location data has been received by mobile device 102, the flow may proceed to operation 904.
[0085] At operation 904, the processor 1104 of the mobile device 102 may determine whether the accuracy of the received location data satisfies one or more accuracy criteria. The mobile device 102 may use a method of comparing the location data to the accuracy criteria as discussed above to determine whether the accuracy of the received location data satisfies one or more accuracy criteria. If one or more accuracy criteria are satisfied, the mobile device 102 may determine that the location data has sufficient accuracy.
[0086] If the location data lacks sufficient accuracy, the mobile device 102 may display an area indicator 402 associated with the area in which the determined location of the mobile device 102 is located, as indicated at operation 906. For example, the area indicator may be displayed by the display 1222 of the mobile device 102. In some embodiments, when the area indicator 402 is displayed, as indicated at operation 906, the map on which the area indicator 402 is displayed is displayed at a reduced scale (i.e., "zoomed out") to show a larger area (e.g., Figure 7 (as indicated in the ).
[0087] If the location data is of sufficient accuracy, the mobile device 102 may display a dot indicator 302 at the determined location of the mobile device 102, as indicated at operation 908. The dot indicator may be displayed by the display 1222 of the mobile device 102, for example.
[0088] In various embodiments, the mobile device 102 may determine whether to display a point indicator and / or an area indicator based on the display size, the size of the application interface on the display, the determined location, the uncertainty of the location, or any combination thereof. For example, some of these techniques may be used or combined to determine an aesthetically pleasing indicator (e.g., to avoid displaying an area indicator that fills a substantial portion of the displayed application interface).
[0089] Will understand, refer to Figure 9 One or more of the operations described may be performed by server 104 or another device.
[0090] Figure 10 A flowchart illustrating an example process for determining a location indicator using settings on mobile device 102, according to some embodiments. For applications where area-level location data may be more useful than precise location data, server 104 may use settings to protect user privacy. For example, a traveling salesperson may only want to see which streets they have visited, or their boss may want to see which streets the traveling salesperson has visited as part of their job. Other examples of applications where area-level location data may be more desirable include employee tracking for functions such as traveling salespersons, repairmen, street cleaners, garbage collection, and trucking.
[0091] At operation 1002, server 104 accesses settings for mobile device 102. The settings may be, for example, location accuracy settings. The settings may be default values, settings received by the mobile device from a third party, and / or settings received by the mobile device from a user (e.g., via user input received at the mobile device). The settings may include one or more values indicating the accuracy level of a location indicator and / or location data available. For example, the location accuracy settings may indicate that point indicators 202 are to be displayed on the user's mobile device and that region indicators 402 are to be displayed on devices belonging to the user's contacts. In some embodiments, the location accuracy settings may include minimum and / or maximum sizes for the location indicators. For example, mobile device 102 may receive input from the user indicating a minimum size for map feature dependency region indicators 402 to be determined, transmitted, and / or displayed.
[0092] The settings may include a time validity duration. The time validity duration may indicate the amount of time during which the location indicator is valid, for example, from the time the location indicator is transmitted at operation 1010. When the time validity duration expires, the location indicator may no longer be used (e.g., the mobile device 102 stops displaying the location indicator), and / or the server 104 may repeat one or more of operations 1002-1010 to transmit a new location indicator to the mobile device 102, etc. In some embodiments, the time validity duration may be used only when the mobile device 102 is in motion (e.g., as determined by the accelerometer 1216 of the mobile device 102).
[0093] In an alternative embodiment, the server 104 may store settings such as location accuracy settings. For example, the server 104 may access settings stored by the server 104, such as those associated with the mobile device 102.
[0094] At operation 1004, the server 104 determines the location of the mobile device 102. For example, the server 104 may receive location data from the mobile device 102. In one embodiment, the server 104 may use the heat map data and the received location data to determine the location of the mobile device 102.
[0095] At operation 1006 , the server 104 accesses a map. For example, the server 104 may use the location determined at operation 1004 to determine the map to access.
[0096] At operation 1008, the server 104 determines a location indicator. The server 104 may determine the location indicator using the settings accessed at operation 1002, the location determined at operation 1004, and / or the map determined at operation 1006. In some embodiments, the location indicator may be an area indicator 402 indicating a map feature dependency area of the map.
[0097] At operation 1010, server 104 transmits a location indicator, such as a map feature dependency location indicator, to mobile device 102. Mobile device 102 may display the location indicator received from server 104. In some embodiments, information, such as settings information, may be transmitted along with the location indicator.
[0098] Will understand, refer to Figure 10 One or more of the operations described may be performed by mobile device 102 or another device.
[0099] Figure 11 An example of a computing system in which one or more embodiments may be implemented is described. Figure 11 The computer system illustrated in FIG100 may be incorporated as part of the previously described computerized devices. For example, the computer system 1100 may represent some of the components of the mobile device 102 and / or the server 104. The computer system 1100 may also represent any of the APs 106 to 110. The computer system 1100 may further store and / or execute the various modules described herein.
[0100] Figure 11 A schematic illustration of one embodiment of a computer system 1100 is provided, which can perform methods provided by various other embodiments as described herein, and / or can function as a host computer system, a remote kiosk / terminal, a point-of-sale device, a mobile device, and / or a computer system. Diagram 1100 is intended to provide a generalized illustration of various components, any or all of which can be utilized as desired. Thus, diagram 1100 generally illustrates how individual system elements can be implemented in a relatively separate or relatively integrated manner.
[0101] Computer system 1100 is shown as including hardware elements that may be electrically coupled via bus 1102 (or otherwise communicatively as desired). The hardware elements may include: one or more processors 1104, including but not limited to one or more general-purpose processors and / or one or more special-purpose processors (e.g., digital signal processing chips, graphics acceleration processors, and / or the like); one or more input devices 1106, which may include but are not limited to a mouse, keyboard, and / or the like; and one or more output devices 1108, which may include but are not limited to a display device, printer, and / or the like. In one embodiment, one or more processors 1104 may be used to compare location data to at least one accuracy criterion. In one embodiment, one or more processors 1104 may be used to determine a location indicator based on the comparison of location data to at least one accuracy criterion and a map.
[0102] The computer system 1100 may further include (and / or communicate with) one or more non-transitory storage devices 1110, which may include, but are not limited to, local and / or network-accessible storage devices, and / or may include, but are not limited to, disk drives, drive arrays, optical storage devices, solid-state storage devices such as random access memory ("RAM") and / or read-only memory ("ROM"), which may be programmable, flash-updatable, and / or the like. Such storage devices may be configured to implement any suitable data storage device, including, but not limited to, various file systems, database structures, and / or the like.
[0103] The computer system 1100 may also include a communication subsystem 1112, which may include, but is not limited to, a modem, a network card (wireless and / or wired), an infrared communication device, a wireless communication device, and / or a chipset (e.g., Bluetooth TM 11 devices, 802.11 devices, Wi-Fi devices, WiMax devices, cellular communication facilities, etc.) and / or similar communication interfaces. The computing system may include one or more antennas for wireless communication as part of the communication subsystem 1112 or as a separate component coupled to any part of the system. The communication subsystem 1112 may permit data to be exchanged with a network (such as, for example, the network described below), other computer systems, and / or any other devices described herein. In many embodiments, the computer system 1100 will further include non-transitory working memory 1114, which may include RAM and / or ROM devices, as described above. In one embodiment, the communication subsystem 1112 may be used to receive location data and / or determine the location of the computing system.
[0104] The computer system 1100 may also include software elements, shown as currently located within working memory 1114, including an operating system 1116, device drivers, executable libraries, and / or other code, such as one or more application programs 1118, which may include computer programs provided by various embodiments and / or may be designed to implement methods provided by other embodiments and / or configure systems provided by other embodiments, as described herein. By way of example only, one or more programs and / or modules described with respect to the methods discussed above may be implemented as code and / or instructions executable by a computer (and / or a processor within a computer); then, in one aspect, such code and / or instructions may be used to configure and / or adapt a general-purpose computer (or other device) to perform one or more operations according to the described methods.
[0105] The set of these instructions and / or code may be stored on a computer-readable storage medium (e.g., storage device 1110 described above). In some cases, the storage medium may be incorporated into a computer system (e.g., computer system 1100). In other embodiments, the storage medium may be separate from the computer system (e.g., removable media (e.g., a compact disc)) and / or provided in an installation package so that the storage medium can be used to program, configure, and / or adapt a general-purpose computer having the instructions / code stored thereon. The instructions may be in the form of executable code that can be executed by computer system 1100, and / or may be in the form of source and / or installable code that is in the form of executable code once compiled and / or installed on computer system 1100 (e.g., using any of a variety of commonly available compilers, installers, compression / decompression utilities, etc.).
[0106] Substantial variations may be made depending on specific requirements. For example, custom hardware may also be used, and / or specific elements may be implemented in hardware, software (including portable software, such as applets, etc.), or both. Furthermore, hardware and / or software components that provide certain functionality may comprise a dedicated system (having specialized components) or may be part of a more general system. For example, a system configured to provide some or all of the features described herein may comprise specialized (e.g., an application specific integrated circuit (ASIC), software methods, etc.) or general (e.g., processor 1104, application 1118, etc.) hardware and / or software. Furthermore, connections to other computing devices (e.g., network input / output devices) may be utilized.
[0107] Some embodiments may utilize a computer system (e.g., computer system 1100) to perform methods according to the present invention. For example, some or all of the procedures of the described methods may be performed by computer system 1100 in response to processor 1104 executing one or more sequences of one or more instructions contained in working memory 1114 (which may be incorporated into operating system 1116 and / or other code, such as application programs 1118). Such instructions may be read into working memory 1114 from another computer-readable medium, such as one or more of storage devices 1110. By way of example only, executing the sequences of instructions contained in working memory 1114 may cause processor 1104 to perform one or more procedures of the methods described herein.
[0108] As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any medium that participates in providing data that causes a machine to operate in a specific fashion. In embodiments implemented using computer system 1100, various computer-readable media may be involved in providing instructions / code to processor 1104 for execution, and / or various computer-readable media may be used to store and / or carry such instructions / code (e.g., as signals). In many implementations, computer-readable media is a physical and / or tangible storage medium. Such media may take many forms, including, but not limited to, non-volatile media and volatile media. Non-volatile media includes, for example, optical and / or magnetic disks, such as storage device 1110. Volatile media includes, but is not limited to, dynamic memory, such as working memory 1114.
[0109] In some embodiments, computer-readable media may include transmission media. Transmission media includes, but is not limited to, coaxial cables, copper wire, and fiber optics, including the wires comprising bus 1102 and the various components of communication subsystem 1112 (and / or the media through which communication subsystem 1112 provides communication with other devices). Thus, transmission media may also take the form of waves (including, but not limited to, radio, acoustic, and / or light waves, such as those generated during radio-wave and infrared data communications).
[0110] For example, common forms of physical and / or tangible computer-readable media include floppy disks, flexible disks, hard disks, magnetic tape, and / or any other magnetic media, CD-ROMs, any other optical media, punch cards, paper tape, any other physical media with patterns of holes, RAM, PROM, EPROM, Flash-EPROM, any other memory chip or cartridge, a carrier wave as described below, and / or any other media from which a computer can read instructions and / or code.
[0111] Various forms of computer-readable media may be involved in carrying one or more sequences of one or more instructions to processor 1104 for execution. By way of example only, the instructions may initially be carried on a magnetic disk and / or optical disk of a remote computer. The remote computer may load the instructions into its dynamic memory and send the instructions as signals over a transmission medium for receipt and / or execution by computer system 1100. According to various embodiments, these signals (which may be in the form of electromagnetic signals, acoustic signals, optical signals, and / or the like) are all examples of carrier waves on which instructions may be encoded.
[0112] The communication subsystem 1112 (and / or its components) will generally receive the signal, and the bus 1102 may then carry the signal (and / or the data, instructions, etc. carried by the signal) to the working memory 1114, from which the processor 1104 retrieves and executes the instructions. The instructions received by the working memory 1114 may optionally be stored on the non-transitory storage device 1110 before or after execution by the processor 1104.
[0113] Figure 12 An example of a mobile device according to some embodiments is described. Mobile device 102 includes a processor 1202 and a memory 1204. Mobile device 102 may utilize processor 1202, which is configured to execute instructions for performing operations at a number of components and may be, for example, a general-purpose processor or a microprocessor suitable for implementation within a portable electronic device. Processor 1202 is communicatively coupled to multiple components within mobile device 102. For example, processor 1202 may communicate with the other illustrated components across bus 1206. Bus 1206 may be any subsystem suitable for transmitting data within mobile device 102. Bus 1206 may be a plurality of computer buses and include additional circuitry for transmitting data. In one embodiment, one or more processors 1202 may be configured to compare location data with at least one accuracy criterion. In one embodiment, one or more processors 1202 may be configured to determine a location indicator based on the comparison of location data with at least one accuracy criterion and a map.
[0114] Memory 1204 may be coupled to processor 1202. In some embodiments, memory 1204 provides both short-term and long-term storage and may be physically divided into several units. Memory 1204 may be volatile, such as static random access memory (SRAM) and / or dynamic random access memory (DRAM); and / or non-volatile, such as read-only memory (ROM), flash memory, and the like. Furthermore, memory 1204 may include removable storage devices, such as secure digital (SD) cards. Thus, memory 1204 provides storage for computer-readable instructions, data structures, program modules, and other data for mobile device 102. In some embodiments, memory 1204 may be distributed across different hardware modules.
[0115] In some embodiments, memory 1204 stores a plurality of application modules 1226-1228, which may be any number of applications. The application modules contain specific instructions to be executed by processor 1202. In alternative embodiments, other hardware modules 1210 may additionally execute certain applications or portions of applications 1226-1228. In some embodiments, memory 1204 may additionally include secure memory, which may include additional security controls to prevent copying or other unauthorized access to secure information.
[0116] In some embodiments, memory 1204 includes an operating system 1212. Operating system 1212 may be operable to initiate execution of instructions provided by application modules 1226-1228 and / or manage other hardware modules 1210, as well as interface with communication modules that may utilize wireless transceiver 1214. Operating system 1212 may be adapted to perform other operations across components of mobile device 102, including thread handling, resource management, data storage control, and other similar functionality.
[0117] In some embodiments, the mobile device 102 includes a plurality of other hardware modules 1210. Each of the other hardware modules 1210 is a physical module within the mobile device 102. However, while each of the hardware modules 1210 is permanently configured as a structure, a corresponding one of the hardware modules 1210 can be temporarily configured to perform a specific function or temporarily activated. A common example is an application module that can program a camera module (i.e., a hardware module) for shutter release and image capture. The corresponding ones of the hardware modules 1210 may be, for example, an accelerometer 1216, a Wi-Fi transceiver, a satellite navigation system receiver (e.g., a GPS module), a pressure module, a temperature module, an audio output and / or input module (e.g., a microphone), a camera module, a proximity sensor, a single card dual number (ALS) module, a capacitive touch sensor, a near field communication (NFC) module, a Bluetooth transceiver, a cellular transceiver, a magnetometer, a gyroscope, an inertial sensor (e.g., a module combining an accelerometer and a gyroscope), an ambient light sensor, a relative humidity sensor, and / or any other similar module operable to provide sensory output and / or receive sensory input. In some embodiments, one or more functions of the hardware modules 1210 may be implemented in software. In one embodiment, the hardware modules 1210 may be used to receive location data and / or determine the location of the computing system.
[0118] Mobile device 102 may include components such as a wireless communication module that may integrate antenna 1218 and wireless transceiver 1214 with any other necessary hardware, firmware, and / or software for wireless communication. This wireless communication module may be configured to receive signals from various devices, such as data sources, via networks, access points, base stations, SVs, such as APs 106-110, base stations 112-116, SVs 118-122, and the like. In one embodiment, the wireless communication module may be used to receive location data and / or determine the location of a computing system.
[0119] In addition to other hardware modules 1210 and application modules 1226-1228, mobile device 102 may have a display 1222 and a user input module 1224. Display 1222 graphically presents information from mobile device 102 to the user. This information may be derived from one or more application modules 1226-1228, one or more hardware modules 1210, a combination thereof, and / or any other suitable means for interpreting graphical content for the user (e.g., by operating system 1212). Display 1222 may be liquid crystal display (LCD) technology, light emitting polymer display (LPD) technology, and / or some other display technology. In some embodiments, display 1222 is a capacitive and / or resistive touch screen and may be sensitive to tactile and / or haptic contact with the user. In such embodiments, display 1222 may comprise a multi-touch sensitive display.
[0120] The methods, systems, and devices discussed above are examples. Various embodiments may omit, replace, or add various procedures or components as appropriate. For example, in alternative configurations, the described methods may be performed in an order different from that described, and / or various levels may be added, omitted, and / or combined. Furthermore, features described with respect to certain embodiments may be combined in various other embodiments. Different aspects and elements of the embodiments may be combined in a similar manner. Furthermore, technology is evolving and therefore many of the elements are examples, which do not limit the scope of the present invention to those specific examples.
[0121] Specific details are given in the description to provide a thorough understanding of the embodiments. However, the embodiments can be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary detail to avoid obscuring the embodiments. This description provides example embodiments and is not intended to limit the scope, applicability, or configuration of the present invention. Specifically, the foregoing description of the embodiments will provide those skilled in the art with an illuminating description of embodiments for implementing the present invention. Various changes can be made to the function and arrangement of the elements without departing from the spirit and scope of the present invention.
[0122] Furthermore, some embodiments are described as processes, which are depicted as flow charts. Although each flow chart may describe operations as sequential processes, many operations can be performed in parallel or simultaneously. In addition, the order of the operations can be rearranged. The process may have additional steps not included in the diagrams. Furthermore, embodiments of the method may be implemented by hardware, software, firmware, middleware, microcode, hardware description language, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments used to perform the associated tasks may be stored in a computer-readable medium, such as a storage medium. A processor may perform the associated tasks.
[0123] While several embodiments have been described, various modifications, alternative configurations, and equivalents may be used without departing from the spirit of the present invention. For example, the above elements may be merely components of a larger system, wherein other rules may take precedence over the application of the present invention or otherwise modify the application of the present invention. Furthermore, several steps may be performed before, during, or after considering the above elements. Therefore, the above description does not limit the scope of the present invention.
Claims
1. A method for determining a region indicator, comprising: obtaining location data indicating a location of the mobile device; accessing a map based on the location of the mobile device, the map having a plurality of regions, wherein each region is bounded by one or more features of the map; determining where the mobile device is located on the map based on the location data; determining the region indicator indicating a region of the plurality of regions in which the mobile device is located, wherein a size and a shape of the region indicator are determined based on a privacy setting; as well as in response to determining that the accuracy of the location data does not satisfy one or more accuracy criteria, causing the region indicator to be displayed on the device display, wherein the one or more accuracy criteria are satisfied if: when the mobile device receives received signal strength indication (RSSI) data exceeding a threshold from a minimum number of access points; When the horizontal dilution of precision (HDOP) value is less than the threshold; when a maximum change in the position determined for the mobile device within a time span is less than a threshold distance; or When a divergence change between a total movement of the mobile device over a time period determined from the location data and a total movement of the mobile device over the same time period determined by a sensor of the mobile device is less than a threshold distance difference.
2. The method of claim 1, wherein the privacy setting, accuracy setting, or both include a preferred zone type, and the size and shape of the zone indicator are determined based on the preferred zone type.
3. The method of claim 1, wherein the plurality of areas comprises one or more of: floors of a multi-story building, a building, a seating area, an airport boarding gate, an urban settlement, a lake, a parking area, a block, a city, or any combination thereof. The method of claim 1 , wherein a boundary of at least one of the plurality of regions is based on region information defined by a user. The method of claim 4 , wherein the region information comprises geometric objects overlaid on the map. The method according to claim 4 , wherein the region information comprises identification information of the at least one region.
7. The method of claim 1 , wherein the size and shape of the area indicator are further based on: a shape of the area in which the mobile device is located, an accuracy setting, a level of accuracy of the location data, changes in the location over a time span, or any combination thereof.
8. The method of claim 7, wherein the location data comprises received signal strength indication (RSSI) data received by the mobile device from at least one access point (AP), wherein the accuracy level is determined using a minimum number of access points (APs) having an associated RSSI exceeding a threshold.
9. The method of claim 1, further comprising causing the device display to display the map.
10. A device for determining a region indicator, the device comprising: processor; as well as a memory coupled to the processor and configurable to store instructions; wherein the processor is configured to: obtaining location data indicating a location of the mobile device; accessing a map based on the location of the mobile device, the map having a plurality of regions, wherein each region is bounded by one or more features of the map; determining where the mobile device is located on the map based on the location data; determining the region indicator indicating a region of the plurality of regions in which the mobile device is located, wherein a size and a shape of the region indicator are determined based on a privacy setting; as well as in response to determining that the accuracy of the location data does not satisfy one or more accuracy criteria, causing the region indicator to be displayed on the device display, wherein the one or more accuracy criteria are satisfied if: when the mobile device receives received signal strength indication (RSSI) data exceeding a threshold from a minimum number of access points; When the horizontal dilution of precision (HDOP) value is less than the threshold; when a maximum change in the position determined for the mobile device within a time span is less than a threshold distance; or When a divergence change between a total movement of the mobile device over a time period determined from the location data and a total movement of the mobile device over the same time period determined by a sensor of the mobile device is less than a threshold distance difference.
11. The device of claim 10, further comprising the device display.
12. The device of claim 10, wherein the processor is further configured to cause the map to be displayed by the device display.
13. The device of claim 10, wherein the processor is further configured to base the size and shape of the region indicator on a preferred region type included in the privacy setting, the accuracy setting, or both.
14. The apparatus of claim 10, wherein the plurality of areas comprises one or more of: floors of a multi-story building, a building, a seating area, an airport gate, an urban settlement, a lake, a parking area, a block, a city, or any combination thereof. 15 . The apparatus of claim 10 , wherein the processor is further configured to determine a boundary of at least one of the plurality of areas based on area information defined by a user.
16. The device of claim 15, wherein the processor is further configured to receive the area information, the area information comprising geometric objects overlaid on the map. 17 . The apparatus of claim 15 , wherein the processor is further configured to receive the region information, the region information comprising identification information of the at least one region.
18. The device of claim 10, wherein the processor is configured to determine the size and shape of the area indicator further based on: a shape of the area in which the mobile device is located, an accuracy setting, a level of accuracy of the location data, a change in the location over a time span, or any combination thereof.
19. The device of claim 18, wherein the location data comprises received signal strength indication (RSSI) data received by the device from at least one access point (AP), wherein the processor is further configured to determine the level of accuracy of the location data using a minimum number of access points (APs) having an associated RSSI exceeding a threshold.
20. A non-transitory computer-readable storage medium storing computer-executable code for determining a region indicator, wherein the executable code, when executed by one or more processors, causes the one or more processors to: obtaining location data indicating a location of the mobile device; accessing a map based on the location of the mobile device, the map having a plurality of regions, wherein each region is bounded by one or more features of the map; determining where the mobile device is located on the map based on the location data; determining the region indicator indicating a region of the plurality of regions in which the mobile device is located, wherein a size and a shape of the region indicator are determined based on a privacy setting; as well as in response to determining that the accuracy of the location data does not satisfy one or more accuracy criteria, causing the region indicator to be displayed on the device display, wherein the one or more accuracy criteria are satisfied if: when the mobile device receives received signal strength indication (RSSI) data exceeding a threshold from a minimum number of access points; When the horizontal dilution of precision (HDOP) value is less than the threshold; when a maximum change in the position determined for the mobile device within a time span is less than a threshold distance; or When a divergence change between a total movement of the mobile device over a time period determined from the location data and a total movement of the mobile device over the same time period determined by a sensor of the mobile device is less than a threshold distance difference.
21. The non-transitory computer-readable storage medium of claim 20, wherein the executable code is further configured to cause the one or more processors to base the size and shape of the region indicator on a preferred region type included in the confidentiality setting, the accuracy setting, or both.
22. The non-transitory computer-readable storage medium of claim 20, wherein the executable code is further configured to cause the one or more processors to determine a boundary of at least one of the plurality of regions based on region information defined by a user.
23. The non-transitory computer-readable storage medium of claim 20, wherein the executable code is further configured to determine the size and shape of the area indicator further based on: a shape of the area in which the mobile device is located, an accuracy setting, a level of accuracy of the location data, a change in the location over a time span, or any combination thereof.
24. An apparatus for determining a region indicator, comprising: means for obtaining location data indicative of the location of the mobile device; means for accessing a map based on the location of the mobile device, the map having a plurality of regions, wherein each region is bounded by one or more features of the map; means for determining where the mobile device is located on the map based on the location data; means for determining the region indicator indicating a region of the plurality of regions in which the mobile device is located, wherein a size and shape of the region indicator is determined based on a privacy setting; as well as means for causing the region indicator to be displayed on a display in response to determining that the accuracy of the location data does not satisfy one or more accuracy criteria, wherein the one or more accuracy criteria are satisfied if: when the mobile device receives received signal strength indication (RSSI) data exceeding a threshold from a minimum number of access points; When the horizontal dilution of precision (HDOP) value is less than the threshold; when a maximum change in the position determined for the mobile device within a time span is less than a threshold distance; or When a divergence change between a total movement of the mobile device over a time period determined from the location data and a total movement of the mobile device over the same time period determined by a sensor of the mobile device is less than a threshold distance difference.
25. The apparatus of claim 24, further comprising means for basing the size and shape of the region indicator on a preferred region type included in the privacy setting, accuracy setting, or both.
26. The apparatus of claim 24, further comprising means for determining a boundary of at least one of the plurality of areas based on area information defined by a user.
27. The apparatus of claim 26, further comprising means for receiving the area information, wherein the area information comprises geometric objects overlaid on the map.
28. The apparatus of claim 26, further comprising means for receiving the region information, wherein the region information comprises identification information of the at least one region.
29. The apparatus of claim 24, wherein the means for determining the area indicator further comprises means for determining the size and shape of the area indicator further based on: a shape of the area in which the mobile device is located, an accuracy setting, a level of accuracy of the location data, a change in the location over a time span, or any combination thereof.
Citation Information
Patent Citations
Secure and private location sharing for location-aware mobile communication devices
US20080070593A1