HTML5 中的精确地理位置是如何工作的?

Dav*_*ave 6 firefox wireless-networking geolocation html5

这是一个很长的问题,如果你不关心背景信息,你可以直接跳到最后一句话。

我刚刚使用 Firefox 3.5+测试了HTML5 地理定位,它设法找到了我的房子,实际上是我的确切地址。我一直在阅读它的工作原理,但找不到任何详细信息,它说它收集有关本地接入点的信息,然后将此信息转发给 Google。

我通过在我的有线 PC 上测试它来检查它,它甚至不接近。所以它肯定使用无线。我查看了另一项名为 Skyhook 的服务,其工作方式类似,他们的“工作原理”页面说他们有一个数据库,其中存储了数千个无线点,因此当您连接时,它只需查找您周围的无线点。

对于谷歌街景货车来说,这听起来像是一个完美的次要工作,尽管我读过的任何地方我都无法弄清楚谷歌是否使用了相同的技术。

我想知道谷歌的地理定位是如何工作的,他们是否还存储了一个巨大的无线接入点数据库,或者是否有其他方法可以做到这一点。

Sat*_*hat 6

他们是否还存储了庞大的无线 AP 点数据库,

好吧,根据他们的博客,这是一种工作方式:

Google 地图会向您的网络浏览器询问您的位置。通常,您的浏览器使用有关您周围 Wi-Fi 接入点的信息来估计您的位置。如果范围内没有 Wi-Fi 接入点,或者您的计算机没有 Wi-Fi,它可能会使用您计算机的 IP 地址来获取大概位置。正如您所料,“我的位置”的准确性因您所在的位置而异,在某些情况下,Google 地图可能根本无法提供位置。

W3C 地理定位 API,但是提到

Geolocation API 为仅与承载实现的设备相关联的位置信息(例如纬度和经度)定义了一个高级接口。API 本身与底层位置信息源无关。位置信息的常见来源包括全球定位系统 (GPS) 和从网络信号(如 IP 地址、RFID、WiFi 和蓝牙 MAC 地址、GSM/CDMA 小区 ID)以及用户输入推断出的位置。不保证 API 会返回设备的实际位置。