《PhoneGap移动应用开发手册》——1.5节获取设备位置传感器信息

简介:

本节书摘来自异步社区《PhoneGap移动应用开发手册》一书中的第1章,第1.5节获取设备位置传感器信息,作者 【英】Matt Gifford,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.5 获取设备位置传感器信息
PhoneGap移动应用开发手册
位置和使用全球卫星定位系统(GPS)功能,可以使开发者创建动态的实时地图绘制、定位及跟踪应用程序。使用位置的一些方法可以获取位置感知应用程序所需要的信息和属性。只要用户连接到网络(通过移动数据业务或者WIFI),就可以从位置传感器获取其位置信息。

实现步骤
使用PhoneGap API的位置功能监视设备的反馈信息,获取相关的位置信息。

(1)创建HTML初始化框架,并添加需求脚本文件cordova-2.0.0.js的引用。


5cc3d4c3aea6d31a4a3a19f8389cdb9f9305bd9c

(2)在Cordova JavaScript下面,添加新的JavaScript标签块,并在其中定义确保设备准备完毕的侦听事件。


1c11dfc6a9522cb3513ab133cc23cd716c145d53

(3)添加onDeviceReady函数。一旦本地代码加载完毕,该函数将调用PhoneGap API中的gelocation.getCurrentPosition函数。


9306c38150de43c337c072b1a7bdcff6472d5ba3

(7)最后,添加OnError函数,处理任何可能出现的错误。

(8)错误一旦出现,根据错误代码返回值决定向用户显示哪类消息。这将被设定为geolocationData div元素中的HTML内容。


2ab9b6289f9a2ccd7292db0e393e3859e4c812a4

(9)在设备上运行此程序时,可能的输出效果如图1.6所示。


537e588d1be6a19b2cbe369fd5ff0655fa79fcc8

实现原理
一旦设备准备就绪,并且本地PhoneGap代码初始化完毕,程序将执行geolocation API中的getCurrentPosition方法。定义onSuccess方法处理输出以及成功响应,定义onError方法捕获错误并进行相应的处理。

onSuccess以position对象的形式返回位置信息,其中包含以下属性。

position.coords:Coordinates对象,存放请求的地理位置信息,包含以下属性。

latitude:Number类型值,取值范围为[−90.00,+90.00],以十进制表示估算的纬度数。
longitude:Number类型值,取值范围为[−180.00,+180.00],以十进制表示估算的经度数。

altitude:Number类型值,表示世界大地测量系统(WGS)84椭球中的海拔高度,单位为米。可选属性。

accuracy:Number类型值,表示纬度和经度的精确度,单位为米。可选属性。

altitudeAccuracy:Number类型值,表示海拔高度估算的准确度,单位为米。可选属性。
heading:Number类型值,表示当前移动方向的度数,相对于正北的顺时针转动的度数。可选属性。
speed:Number类型值,当前设备的移动速度,以米每秒为单位。可选属性。
position.timestamp:DOMTimeStamp对象,表示获取地理位置信息及创建Position对象的时间。
position对象可选属性相当丰富和详细。

对于“可选项”,如果设备没有返回相应的值,则设定为null。

如果在请求过程中遇到错误,OnError函数返回positionError对象。该对象包含下面两个属性。

code:Number类型值,表示错误的数值代码。
Message:String类型对象,表示用户可读的错误描述信息。
错误可能产生的原因:未具备访问设备位置传感器的足够权限、未获取必要GPS信息致使定位失败、请求超时,或者其他未知错误。

相关内容
PhoneGap中可用的定位API基于W3C Geolocation API Specification。当前多数浏览器和设备已使用该API。如果任何运行程序的设备上已经实现了该功能,那么它将使用内置的API,而非PhoneGap的API。

相关文章
|
移动开发 JavaScript Android开发
PhoneGap:免费开源的 HTML5 移动应用开发平台
  PhoneGap 是一个免费开源的开发框架,让 Web 开发人员能够使用熟悉的 HTML,CSS 和 JavaScript 构建跨平台的移动本地应用。通过 PhoneGap 框架提供的 JavaScript API 能够以非常简单的方式调用移动设备的核心功能,包括地理位置,摄像头,加速器,通讯录,多媒体,文件和网络等功能。
1391 0
|
移动开发 容器 关系型数据库
《PhoneGap精粹:构建跨平台的移动App》——导读
本节书摘来自异步社区《PhoneGap精粹:构建跨平台的移动App》一书中的目录,作者 【美】John M. Wargo,更多章节内容可以访问云栖社区“异步社区”公众号查看
1494 0