【HTML5入门】位置信息Geoloacation
原文 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) 清除监视