现在,Google 地图可以在 Firefox 的帮助下以街道精度精确定位我的位置。
我知道这是 HTML 5 兼容浏览器的一项新功能,并且该位置是通过使用连接的 WiFi 网络的某种功能来获取的(我希望我没有做出任何愚蠢的假设)。
我想知道的是整个过程到底是如何运作的:
- 为什么只在 HTML 5 中?
- Firefox 为什么/如何要求我与 Google 地图共享我的位置?
- 可以信赖的正常精度是多少?
- 如何在我的网站中实现此功能?
提前致谢!
它是如何工作的?
当您在 Firefox 中访问位置感知网站时,浏览器会询问您是否要共享您的位置。
如果您同意,Firefox 会收集有关附近无线接入点和您计算机的 IP 地址的信息,并通过将此信息发送至谷歌定位服务 http://googlecode.blogspot.com/2009/04/google-location-services-now-in-mozilla.html(Firefox 中的默认地理定位服务)。然后,该位置估计会与请求网站共享。 (Source http://www.mozilla.com/en-US/firefox/geolocation/)
位置的准确度如何?
不同地点的准确度差异很大。在某些地方,地理定位服务提供商可能能够提供几米以内的位置。然而,在其他领域,情况可能远不止于此。所有位置均应视为估计值,因为无法保证所提供位置的准确性。 (Source http://www.mozilla.com/en-US/firefox/geolocation/)
就我而言,Firefox 报告我距离真实位置大约 10 公里。
如何在我的网站中使用此功能?
你会做这样的事情:
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
alert(position.coords.latitude + ", " + position.coords.longitude);
// Use the latitude and location as you wish. You may set a marker
// on Google Maps, for example.
});
}
else {
alert("Geolocation services are not supported by your browser.");
}
您可以在此处查看在线演示:Firefox HTML 5 地理定位演示 http://maxheapsize.com/static/html5geolocationdemo.html(需要支持地理位置的浏览器,例如 Firefox 3.1b3。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)