作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想知道 Google 是如何做到这一点的。
当我的 GPS 被禁用时,可以很准确地找到我。
起初我以为 Google 从手机信号塔获取信息,后来我才知道 Google 并没有使用我的手机信号塔和 GPS 来显示我的准确位置。
有人知道它是如何工作的吗?
最佳答案
Google 和 Apple 和 Skyhook 等其他公司构建了一个数据库,链接 WLAN BSSID到一个地理位置。 BSSID 就像接入点广播的接入点的 MAC 地址。因此,如果启用 BSSID 广播,它是“公众可见的”,这是大多数接入点的默认设置。 BSSID 作为 IP 堆栈在较低层运行,您甚至不必连接到接入点即可接收这些广播。
每次您在启用 GPS 和 WiFi 的情况下运行 Google map 或导航时,如果您的设备能够获得良好的 GPS 定位,当前可见的 WLAN 网络和您的当前位置(GPS 定位)都会上传到 Google 以构建和更新数据库。这种技术有时称为众包。因此,每个 Android 设备都充当数据收集器。您可以阅读更多相关信息 here .
由于大多数接入点在其位置上是静态的并且仅覆盖一小块区域 - 覆盖半径约为 100 米 - 它们是在没有 GPS 的情况下进行良好定位的理想 anchor 。
另一种定位计算机的方法是在 geolocation databases 中查找它的 IP 地址。 .但是,这在 Android 中没有使用,因为移动设备没有固定位置。
关于android - 谷歌如何在没有 GPS 的情况下估计我的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28600387/
我是一名优秀的程序员,十分优秀!