专注于Blackberry

BlackBerry 应用程序开发者指南 第一卷:基础–第11章 使用位置信息

11
             第11章 使用位置信息

位置API
代码实例

位置API
位置API(javax.microedition.location)允许应用程序获取BlackBerry设备的全球定位系统(GPS)位置。GPS位置是BlackBerry设备中的地理坐标(经度和纬度)。根据使用
的位置方法,应用程序也可以获得BlackBerry设备的速度,方向,以及路线。
获得GPS位置的方法

方法

常数

描述

Cellsite

GPS_AID_MODE_CELLSITE

本方法使用活动的蜂窝(cellsite) 塔的GPS位置来提供第一个有序GPS信息。它提供最不精确的位置信息;虽说如此,但它是最快的位置模式。
注:如果使用本模式,将得不到方向,路径,以及速度获。这个位置方法需要网络连接以及运营商的支持。

Assisted

GPS_AID_MODE_ASSIST

本方法使用网络为设备的芯片提供天文卫星数据。它比自动模式提供GPS位置更快些,并且比蜂窝模式更精确。
注:本位置方法需要网络连接以及运营商的支持。

Autonomous

GPS_AID_MODE_AUTONOMOUS

本方法在没有网络的协助下使用BlackBerry上的GPS芯片。自动模式提供第一个GPS位置最慢。

为选择GPS位置方法指定原则
通过创建一个javax.microedition.location.Criteria类,调用合适的set方法,然后传递这个LocationProvider.getInstance()实例来指定需要的原则.
注:为创建一个缺省规则的LocationProvider实例,调用LocationProvider.getInstance(null).

Criteria criteria = new Criteria();
// Allow cost.
criteria.setCostAllowed(true);
// Require a horizontal accuracy of 50 metres.
criteria.setHorizontalAccuracy(50);
// Require a vertical accuracy of 50 metres.
criteria.setVerticalAccuracy(50);
LocationProvider provider = LocationProvider.getInstance(criteria);

选择GPS位置方法的原则

建议的GPS位置方法

水平精确度

垂直精确度

费用

耗电量

自动

需要

需要

不允许

不可用

自动

需要

需要

允许

低,一般或没有需求

第一次修正:协助
后续修正:自动

需要

需要

允许

自动

不需要

不需要

不允许

一般,高或没有需求

协助

不需要

不需要

允许

一般,或没有需求

第一次修正:协助
后续修正:自动

不需要

不需要

允许

蜂窝

不需要

不需要

允许

注:如果BlackBerry无线设备有一个卫星的障碍视图,GPS可能不可用。当设备在室内或被建筑物,树,以及密云围绕,这是有可能发生的。
获取BlackBerry设备的位置
第一次获取BlackBerry设备位置所花的时间依赖多方面的因素,例如选择的GPS模式,GPS的信号强度。在自动模式中,典型的至少需要2分钟,在协助模式。典型的是至少需要30秒。
如果GPS修正在10秒的请求内发生后,连续请求的平均响应时间为1到2秒,这取决位置条件。
注:如果你使用了一个可能花费用户资费的位置方法,不要经常查询BlackBerry设备的位置。
为了指定一个需要的响应事件,调用Criteaia.setPreferredReponseTime(),以毫秒为单位提供需要的时间。
获取BlackBerry设备的位置
调用LocationProvider.getLocation(int),提供一个以毫秒为单位的超时时间。
注:如果LocationProvider.getLocation(int)早事件线程调用,LocationExcept会抛出。

try {
    // Specify -1 to have the implementation use its default timeout value
    // for this provider.
    Location location = provider.getLocation(-1);
}
catch (Exception e) {
    // handle [...]

继续阅读本文 →

  

Confach发表于 April 23, 2008 6:47 am | 留言 |文档