一、Geolocation(地理定位)
HTML5 Geolocation API(地理位置应用程序接口)提供了一个可以获得浏览器用户当前地理位置的方法。
该API接口提供的用户地理位置信息包括:纬度、经度、位置的精确度、海拔、海拔的精确度、方向、移动速度、响应的日期/时间。
为获取用户的地理位置信息,需要使用多个资源,不同的资源对位置精确度的贡献是不一样的。对于桌面浏览器,通常使用WiFi(误差20米),或者IP位置(这受城市的档次影响,会出错)。对于手机设备倾向于使用测量学技术,例如GPS(误差10米,只能在户外使用),WiFi或者是GSM/CDMA的站点的ID(误差有1000米)。因此,Geolocation对于拥有 GPS 的设备,比如手机,地理定位更加精确。
然后浏览器把这些信息发送给指定的位置定位服务提供者,也就是谷歌或百度等,由它来计算位置。最后用户的位置信息在请求的网站上被共享出来。
鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。
二、浏览器支持
以下桌面浏览器支持:
Firefox 3.5+
Chrome 5.0+
Safari 5.0+
Opera 10.60+
Internet Explorer 9.0+
以下移动端浏览器支持:
Android 2.0+
iPhone 3.0+
Opera Mobile 10.1+
Symbian (S60 3rd & 5th generation)
Blackberry OS 6
Maemo
三、隐私数据保护
地理位置属于用户的隐私信息之一。因此浏览器不会直接把用户的地理位置信息呈现出来的,当需要获取用户地理位置信息的时候,浏览器会询问用户,是否愿意透露自己的地理位置信息,如下截图所示:
FireFox浏览器
Chrome浏览器
如果你选择不共享,则浏览器不会获取您的位置信息。
如果你一不小心对某个站点共享了地理位置,可以随时将其取消的,方法如下:
对于FireFox浏览器,方法如下: