浏览器地理位置API验证顺序

时间:2016-07-31 11:59:10

标签: javascript html5 browser geolocation

用于检测地理定位浏览器API使用的访问者位置的方法的顺序是什么?

在W3C地理定位信息网站上,它表示它使用了IP,Wi-Fi,手机和GPS的组合,但它并没有说它用来执行此操作的顺序。

根据我的理解,它使用GPS(如果可用),然后使用其他3种方法中的一种,但目前尚不清楚接下来会采用哪种方法。

我需要这个项目,我必须在不使用他的IP的情况下确定用户位置。

2 个答案:

答案 0 :(得分:1)

API无法获得用户的位置;它从浏览器请求它(我相信,从操作系统获取它 - 但如果我错了,请纠正我)。确切的方法取决于可用的硬件,并且无法通过API访问原始数据。来自this Google Developers页面:

  

API与设备无关;它并不关心浏览器的确定方式   位置,只要客户可以请求和接收位置数据   一种标准的方式。底层机制可能是通过GPS,wifi或   只需要求用户手动输入他们的位置。

答案 1 :(得分:0)

这取决于您的浏览器政策,例如:关于Mozilla:

  

如果您允许网站通过此服务获取您的位置,我们会   根据设备的功能收集信息   关于最靠近你的wifi路由器,单元塔的单元ID   最接近你的,以及你的wifi或手机信号的强度。我们用   此信息可将估计的位置返回给Firefox   浏览器和Firefox浏览器将估计的位置发送给   请求网站。对于发送给我们服务的每个请求,我们也是   收集IP地址,用户代理信息和唯一标识符   你的客户。我们使用此信息来区分请求,而不是   认同你。

Google Location Service in Mozilla Firefox Privacy Policy

基本用法:

if ("geolocation" in navigator) {
  navigator.geolocation.getCurrentPosition(function(position) {
  do_something(position.coords.latitude, position.coords.longitude);
});
} else {
  /* geolocation IS NOT available */
}