可能重复:
HTML5 精确地理定位
我不确定是否应该在这里问这个问题,但问题是:
在 html5 中有一个navigator.geolocation.getCurrentPosition
可以定位你的位置的功能。我在 IE、chrome 和 Firefox 中测试过这个功能。虽然 IE 似乎不太准确,但 Firefox 和 chrome 能够以只有 10 米的误差定位我的位置。考虑到我使用的是笔记本电脑,通过 Wimax 路由器通过无线连接连接到互联网,而且我确定我的笔记本电脑没有任何 GPS 设备,你知道他们是如何找到我的位置的吗?
我确信它不是基于 IP,因为所有使用 IP 的站点给出的结果都与我的实际位置相差甚远。并且它似乎不是浏览器用来询问我的 ISP 的某种协议,因为 IE 给出的结果与其他协议不同。
答案1
Geolocation API 定义了一个高级接口,用于获取仅与托管实现的设备相关的位置信息,例如纬度和经度。API 本身与底层位置信息源无关。位置信息的常见来源包括全球定位系统 (GPS) 和从网络信号推断出的位置,例如 IP 地址、RFID、WiFi 和蓝牙 MAC 地址以及 GSM/CDMA 小区 ID,以及用户输入。不保证 API 会返回设备的实际位置。
http://dev.w3.org/geo/api/spec-source.html
--
此外,@fmark 在 StackOverflow 上的回答有更多关于如何在 Firefox 中实现的详细信息。不同的浏览器和平台的实现有所不同。
Firefox 发送给 Google 的数据是所有可见接入点的数据,无论是公共接入点还是私有接入点。对于检测到的每个接入点,它会将以下数据发送给https://www.google.com/loc/json:
"mac_address": "01-23-45-67-89-ab", "signal_strength": 8, "age": 0, "SSID": "MyAccessPoint"
{. 。 。 }