`
bsr1983
  • 浏览: 1117508 次
  • 性别: 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 进阶功能

分享到:
评论

相关推荐

    geolocation:使用 PHP 实现 Google Geolocation API

    4. **API调用**:理解Google Geolocation API的接口和参数,比如请求的URL结构、所需的权限、请求头(如API密钥)以及查询参数。 5. **错误处理**:处理API调用可能返回的错误,如网络问题、API限制、无效响应等。 ...

    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 手机地理定位数据...

    API大全(下)

    4. **Web API**:如Geolocation API用于获取用户的地理位置信息,WebSocket API用于创建持久的双向通信通道,Canvas API则用于在浏览器中绘制图形。 5. **RESTful API设计**:这是一种常见的API设计风格,用于构建...

    《响应式网页开发实战》教学教案—第5章 HTML5地理定位.pdf

    4. **百度地图JavaScript API** 在获取了用户的位置信息后,可以利用第三方地图服务,如百度地图,将位置展示在地图上。百度地图提供了JavaScript API,开发者可以通过引入相应的库,创建地图实例,设置中心点为...

    HTML5 调用百度地图API地理定位.pdf

    4. **BMap.Point**:创建地图坐标点的构造函数。 5. **centerAndZoom()**:设置地图的中心点和缩放级别。 6. **addOverlay()**:将标注、多边形等覆盖物添加到地图上。 #### 五、扩展知识点 1. **地理位置权限管理...

    基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)

    4. 第三方地图服务API:在获取到经纬度后,可以使用第三方地图服务API来进一步解析出具体的地址信息。本文使用了百度地图API作为例子,通过百度API将经纬度转换为具体的地址。 5. 异常处理:在使用Geolocation API...

    Html5 Geolocation获取地理位置信息实例

    为了在地图上展示位置信息,通常需要集成第三方地图服务API,如百度地图API。这涉及到调用相应地图API的接口、设置地图容器、添加定位标记以及调整地图视图。 五、坐标转换 由于不同地图服务使用不同的坐标系,有...

    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 使用...

    PhoneGap的API组件及使用方法

    4. **地理定位** (Geolocation): `navigator.geolocation`接口提供了获取设备当前位置的能力,支持GPS、Wi-Fi和移动网络定位。 5. **通知** (Notification): 提供了弹出框、振动和声音提示等功能,增强用户交互体验...

Global site tag (gtag.js) - Google Analytics