在HTML5中,geolocation作为navigator的一个属性出现。
window.navigator.geolocation对象存在3个方法:
1. getCurrentPosition 获取当前地理位置
2. watchPosition 监视位置信息
3. clearWatch 停止获取位置信息
温馨提示:教程视频,请点此链接:https://v.qq.com/iframe/player.html?vid=n01688caa6q&width=670&height=502.5&auto=0
getCurrentPosition(successCallback, onError, options)方法接受1个、2个或者3个参数:
第1个参数为获取当前地理位置信息成功时所执行的回调函数,
第2个参数为获取当前地理位置信息失败时所执行的回调函数,
第3个参数为一些可选属性的列表。
其中,第2、3个参数为可选参数。
可能是因为GOOGLE被墙的原因吧,在chrome和firefox无法 获取当前地理位置信息 成功时所执行的回调函数
//在IE则可以,我是ie9+
//但在chrome和firefox中,可以获取失败参数的返回信息。
我觉得getCurrentPosition的大概思路应该是这样:
//W3C对geolocation的定义中提到了,geolocation的位置信息来源包括GPS、IP地址、RFID、WIFI和蓝牙的MAC地址、以及GSM/CDMS的ID等等。
//在HTML5的实现中,手机等移动设备当然优先使用GPS定位,而笔记本和部分平板就是WIFI,网线上网的台式机,就只能使用IP了
//而WIFI和IP地址定位,这两种方式都必须将IP地址或WIFI信息,上传到某个服务器查询位置信息,然后返回给浏览器。
//那么这些查询服务由谁来提供呢?
chrome和firefox都是使用的google的服务,就是map.googleapis.com的相关接口,所以杯具了,
而IE应该是使用的必应的,所以可以有地址位置的返回值。
国内的什么QQ啊,百度之类的应该也是访问自己的位置服务器,大体套路应该都差不多