《PhoneGap移动应用开发手册》——1.6节调整位置传感器更新时间间隔

1.6 调整位置传感器更新时间间隔
PhoneGap移动应用开发手册
使用getCurrentPosition方法,可以获取以GPS坐标表示的设备位置。本例中,通过设定的间隔持续获取更新信息,以获取当前位置。

实现步骤
通过传递一个包含多个参数的可选项,设置时间间隔,提高精确度。

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

(4)现在添加onDeviceReady函数执行startWatch方法,代码如下。

(5)创建startWatch函数。首先,创建options变量保存传入该函数的可选参数。设置frequency值为5000毫秒(5秒),并将enableHighAccuacy设置为true。

(6)下一步,将watchPosition方法赋给先前定义的变量watchID,此变量用来检查当下位置是否正被监视。

(7)传递已设置的其他参数,将options变量传递给watchPosition方法。

(8)初始调用函数创建完成后,现在开始设计在成功回应后执行的onSuccess函数。将返回的position对象作为参数传入该函数。

(9)声明一些变量来保存从响应中获得的详细信息,它们以timestamp、latitude、longitude和accuracy变量的形式出现。同时需要创建一个元素变量,引用用于显示输出信息的geolocation div元素。

(10)通过访问position对象的属性,将返回值赋给相关的变量。

(11)最后,将这些变量设置连接为字符串,并将其设置为div元素中的HTML。

(13)运行程序时,输出效果如图1.8所示。

实现原理
PhoneGap API中的watchPosition方法以异步函数方式运行,持续检查设备当前位置的变化。一旦检测到设备位置发生变化,将以position对象的形式返回当前地理位置信息。

在持续检测的循环过程中,onSuccess负责处理成功的响应,并将返回值显示到屏幕上。

相关内容
getcurrentPosition和watchPosition函数中有3个可选的参数。

enablehighaccuracy:布尔值变量。决定用户选择的定位精度。默认(false)情况下,使用移动或网元网络获取位置信息。若设置为true,则会使用更加精确的定位方式,如卫星定位。
Timeout:Number类型变量,单位为毫秒,定义获取成功响应的最大等待时间。
MaximunAge:Number类型变量,单位为毫秒,如果缓存的数值小于指定的时间,则使用MaximumAge。

安卓设备中必须将enableHighAccuracy设置为true,才能成功返回位置结果。
清除更新时间间隔
用户可以停止持续的位置请求,或通过程序调用PhongGap API中的clearWatch方法清除更新间隔。清除更新时间间隔、停止检测的方法,与清除通过持续更新获取的加速计数据的方法,完全一样。

时间: 2024-12-02 18:54:14

《PhoneGap移动应用开发手册》——1.6节调整位置传感器更新时间间隔的相关文章

《PhoneGap移动应用开发手册》——导读

目 录 第1章 移动与定位:使用加速计和位置传感器 1.1 简介 1.2 使用加速计检测设备的移动 1.3 调整加速计传感器更新时间间隔 1.4 通过加速计事件更新对象的显示位置 1.5 获取设备位置传感器信息 1.6 调整位置传感器更新时间间隔 1.7 根据位置坐标检索地图数据 1.8 创建可视化罗盘显示设备的移动方向 第2章 文件系统.存储及本地数据库 第3章 处理音频.图像和视频 第4章 处理通讯录 第5章 本地事件 第6章 使用XUI 第7章 使用jQuery Mobile进行用户界面开

《PhoneGap移动应用开发手册》——1.7节根据位置坐标检索地图数据

1.7 根据位置坐标检索地图数据PhoneGap移动应用开发手册本节基于设备位置传感器返回的经纬度坐标,使用Google Maps API作为JaveScript,讲述如何在屏幕上绘制地图,及生成地图位置标签. 准备工作编码之前,先行搭建环境.获取Google Maps服务的访问权限. (1)注册一个Google Maps API key:访问https://code.google.com/apis/console/,并使用你的Google账户登录. (2)从左边菜单中选择Services选项,

《PhoneGap移动应用开发手册》——1.4节通过加速计事件更新对象的显示位置

1.4 通过加速计事件更新对象的显示位置 PhoneGap移动应用开发手册 开发者可以利用加速计传感器及其持续更新实现诸多功能,如运动监视游戏和更新屏幕上对象的位置. 实现步骤 下面将通过设备加速计传感器的持续更新,移动屏幕上的元素,作为设备移动的反应.该功能通过如下步骤实现. (1)创建HTML初始化框架.在head标签添加cordova JavaScript引用以导入需求的库. (2)在body标签中创建两个div元素.将其中第一个的id属性设置为点,作为在设备屏幕上移动的元素. (3) 第

《PhoneGap移动应用开发手册》——1.2节使用加速计检测设备的移动

1.2 使用加速计检测设备的移动PhoneGap移动应用开发手册加速计可捕捉设备在x,y,z这3个空间轴上的移动.加速计是一种移动传感器,它能检测当前设备位置的相对移动变化. 实现步骤使用PhoneGap API提供的加速计相关函数检测设备的反馈信息. (1)首先,创建HTML初始化框架,并添加需求脚本文件cordova-2.0.0.js的引用. 通过http://www.packtpub.com.网站购买Packet相关书籍的用户,可以下载已购买书籍的示例代码.其他读者可以访问网站http:/

《PhoneGap移动应用开发手册》——1.8节创建可视化罗盘显示设备的移动方向

1.8 创建可视化罗盘显示设备的移动方向PhoneGap移动应用开发手册PhoneGap API向开发者提供了获取设备的坐标信息及前进方向信息.开发者可以利用这些信息自定义一个罗盘工具来显示设备的移动. 实现步骤(1)创建HTML初始化框架,并添加需要脚本文件cordova-2.0.0.js的引用. (2)本例将以类名的方式调用DOM中的特定元素.为此我们使用XUI JavaScript库 (http://xuijs.com/).在head标签中添加script的引用包含该库. (3)创建scr

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

1.5 获取设备位置传感器信息PhoneGap移动应用开发手册位置和使用全球卫星定位系统(GPS)功能,可以使开发者创建动态的实时地图绘制.定位及跟踪应用程序.使用位置的一些方法可以获取位置感知应用程序所需要的信息和属性.只要用户连接到网络(通过移动数据业务或者WIFI),就可以从位置传感器获取其位置信息. 实现步骤使用PhoneGap API的位置功能监视设备的反馈信息,获取相关的位置信息. (1)创建HTML初始化框架,并添加需求脚本文件cordova-2.0.0.js的引用. (2)在Co

《PhoneGap移动应用开发手册》——1.3节调整加速计传感器更新时间间隔

1.3 调整加速计传感器更新时间间隔PhoneGap移动应用开发手册getCurrentAcceleration函数只是获取当它被调用的那个时间点的加速计数据,一次调用返回一个响应对象.本例中将设计一个程序可以设定时间间隔以从加速计持续获取其更新,以监视设备的持续运动. 实现步骤通过对PhoneGap API中的一个可用方法提供另外的参数以设置更新时间间隔. (1)首先,创建HTML初始化框架,并添加需要脚本文件cordova-2.0.0.js的引用. (5)创建startWatch函数.首先,

《PhoneGap移动应用开发手册》——1.1简介

1.1 简介PhoneGap移动应用开发手册随着技术发展,移动设备早已不局限于收发短信和邮件这些简单的功能.它们还可以借助位置传感器.加速计传感器及其他传感器,帮助用户导航和定位. 本章将介绍如何使用PhoneGap API来访问这些传感器,并在应用程序中充分利用这些传感器的功能.

《iOS 6核心开发手册(第4版)》——1.6节秘诀:测试触摸

1.6 秘诀:测试触摸 iOS 6核心开发手册(第4版) 屏幕上用于直接操作界面的大多数视图元素都不是矩形.这使触摸检测变得复杂,因为实际的视图矩形的某些部分可能不对应于实际的触摸点.图1-2显示了实际发生的问题.右边的截屏图显示了界面及其基于触摸的子视图,左边的截屏图则显示了每个子视图的实际视图界限.每个屏幕上的圆形周围的淡灰色区域都落在界限内,但是对这些区域的触摸应该不会"碰到"正在处理的视图. iOS会在整个视图框架内感知用户点按.这包括未绘图的区域(比如图1-2中的实际圆形外面