Dan*_*Dan 81 html5 google-maps geocoding geolocation
我知道浏览器共享我的IP地址和附近无线网络的详细信息以确定我的位置,但它知道附近的无线网络有哪些信息?
例如,我居住的地方没有公共无线网络,从我家我可以看到大约5个私人网络,但我的位置确定在20米内.由于附近没有开放式网络,Google如何确定我的位置?我能想到的唯一方法是,Google在为街景视图绘制街道时映射了所有无线网络的位置.
我在网上搜索过,但是我找不到任何具体的细节.
fma*_*ark 68
Firefox发送给Google的数据适用于所有可见的公共或私人接入点.对于检测到的每个接入点,它将以下数据发送到https://www.google.com/loc/json:
"mac_address": "01-23-45-67-89-ab",
"signal_strength": 8,
"age": 0,
"SSID": "MyAccessPoint"
Run Code Online (Sandbox Code Playgroud)
哪里
mac_address 是WiFi节点的mac地址.signal_strength 是以dBm为单位测量的电流信号强度.age 是自检测到WiFi节点以来的毫秒数.SSID是WiFi节点的名称或ESSID.用于对您的请求进行地理编码的地理配准WiFi数据是在Google开车为StreetView拍照时收集的.
然而,值得注意的是,这就是使用Google的地理定位服务在Firefox上实现HTML5地理定位API的方式. 这是一个实现,而不是规范. 如果您的设备具有内置GPS,则可能需要您的HTML5实施直接查询GPS,而不是使用地理定位服务.
甚至firefox也在Windows和Linux上以不同的方式实现此功能.在Windows上使用当前的Firefox,所有可见WiFi节点的详细信息都将发送给Google.在Linux上使用当前的Firefox,由于依赖于libiw接入点数据,仅发送当前连接的WiFi节点的详细信息.
正如另一位回答者所说,Safari使用的是Skyhook Wireless的服务,其功能与Google的位置服务大致相同.
数据由Skyhook Wireless(维基百科)收集,他们不区分公共和私人wifi点 - 他们记录所有这些点的位置.如果Google街景货车还记录了接入点的位置数据,我不会感到惊讶.