您的位置:首页 > Web前端 > HTML5

【HTML5入门】位置信息Geoloacation

2012-01-29 17:48 351 查看
原文http://www.bujiaban.net/wordpress/?p=165


Geolocation代码DEMO

位置信息Geoloacation
一什么是位置信息?
经度与纬度最重要,其他元信息包括速度,方向,海拔
二如何获取?
IP地址,GPS,Wi-Fi,手机地理位置数据
三哪些浏览器支持?
api嗅探就可以了
if(navigator.geolocation)
四隐私问题?
应用向浏览器请求获取位置信息,浏览器向用户请求授权,
浏览器得到授权后才会执行后面流程(从宿主设备获取坐标信息
再通过外部定位服务器拿到详细位置信息),再返回数据给应用。
五应该告诉用户
1.应用需要获取位置信息
2.为什么需要获取
3.应用如何使用位置信息
4.应用如果管理位置信息
5.用户如何更新位置信息
6.用户如何取消授权

如何使用API
一单次请求
getCurrentLocation(cb_success,cb_fail,options)
A.cb_success:成功返回后的回调函数
返回的数据结构可能如右图结构:


其中address是浏览器可选的。
coords是坐标信息:
比较重要的有以下几个
1.latitude十进制格式的纬度
2.longitude十进制格式的经度
3.accuracy以m为单位的可能偏差距离
4.altitude:以m为单位的海拔高度
5.speed以m/s为单位的地面移动速度
6.heading相对正北的移动方向

B. cb_fail:获取失败返回的回调函数
返回数据含有错误码字段code,其中
code=0,表示请求过程出错,详细可取message字段
code=1表示用户拒绝授权
code=2表示获取失败


code=3表示设置了timeout选项且超时了
注意message字段不是在每个错误返回都有设置的
options:接口选项

C.传入的options是JSON结构.
可选enableHighAccuracy,timeout,maximumAge
enableHightAccuracy:是否高精确度
timeout:单位为ms的最大执行时间,超过了就调用cb_fail
maximunAge:重新计算位置的时间间隔,如0,表示每次都重新发起计算。

二重复请求(用户位置变更自动更新)
A. watchPasition(cb_success,cb_fail,options)
参数含义与上面的getCurrentLocation一样
调用的返回值表示watchID表示监视ID,方便后面的清除监视
B. clearWatch(watchID)
清除监视















                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: