HTML5的GeoLocation到底如何工作?


81

我知道浏览器会共享我的IP地址和附近无线网络的详细信息来确定我的位置,但是它知道关于附近wifi网络的哪些信息?

例如,我所住的地方没有公共无线网络,从我的家中可以看到大约5个专用网络,但我的位置确定在20米以内。由于附近没有开放的网络,Google如何确定我的位置?我能想到的唯一方法是,当Google为街景视图绘制街道时,它们会绘制所有无线网络的位置。

我已经在网上搜索了有关信息,但我找不到任何特定的详细信息。


Answers:


69

Firefox发送给Google的数据适用于所有可见的访问点(公共或私有)。对于检测到的每个接入点,它将以下数据发送到https://www.google.com/loc/json

  "mac_address": "01-23-45-67-89-ab",
  "signal_strength": 8,
  "age": 0,
  "SSID": "MyAccessPoint"

哪里

  • mac_address 是WiFi节点的mac地址。
  • signal_strength 是当前信号强度,以dBm为单位。
  • age 是自检测到WiFi节点以来的毫秒数。
  • SSID是WiFi节点的名称或ESSID

当Google开车为StreetView拍照时收集了用于对请求进行地理编码的地理WiFi数据。

需要特别注意的是,这就是使用Google的Geolocation Services在Firefox上嵌入HTML5地理位置API的方式。 这是一个实现,而不是一个规范。 如果您的设备具有内置GPS,则可能希望HTML5实现直接查询GPS,而不是使用地理位置服务。

甚至firefox在Windows和Linux上也以不同的方式实现此功能。使用Windows上的当前Firefox,所有可见的WiFi节点的详细信息都会发送到Google。在Linux上使用当前的Firefox,由于依赖于libiw访问点数据,因此仅发送当前连接的WiFi节点的详细信息。

正如另一个回答者所指出的,Safari使用Skyhook Wireless的服务,该服务的功能与Google的位置服务大致相同。


6

数据是由Skyhook Wireless(Wikipedia)收集的,它们在公共和私人wifi点之间没有区别-它们记录了所有这些点的位置。如果Google Street View货车也记录了访问点的位置数据,我不会感到惊讶。


3
Google街车确实记录wifi数据-目前正在欧洲和亚太地区的一些国家/地区对该行为进行调查,因为这有可能违反隐私法。
slugster 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.