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

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

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

我刚刚测试过HTML5 地理位置使用 Firefox 3.5+,它成功找到了我的房子,确切地说是我的地址。我一直在阅读有关它的工作原理的文章,但找不到任何详细信息,它说它会收集有关本地接入点的信息,然后将这些信息转发给 Google。

我通过有线 PC 测试了这一点,结果发现差距很大。所以它肯定使用了无线。我查看了另一项名为 Skyhook 的服务,它的工作原理类似,其“工作原理”页面显示,他们有一个存储了数千个无线点的数据库,因此当您连接时,它只会查找您周围的无线点。

这听起来像是谷歌街景车的完美副业,尽管我读过的所有文章都无法证明谷歌是否使用了相同的技术。

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

答案1

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

嗯,这就是它运作的方式之一,根据他们的博客

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

W3C 地理定位 API,然而提到

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

答案2

相关内容