HTML5学习笔记(四)-Geolocation API
一、位置信息
1、数据
位置信息由经度、纬度坐标和一些其他元数据组成。
纬度:距离赤道以北或以南的数值。比如:39.17222
经度:距离英国格林威治以东或以西的数值。比如:-120.13778
经纬度可以以十进制表示,也可以以DMS(角度)格式表示。
HTML5 Geolocation API的坐标格式是十进制格式。
除经纬度外,HTML5 Geolocation还提供坐标的准确度。依据浏览器所在的硬件设备,还可能提供一些元数据,包括海拔、海拔准确度、行驶方向和速度等。如果这些元数据不存在则返回null。
2、位置信息从何而来
API并不能保证设备返回的是惠及位置是精确的。
设备可以使用下列数据源
- IP地址
- 三维坐标
- GPS(Global Positioning System,全球定位系统);
- 从RFID、Wi-Fi和蓝牙到Wi-Fi的MAC地址;
- GSM或CDMA手机的ID
- 用户自定义数据
IP地址定位数据的优缺点
优点 | 缺点 |
任何地方都可用 | 不精确(经常出错,一般精确到城市级) |
在服务器端处理 | 运算代价大 |
GPS定位数据的优缺点
优点 | 缺点 |
很精确 | 定位时间长,用户耗电量大 |
室内效果不好 | |
需要额外硬件设备 |
Wi-Fi定位数据优缺点
优点 | 缺点 |
精确 | 在乡村这些无线接入点较少的地区效果不好 |
可在室内使用 | |
可以简单、快捷定位 |
手机地理数据优缺点
优点 | 缺点 |
相当准确 | 需要能够访问手机或其moden的设备 |
可在室内使用 | 在基站较少的片源地区效果不好 |
可以简单、快捷定位 |
用户自定义的地理定位数据
优点 | 缺点 |
用户可以获得比程序定位服务更准确的位置数据 | 可能很不准确,特别是当用户位置变更后 |
允许地理定位服务的结果作为备用位置信息 | |
用户自行输入可能比自动检测更快 |
用户所在位置属于敏感信息,HTML5 Geolocation规范提供了一套保护用户隐私的机制。除非得到 用户明确许可,否则不可获取位置信息。
二、使用Geolocation API
1、浏览器支持检查
目前主流浏览器都支持Geolocation API。要查看某个版本是否支持可参考http://caniuse.com
用脚本检查支持性:
function loadDemo() { if (navigator.geolocation) { document.getElementById("support").innerHTML = "Geolocation supported."; } else { docment.getElementById("support").innerHTML = "Geolocation is not supported in your browser."; } }
2、位置请求
有两种类型的位置要求
- 单次定期诶请求
- 重复性的位置更新请求
void getCurrentPosition(in PositionCallback successCallback, in optional PositionErrorCallback errorCallback, in optional PositionOptions options);分析一下这个核心函数。
相关推荐
表格的现在还是较为常用的一种标签,但不是用来布局,常见处理、显示表格式数据。在HTML网页中,要想创建表格,就需要使用表格相关的标签。<table> <tr> <td>单元格内的文字</td> ...
gufudhn 2020-08-09
swiftwwj 2020-07-21
momode 2020-09-11
思君夜未眠 2020-09-04
行吟阁 2020-08-09
云中舞步 2020-11-12
杨德龙 2020-11-11
JohnYork 2020-10-16
wangzhaotongalex 2020-09-22
xiaoseyihe 2020-11-16
不要皱眉 2020-10-14
Crazyshark 2020-11-13
K先生 2020-11-10
点滴技术生活 2020-08-21
MaggieRose 2020-08-19
kevinweijc 2020-08-18
wintershii 2020-08-17
vapaad 2020-08-17
wera00 2020-08-17