問題描述
我知道瀏覽器會共享我的 IP 地址和附近無線網絡的詳細信息以確定我的位置,但它知道哪些關于附近 wifi 網絡的信息?
I know the browser shares my IP address and details of nearby wireless networks to determine my location, but what sort of info does it know about nearby wifi networks?
例如,我住的地方沒有公共無線網絡,從我家我可以看到大約 5 個專用網絡,但我的位置被確定在 20 米之內.由于附近沒有開放網絡,Google 如何確定我的位置?我能想到的唯一方法是,Google 在為街景地圖繪制街道時,會繪制所有無線網絡的位置.
For example, where I live are no public wireless networks, and from my home I can see about 5 private networks, yet my location is determined within 20 meters. With there being no open networks nearby, how does Google determine my location? The only way I can think of is that Google mapped the locations of all wireless networks when they mapped streets for Street View.
我在網上搜索過,但都找不到任何具體的細節.
I've searched about online, but all I can't find any specific details.
推薦答案
Firefox 發送給 Google 的數據適用于所有可見的訪問點,無論是公共的還是私有的.對于檢測到的每個接入點,它會將以下數據發送到 https://www.google.com/loc/json
:
The data sent by Firefox to Google is for all visible access points, public or private. For each access point detected, it sends the following data to 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
是名稱或 ESSID.
用于對您的請求進行地理編碼的地理參考 WiFi 數據是 谷歌開車時為街景拍照時收集的.
The georeferenced WiFi data used to geocode your request was collected when Google was driving around taking pictures for StreetView.
需要注意的是,這就是 HTML5 地理定位 API 在 Firefox 上使用 Google 的地理定位服務實現的方式.這是一種實現,而不是規范.如果您的設備具有內置 GPS,則可能希望您的 HTML5 實現直接查詢 GPS,而不是使用地理定位服務.
It is important to note that, however, that this is how the HTML5 geolocation API is implmeneted on Firefox using Google's Geolocation Services. This is an implementation, not a specification. If your device has a built-in GPS, it is probably desirable that your HTML5 implementation queries the GPS directly, rather than using a geolocation service.
即使是 firefox 在 Windows 和 Linux 上實現此功能的方式也不同.在 Windows 上使用當前的 Firefox,所有可見 WiFi 節點的詳細信息都將發送給 Google.由于 在 Linux 上使用當前的 Firefox,僅發送當前連接的 WiFi 節點的詳細信息依賴 libiw
獲取訪問點數據.
Even firefox implements this feature differently on Windows and Linux. Using a current Firefox on Windows, details of all visible WiFi nodes are sent to Google. Using a current Firefox on Linux, only details of the currently connected WiFi node is sent, due to the reliance on libiw
for access point data.
正如另一位回答者指出的那樣,Safari 使用 Skyhook Wireless 的服務,其功能與 Google 的 Location 大致相同服務.
As another answerer noted, Safari uses Skyhook Wireless's service which does much the same thing as Google's Location Services.
這篇關于HTML5 的 GeoLocation 究竟是如何工作的?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!