`
bsr1983
  • 浏览: 1101138 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

第四章 Geolocation API

 
阅读更多

 

4.1 位置信息

HTML5 Geolocation API的使用方法相当简单,请求一个位置信息,如果用户同意,浏览器就会返回位置信息,该位置信息是通过支持HTML5地理定位功能的底层设备提供给浏览器的。位置信息由纬度、经度坐标和一些其他元数据组成。

4.1.1 纬度和经度坐标

经纬度可以用以下两种方式表示:

十进制格式

DMSDegree Minute Second,角度)格式

提示 HTML5 Geolocation API返回坐标的格式为十进制格式

4.2 HTML5 Geolocaltion的浏览器支持情况

4.3 隐私

HTML5 Geolocation API规范提供了一套保护用户隐私的机制。除非得到用户的明确许可,否则不可获取位置信息。

4.4 使用HTML5 Geolocation API

目前有两种类型的位置要求:

单次定位请求

重复性的位置更新请求

1.单次定位请求

void getCurrentPoistion(in PositionCallback successCallback,

in optional PositionErrorCallback errorCallback,

in optional PositionOptions options)

successCallback:为浏览器指明位置数据可用时应调用的函数。successCallback是收到实际位置信息并进行处理的地方。

errorCallback:提供一个用于跟用户解释或者提示其重试的errorCallback函数。

options:该对象可以调整HTML5 Geolocation服务的数据收集方式。

位置对象中包含的特性:

latitude(纬度):十进制用户位置

longitude(经度):十进制用户位置

accuracy(准确度):以m为单位指定纬度和经度值与实际位置间的差距,置信度为95%

altitude:用户位置的海拔高度,以m为单位;

altitudeAccuracy:海拔高度的准确度,也是以m为单位,如果不支持altitude特性也会返回null;

heading:行进方向,相对于正北而言

speed:地面速度,以m/s为单位。

错误对象中的错误编号:

UNKNOW_ERROR(错误编号为0)——不包括在其他错误编号中的错误。需要通过message参数查找错误更多详细信息。

PERMISSION_DENID(错误编号为1)——用户选择拒绝浏览器获取其位置。

POSITION_UNAVALABLE(错误编号为2——尝试获取用户位置数据,但失败了。

TIMEOUT(错误编号为3):设置了可选的timeout值。尝试确定用户位置的过程超时。

可选的地理定位请求特性

如果要同时处理正常情况和错误情况,就应该把注意力集中到三个可选参数(enableHighAccuracytimeoutmaximumAge)上,将这三个可选参数传递给HTML5 Geolocation服务以调用整数数据收集方式。请注意,这三个参数可以使用JSON对象传递,这样更便于添加到HTML5 Geolocation请求调用中。

enableHighAccuracy:如果启用该参数,则通知浏览器启用HTML5 Geolocation服务的高精度模式。参数的默认值为false。如果启用此参数,可能没有任何差别,也可能导致机器花费更多的时间和资源来确定位置,所以应谨慎使用。

提示:需要注意的是,高精度的设置只是一个切换操作:truefalseAPI不允许吧精度设置为不同的等级或一个数字范围。也许,这将在未来版本的规范中得到解决。

timeout:可选值,单位为ms,告诉浏览器计算当前位置所允许的最长时间。如果在这个时间段内未完成计算,就会调用错误处理程序。其默认值为Infinity,即无穷大或无限制。

maximumAge:这个值表示浏览器重新计算位置的时间间隔。它也是一个以ms为单位的值。此值默认为零,这意味着浏览器每次请求时必须立即重新计算位置。

 

2.重复性的位置更新请求

 

有时候,仅更新一次是不够的。还好,Geolocation服务的设计者使应用程序可以在单次请求用户位置和以既定间隔多次轻轻用户位置间相互转换。 事实上,转换的方式很简单,只需要变换请求函数即可,如下所示:

navigator.geolocation.getCurrentPosition(updateLocation,handleLocationError);

navigator.geolocation.watchPosition(updateLocation,handleLocationError);

关闭更新也很简单。如果应用程序不再需要接受有关用户的持续位置更新,则只需调用clearWatch()函数,如下所示:

navigator.geolocation.clearWatch(watchId);

4.5 使用HTML5 Geolocation构建实时应用

4.6 进阶功能

分享到:
评论

相关推荐

    HTML5高级程序设计

    第4章 geolocation api 72 4.1 位置信息 72 4.1.1 纬度和经度坐标 73 4.1.2 位置信息从何而来 73 4.1.3 ip地址地理定位数据 74 4.1.4 gps地理定位数据 74 4.1.5 wi-fi地理定位数据 74 4.1.6 手机地理定位数据...

    完整版《HTML5高级程序设计》2

    第4章 Geolocation API 72 4.1 位置信息 72 4.1.1 纬度和经度坐标 73 4.1.2 位置信息从何而来 73 4.1.3 IP地址地理定位数据 74 4.1.4 GPS地理定位数据 74 4.1.5 Wi-Fi地理定位数据 74 4.1.6 手机地理定位数据 75 ...

    完整版《HTML5高级程序设计》4

    第4章 Geolocation API 72 4.1 位置信息 72 4.1.1 纬度和经度坐标 73 4.1.2 位置信息从何而来 73 4.1.3 IP地址地理定位数据 74 4.1.4 GPS地理定位数据 74 4.1.5 Wi-Fi地理定位数据 74 4.1.6 手机地理定位数据 75 ...

    HTML5高级程序设计.part4

    第4章 Geolocation API 72 4.1 位置信息 72 4.1.1 纬度和经度坐标 73 4.1.2 位置信息从何而来 73 4.1.3 IP地址地理定位数据 74 4.1.4 GPS地理定位数据 74 4.1.5 Wi-Fi地理定位数据 74 4.1.6 手机地理定位数据...

    完整版《HTML5高级程序设计》5

    第4章 Geolocation API 72 4.1 位置信息 72 4.1.1 纬度和经度坐标 73 4.1.2 位置信息从何而来 73 4.1.3 IP地址地理定位数据 74 4.1.4 GPS地理定位数据 74 4.1.5 Wi-Fi地理定位数据 74 4.1.6 手机地理定位数据 75 ...

    完整版《HTML5高级程序设计》3

    第4章 Geolocation API 72 4.1 位置信息 72 4.1.1 纬度和经度坐标 73 4.1.2 位置信息从何而来 73 4.1.3 IP地址地理定位数据 74 4.1.4 GPS地理定位数据 74 4.1.5 Wi-Fi地理定位数据 74 4.1.6 手机地理定位数据 75 ...

    HTML5高级程序设计.part5

    第4章 Geolocation API 72 4.1 位置信息 72 4.1.1 纬度和经度坐标 73 4.1.2 位置信息从何而来 73 4.1.3 IP地址地理定位数据 74 4.1.4 GPS地理定位数据 74 4.1.5 Wi-Fi地理定位数据 74 4.1.6 手机地理定位数据...

    HTML5高级程序设计.part1

    第4章 Geolocation API 72 4.1 位置信息 72 4.1.1 纬度和经度坐标 73 4.1.2 位置信息从何而来 73 4.1.3 IP地址地理定位数据 74 4.1.4 GPS地理定位数据 74 4.1.5 Wi-Fi地理定位数据 74 4.1.6 手机地理定位数据...

    HTML5高级程序设计.part2

    第4章 Geolocation API 72 4.1 位置信息 72 4.1.1 纬度和经度坐标 73 4.1.2 位置信息从何而来 73 4.1.3 IP地址地理定位数据 74 4.1.4 GPS地理定位数据 74 4.1.5 Wi-Fi地理定位数据 74 4.1.6 手机地理定位数据...

    HTML5高级程序设计.part3

    第4章 Geolocation API 72 4.1 位置信息 72 4.1.1 纬度和经度坐标 73 4.1.2 位置信息从何而来 73 4.1.3 IP地址地理定位数据 74 4.1.4 GPS地理定位数据 74 4.1.5 Wi-Fi地理定位数据 74 4.1.6 手机地理定位数据...

    ActionScript 3.0 开发人员指南 (AS3开发帮助文档)

    第 4 章 : 处理错误 第 5 章 : 使用正则表达式 第 6 章 : 使用 XML 第 7 章 : 使用本机 JSON 功能 第 8 章 : 处理事件 第 9 章 : 使用应用程序域 第 10 章 : 显示编程 第 11 章 : 使用几何结构 第 12 章 : ...

    HTML5开发精要与实例详解(完整版源代码含说明文档)

    第4章用2个案例介绍了文件apt和拖放api的使用方法; 第5章用4个案例讲解了如何打造自己的网页视频播放器、网页音频播放器,以及实现视频实时回放和视频截图等多媒体功能;第6章用6个案例全面讲解了html 5中的本地...

    HTML5程序设计(第2版).[荷]Peter Lubbers(带详细书签).pdf

    第4章 音频和视频 75 4.1 HTML5 Audio和Video概述 75 4.1.1 视频容器 75 4.1.2 音频和视频编解码器 76 4.1.3 HTML5 Audio和Video的限制 77 4.1.4 audio元素和video元素的浏览器支持情况 77 4.2 使用...

    HTML5用户指南

    第4章 视频和音频  本地多媒体:为什么、是什么、如何做  编码解码器  滚动定制控件  多媒体可访问性  小结 第5章 画布  画布基础  绘制路径  使用变换:伪装的像素  捕获图像  推送像素  对画布绘制...

    HTML, XHTML, and CSS Bible, 5th Edition.pdf

    第4章用2个案例介绍了文件apt和拖放api的使用方法; 第5章用4个案例讲解了如何打造自己的网页视频播放器、网页音频播放器,以及实现视频实时回放和视频截图等多媒体功能;第6章用6个案例全面讲解了html 5中的本地...

    从入门到精通HTML5——PDF——网盘链接

     第4章 使用列表 65  教学录像:35分钟  4.1 列表的标记 66  4.2 使用无序列表 66  4.2.1 无序列表标记——ul 66  4.2.2 无序列表的符号类型——type 67  4.3 使用有序列表 69  4.3.1 有序列表标记——ol ...

    HTML5 and JavaScript Web Apps

    2012年第一版. O'RELLEY, October 2012: First Edition by Wesley Hales ISBN: 978-1-449-32051-5 Contents: 1. Client-Side Architecture 2. The Mobile Web. 3. Building for the Mobile Web 4. The Desktop ...

    Cordova_Maps:适用于浏览器,iOS和Android的Cordova Maps应用程序

    cordova plugin add cordova-plugin-geolocation该cordova plugin add cordova-plugin-geolocation的文档可以在以下位置找到: : 4:Google Map JavaScript库 暂时不要添加此代码,此应用程序的完整代码在第6步中。...

    JS高级程序设计-核心笔记.docx

    第 25 章 新兴的 API....................................682 25.1 requestAnimationFrame()...........682 25.1.1 早期动画循环.........................682 25.1.2 循环间隔的问题.....................683 25.1...

Global site tag (gtag.js) - Google Analytics