人生苦短,简单就好之H5-Geolocation

最近重读了一下W3C的HTML5新标准,又悟出了很多新的东西,脑子里不断浮现着各种神奇的前端技术与API,我感觉W3C所制定的每个标准和规则协议其实就像是与我们前端程序员一同作战的兄弟和武器,一遍又一遍的学完HTML5以后,瞬间战斗力爆表,刀刀998的感觉还是挺不错的!因为这是我的第一篇技术博客,可能会写很多东西,但是呢,我还是喜欢有个技术作为开头,而不是简简单单只说些关于人生规划和写作的东西。

其实关于技术和写作,我早有想法,只是在博客上分享我的文章这是第一次,我是一个既传统又守旧的人,主要是特别喜欢在有灵感的时候把文章写在笔记本上。在我的程序开发和学习生涯中,累计写下了大大小小几个本子,有时候觉得自己很傻,毕竟纸上写那么多,却只有自己能看,不能把特别有意思的东西分享给朋友。但不得不说的是用笔写文章的时光真的是非常的美好和快乐,就如同过往的书信来去,虽漫长如夜,却又多了几分的仪式感和真实感。而这种感觉,我个人认为是技术所不能带来的,也是博客所缺失的一部分美好。

但人生苦短,简单就好;

0.说一个网址:html5 geolocation地理定位API官方文档: https://w3c.github.io/geolocation-api/
备注:我认为这里面的2.introduce里的内容是最关键的(全文精华)
The Geolocation API defines a high-level interface to location information associated only with the device hosting the implementation, such as latitude and longitude. The API itself is agnostic of the underlying location information sources. Common sources of location information include Global Positioning System (GPS) and location inferred from network signals such as IP address, RFID, WiFi and Bluetooth MAC addresses, and GSM/CDMA cell IDs, as well as user input. No guarantee is given that the API returns the device’s actual location.
特别是定位的精准度问题和移动端设备问题,注意我画下划线的2个词(说白了是做阅读理解)

1.提到HTML5新功能地理定位geolocation,就必须强调的是两个重要的单词:
*security(安全): the security is the first ! 安全是第一位的,毕竟涉及到个人位置信息吧,这种信息一般看重安全性!
*.privacy(隐私):the privacy is the most important ! 隐私是最重要的,个人的位置信息用户是有权拒绝共享地址,说白了你倒腾半天的geolocation API代码,可能用户直接给
你拒绝了,你也不能说什么,这大家都懂,没有人愿意被别人随时监控位置吧,你开个房别人都能查到你的位置那不是很尴尬(参考美国的棱镜事件 full spectre)

2.哪些浏览器支持呢? IE9+,chrome,opera,safari,firefox(最新版)
3.对于原文档introduce的注解:(说白了是做阅读理解)
1.actual position:实际定位,说白了最准的只有GPS,北斗和俄罗斯的格洛纳斯(GLONASS),这三个最精确,也就是导航准度,其他的都扯淡。
2.inferred from:推算定位,说白了就是什么(IP address, RFID, WiFi and Bluetooth MAC addresses, and GSM/CDMA cell IDs)这堆东西,常见的PC端地理定位,为什么不准呢,因为
大部分PC不像手机和平板那样装了专用的定位装备,比如什么陀螺仪,水平仪,气压计这些,所以大部分只能靠IP或其他地址推算,这当然不是很准,(比如我有次在四川的网吧登陆QQ,它
给我弹个警告框,说我在北京登陆,所以有时候这个都不是准不准的问题了,纯粹是偏差有点大了!)
4.要背的单词表:(一大堆属性)
coords===coordinates坐标系的意思
coords.longitude 经纬度的经度(考点:十进制)
coords.latitude 经纬度的纬度(十进制)
coords.altitude 海拔高度(单位:m)
coords.accuracy 精度
coords.altitudeAccuracy 海拔精度
coords.speed 速度(单位:m/s)
coords.heading 方向(指南针,从正北开始)
timestamp 相应的日期时间
5.三个方法:
1.getCurrentPosition();(驼峰法)重点:只得到一次位置,这个位置就是初始位置,current指当前的,原地打转。
2.watchPosition();重点:连续监控你的位置,watch嘛,监控的意思,这也是导航必须的(三大导航)。
3.clearWatch(); 重点:clear在哪里都是清0的意思,就是停止监控。
6.三个错误:
1.permission denied - 用户不允许定位:说白了,就是我们手机上一个APP刚安装好第一次启动都会问你是否同意它获取你的位置,如果你拒绝了它,就会报这个错误!
2.position unavailable - 无法获取当前位置:说白了,我点了同意获取位置,但有其他意外情况导致位置找不到,比如你在山区信号极差,你手机定位硬件坏了等等…
3.timeout -操作超时:说白了,这个就是网络延迟的问题,你的网络太差,其他都是好的,就是网不好。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值