谷歌如何计算我在桌面上的位置?

这让我很困惑,我不知道你们是否注意到或使用了谷歌地图上的“我的位置”功能,使用你们的桌面(或没有 GPS/没有移动设备)。如果你有一个带有谷歌设备的浏览器(最容易使用的是谷歌浏览器) ,那么在谷歌地图的缩放功能上方就会有一个蓝色的圆圈,当你使用标准的 Wi-Fi 连接到我的个人路由器和一个正常的互联网连接到我的 ISP 时,它会以某种方式设法以100% 的准确度(此时此刻)精确定位我的确切位置。

它是怎么做到的?他们简短地提到它 给你,但它没有完全解释它,它说,我的浏览器知道我在哪里..。

我很困惑,为什么?

我很感兴趣,因为我希望在未来的编程项目中集成它,就像一些背景知识一样,而且目前似乎没有很好的文档记录。

134498 次浏览

我知道你可以通过查找 IP 地址来获得大致的位置,但这并不总是准确的。也许他们在利用这一点?

更新:

通常,您的浏览器使用 information about the Wi-Fi access points around you to estimate your 如果没有无线网络接入点 在范围内,或者你的电脑不在范围内 如无线上网,可能需要使用 你的计算机的 IP 地址,以获得一个 大概位置。

他们结合使用 IP 地理定位,并将附近无线网络的扫描结果与他们这边的数据库进行比较(数据库是通过在 Android 手机用户使用 GPS 时收集 GPS 坐标和 wifi 扫描数据建立的)

我现在在东京,以前在瑞士。然而,我的位置直到几天前还没有确定,除了在广阔的东京地区。今天我试过了,我现在好像在瑞士。怎么做到的?

Well the secret is that I am now connected through wireless, and my wireless router has been identified (thanks to association to other wifis around me at that time) in a very accurate area in Switzerland. Now, my wifi moved to Tokyo, but the queried system still thinks the wifi router is in Switzerland, because either it has no information about the additional wifis surrounding me right now, or it cannot sort out the conflicting info (namely, the specific info about my wifi router against my ip geolocation, which pinpoints me in the far east).

所以,为了回答你的问题,谷歌,或者他的某人,进行了“战争驾驶”,绘制了无线网络的存在。每次对系统执行查询(可能与 地理定位 API 的 W3C 草案一致) ,计算机都会发送它看到的 wifi 标识符,系统会做两件事:

  1. 查询它的数据库,如果地理位置存在的一些 wifis,并返回“ Wardrived”的位置,如果找到,最终与三角形,如果强度存在。无线网络越多,定位的准确度就越高。
  2. 将当前不在数据库中的其他网络添加到其数据库中,以便以后可以重用它们。

如您所见,系统是自行构建的。你唯一需要的就是好的种子。在此之后,它以“50米块”(一个新发现的 wifi 连接的范围)扩展。

当然,如果你真的想让系统运行良好,你可以开始在全球范围内与非全球定位运动的革命者们交换无线路由器。

我终于想明白了。最大的问题是他们如何设法弄清楚我周围的无线网络,以及他们如何知道这些网络在哪里。

它“似乎”与此类似:

  1. Skyhookwireless.com (或类似的)公司已经绘制了许多无线接入点的位置图,我假设通过类似的方法,Google街景四处走动,获取了所有的照片。
  2. 使用谷歌齿轮和我的浏览器,我们可以报告哪些无线网络我看到和我周围
  3. 把这些无线点和他们的地理位置对比三角定位我的位置。

参考资料: Slashdot

It is possible get your approximate locate based on your IP address (wireless or fixed).

参见例如 Hostip.infoMaxmind,它们基本上提供了从 IP 地址到经纬度的映射。可能使用多种启发式和数据源。在大多数情况下,这种系统可能有足够的准确性,把你放在正确的主要城市。

谷歌除了使用 WiFi 技巧外,可能还使用了一些类似的方法。

拒绝 WiFi 网络的想法!

抱歉,各位,我没看到。在你周围使用 WiFi 网络似乎是一种非常不准确和无效的收集数据的方法。如今的 WiFi 网络不会在一个地方停留太久。

想想看,WiFi 网络每天都在变化。更不用说 MiFi 和 Adhoc 网络,它们被“设计”成移动的,可以和用户一起旅行。设备故障、网络设置改变、人员移动... ... 在你所在的地区依赖“ WiFi 网络”似乎非常不准确,最终甚至可能无法提供比 IP 查找更大的粒度改进。

我认为,iPhone 用户正在“扫描并发送”WiFi 调查数据回谷歌的想法,以及可能与谷歌地图“街景”地图相结合的军事行动,似乎是收集这些数据的一种非常可能的方法,然而,在实际操作中,它并不作为一种商业模式。

哦,顺便说一下,我忘记在我的前一篇文章中提到... 当我最初拉我的位置时,我被“精确地”定位在地图上,我正在连接到一个路由器从我的桌面上通过以太网连接。我桌面上没有无线网卡。

所以如果“附近的 WiFi 网络”理论是真的... 那么我就不应该能够如此精确地定位我的位置。

我会打电话给我的互联网服务提供商 SKyrim,询问他们是否共享他们的网络拓扑,以便在他们的网络上实现地理定位。

事情比你想的简单多了。你已经用同一个 Google 账户在你的桌面上登录了你的手机和 Chrome 浏览器。谷歌只是希望你大部分时间都带着手机。它们从您的手机获取位置数据,并假设您当前桌面会话的位置是相同的。

我证明了这一点,通过 RDPing 进入我的 Windows 机器在家工作,并检查谷歌地图远程。它显示了我在工作中的位置,和 Chrome 在 Linux 上的位置一样。

如果你的手机没有登录到 Google,那么他们所能做的就是查找由 ISP 分配的 IP 地址的 GeoIP 数据。它通常是非常不准确的。

根据谷歌地图自己的帮助:
If your browser cannot show images, get a new one!

  • 因此,谷歌通过使用任何手机来保存 Wifi 路由器位置的记录 GPS that connected to that router when you use Google maps or - 手机上的位置-那谷歌就知道所有连接的设备 无线路由器使用相同的位置。
  • 当 GPS 关闭或没有手机连接到路由器时,谷歌使用 IP 地址 geolocation