您的位置:首页 > 其它

地理位置(navigation.geolocation)与本地存储(seessionStorage、localStorage)

2017-09-13 11:07 369 查看
一、地理位置( geolocation ):
navigator.geolocation对象:
1、单次请求:
//navigator.geolocation.getCurrentPosition(
function(res){
//请求成功函数:
(调用方式:res.coords.longitude)
经度:coords.longitude
维度:coords.latitude
精准度:coords.accuracy
海拔:coords.altitude
海拔精准度:coords.altitudeAcuracy
行进方向:coords.heading
地面速度:coords.speed
时间戳:  new Date(position.timestamp);
},
function(err){
//请求失败:
console.log(err.code);
//0: 不包括其他编号中的错误
1:用户拒绝共享位置
2:尝试获取用户信息,失败了
3:设置了timeout值,获取位置超时了
},{
//数据收集方式:
enableHighAcuracy  :  更精确的查找,默认false
timeout  :  获取位置允许最长时间,默认infinity
maximumAge :  位置可以缓存的最大时间,默认0
});

2、多次定位请求:
//watchPosition();  --> 多次定位请求
---  移动设备有用,位置改变时触发
---  配置参数:frequency 更新的频率

//clearWatch();    -->   关闭跟新请求
--navigator.geolocation.clearWatch();

二、本地存储( storage ):
1.cookie:
一个域名400k大小
每次使用都要请求服务器
数据共享
2.storege: ( 存储限制5M )
a、sessionStorage:(临时存储,页面关闭消失,数据不共享)
b、localStorage:(永久存储,可手动删除,数据共享)
c、API:
(1)、setItem();  设置存储
(2)、getItem();  获取存储
(3)、removeItem(); 删除存储
(4)、clear();     清楚所有存储
(5)、storage  //事件:当有数据修改或删除就会触发(修改的窗口不会触发storage事件)
-->storage事件中的ev对象中存储如下数据:
*ev.key: 修改或删除的可key值  如果调用clear()则为null
*ev.newValue: 新设置的值 如果调用removeStorage(),key为null
*ev.olValue: 改变前的值
*ev.storageArea: 当前的storage对象(中存储的所有的值)
*ev.url: 出发该脚本变化的文档
注:session同窗口才可以,例如:iframe操作
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: