简洁版本:
我住在爱荷华州。我的 WiFi 版 Android 平板电脑上的 AccuWeather.com 天气应用、Google 地图和笔记本电脑上的 Chrome都显示我位于俄克拉荷马城。为什么?
评论:
据我所知,仅在 WiFI 上,Google 的位置服务会使用您的 IP 地址的粗略位置来估计您的位置。过去它一直都是这样工作的,当您查看 Google 地图时,您通常会看到您的位置是您的 ISP 服务器场所在的位置。
今年夏天,我在俄克拉荷马城生活和工作,在那里我从一家旧货店以 3 美元的价格购买了一台旧的 Linksys WRT56G。我立即在上面安装了 DD-WRT 等。我把它安装在我住的地方,用了几个星期。当时我没有平板电脑,但我有笔记本电脑。
现在,很多事情在很短的时间内发生,但顺序如下:
- 我回到家后一直在使用笔记本电脑和与 Google 帐户关联的 Chrome。
- 我买了一部新的 Android 手机,安装了第三方软件,并将其与我的 Google 帐户关联。
- 我购买并设置了我的平板电脑并将其与我的 Google 帐户关联。
- 我的家用路由器坏了,我用在俄克拉荷马城购买的路由器替换了它。
我不太确定,但有一次我觉得我的笔记本电脑给了我俄克拉荷马城的搜索结果。我笔记本电脑上的谷歌地图目前告诉我我在爱荷华州,但没有比这更详细的了。我的平板电脑认为我在俄克拉荷马城,自从我设置它以来。我的手机始终能给我正确的[精确]位置。
根据事实,我认为有两种可能性:
Google 存储最后已知犯罪地点您的帐户已将我的平板电脑与 Google 帐户关联,而我的平板电脑已获取该帐户。平板电脑尚未同步任何新的细粒度位置。由于细粒度位置优先于粗粒度位置(WiFi 只能提供粗粒度位置),因此平板电脑使用的是旧的细粒度位置数据(粗粒度和细粒度是 Android 系统位置服务的特征)。平板电脑不太可能在大约一周后不同步新的细粒度位置,我认为我的新手机会更新该信息,并且它确实将上次同步日期显示为今天(晚于我最初的平板电脑设置)。我的平板电脑也将上次同步时间显示为今天。唯一剩下的解释是我的手机售后固件的位置同步功能(如果有的话)尚未运行。这可能是合理的,因为我使用的是 CM10 的非官方夜间版本。但是,这似乎不太可能。
Google 有一个机器人会默默地 ping 其能找到的每个公共 IP 地址,并记录/关联存在的 MAC 地址与 IP 地址。如果没有更详细的信息,定位服务会首先尝试通过 MAC 地址和 IP 等来定位您。这不是一项简单的任务,关联图最多可能每两周更新一次。这是合理的,因为某种大规模的 IP 地址 <--> MAC 地址映射正是 Google 能想出的奇怪但半有用的东西,而且他们肯定有资源这样做。此外,这与以下事实相符:在我设置平板电脑之前和之后,唯一似乎不变的是来自俄克拉荷马州的 Linksys 路由器。但是,我相信我的平板电脑从一开始就认为它在俄克拉荷马州,在我安装俄克拉荷马州本地路由器之前。我也觉得这个选项不太可能。
所以,我很困惑。这两种可能性似乎都有可能,但可能性很小。有谁知道 Google 的位置服务是如何工作的,或者能解释一下为什么我的平板电脑会出现这种奇怪的现象吗?
答案1
Google 和 Apple 都使用 Skyhook 的 Wifi 定位服务,该服务使用特殊路由器在附近时获取您的 Wifi 路由器 ID,并将其与卫星位置进行匹配。这些位置数据将保存几个月,然后他们会出去重新收集并重新分析他们能够通过放大的无线天线到达的每个无线路由器的位置数据。
来自 Skyhook 的常见问题解答:
什么是“定位技术”?
位置确定技术是一种利用参考点的已知位置和卫星信号来确定移动设备位置的系统。Skyhook 使用 Wi-Fi 路由器和蜂窝基站 (Cell ID) 作为参考点,每个基站都会广播包含唯一标识符的信号。当设备处于这些参考点的范围内时,Skyhook 的系统会将信号数据和唯一标识符与其数据库中的数据进行匹配,并结合 GPS 卫星信号来确定用户的位置。