NTT DOCOMO and Hitachi Kokusai Electric Know-how & Confidential

com.docomo_um.module.location
クラス LocationProvider

java.lang.Object
  上位を拡張 com.docomo_um.module.location.LocationProvider

public abstract class LocationProvider
extends java.lang.Object

現在地を測位する機能にアクセスする手段を提供するクラスです。

現在位置取得を行うことができます。 また、緊急通報時の位置提供が開始されたことをアプリケーションへ通知させることもできます。 測位を行う際の測地系は世界測地系(WGS84)を使用します。

測位方式には以下があります。

測位方式 説明
標準測位 アシストデータを利用する測位方式
自律測位 ネットワークからアシストデータを取得しないで測位を行う測位方式

アシストデータの1つであるリファレンスポジションを測位結果として返すことはありません。
測位方式自動選択による測位 以下のいずれかの測位結果を返す測位方式
  • 標準測位の測位結果を返します。
  • 標準測位でアシストデータ取得処理に失敗した場合、自律測位の測位結果を返します。
  • 標準測位でGPS測位処理に失敗した場合、アシストデータの1つであるリファレンスポジションを測位結果として返します。
留意事項
本測位方式において、標準測位でアシストデータ取得処理に失敗してから自律測位をおこなう場合、 測位結果を返すまでに数分を要する点を留意してください。

LocationProviderインスタンス生成時に指定した測位方式は、現在位置取得の場合のみ適用されます。 他のGPS測位機能は、指定した測位方式によらず、標準測位となります。

GPS測位機能と測位方式の対応関係は以下になります。

測位機能 測位方式
現在位置取得 標準測位 / 自律測位 / 測位方式自動選択による測位
緊急通報時の位置提供 標準測位

GPS測位機能は、音声通話やパケット通信と競合することなく測位することができます。 ただし、音声規制中は以下の機能が制限されます。

緊急通報時に緊急通報受理機関から要請があった場合、緊急通報時の位置提供が行われます。 ただし測位状態が現在位置取得中の場合は、緊急通報受理機関からの要請を受けても、 先発の測位を優先するため、緊急通報時の位置提供を行うことが出来ません。


フィールドの概要
static int METHOD_AUTO
          測位方式の一つで、自動的に測位方式を選択することを表します。
static int METHOD_STANDALONE
          測位方式の一つで、 自律測位を表します。
static int METHOD_STANDARD
          測位方式の一つで、 標準測位を表します。
static int MODE_QUALITY_PRIORITY
          測位モードの一つで、 品質重視モードで測位を行うことを表します。
static int MODE_STANDARD
          測位モードの一つで、 標準モードで測位を行うことを表します。
static int STATUS_EMERGENCY
          測位状態の一つで、緊急通報時の位置提供中を表します。
static int STATUS_IDLE
          測位状態の一つで、現在位置取得、緊急通報時の位置提供を行っていない状態を表します。
static int STATUS_MEASUREMENT
          測位状態の一つで、現在位置取得中を表します。
 
メソッドの概要
static int[] getAvailableLocationMethod()
           サポートされている測位方式を取得します。
 int[] getAvailableMeasurementMode()
          設定可能な測位モードを取得します。
 Location getLocation()
           現在位置取得を行います。
 int getMeasurementMode()
          このインスタンスが測位時に使用する測位モードを取得します。
 int getStatus()
          GPSの測位状態を取得します。
 void interrupt()
          測位を中断させます。
 void setMeasurementMode(int mode)
          測位モードを設定します。
 void setProviderLocationStartedListener(ProviderLocationListener listener)
          リスナを登録します。
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait
 

フィールドの詳細

METHOD_STANDALONE

public static final int METHOD_STANDALONE
測位方式の一つで、 自律測位を表します。

関連項目:
getAvailableLocationMethod(), ModuleManager.getLocationProvider(int), 定数フィールド値

METHOD_STANDARD

public static final int METHOD_STANDARD
測位方式の一つで、 標準測位を表します。

関連項目:
getAvailableLocationMethod(), ModuleManager.getLocationProvider(int), 定数フィールド値

METHOD_AUTO

public static final int METHOD_AUTO
測位方式の一つで、自動的に測位方式を選択することを表します。

関連項目:
getAvailableLocationMethod(), ModuleManager.getLocationProvider(int), 定数フィールド値

MODE_QUALITY_PRIORITY

public static final int MODE_QUALITY_PRIORITY
測位モードの一つで、 品質重視モードで測位を行うことを表します。

関連項目:
setMeasurementMode(int), 定数フィールド値

MODE_STANDARD

public static final int MODE_STANDARD
測位モードの一つで、 標準モードで測位を行うことを表します。

関連項目:
setMeasurementMode(int), 定数フィールド値

STATUS_IDLE

public static final int STATUS_IDLE
測位状態の一つで、現在位置取得、緊急通報時の位置提供を行っていない状態を表します。

関連項目:
getStatus(), 定数フィールド値

STATUS_MEASUREMENT

public static final int STATUS_MEASUREMENT
測位状態の一つで、現在位置取得中を表します。 現在位置取得中は getLocation() メソッド実行中を指します。

関連項目:
getStatus(), getLocation(), 定数フィールド値

STATUS_EMERGENCY

public static final int STATUS_EMERGENCY
測位状態の一つで、緊急通報時の位置提供中を表します。 緊急通報時の位置提供中は、サーバから緊急通報時のPUSH通知を受けてから現在位置をサーバへ送信するまでの間を指します。

関連項目:
getStatus(), 定数フィールド値
メソッドの詳細

getAvailableLocationMethod

public static int[] getAvailableLocationMethod()

サポートされている測位方式を取得します。 サポートされている測位方式のリストが返されます。
GPSが搭載されていない場合は、NULLが返却されます。

戻り値:
サポートされている測位方式 が全て格納された一次元配列を返します。
関連項目:
METHOD_STANDALONE, METHOD_STANDARD, METHOD_AUTO

getAvailableMeasurementMode

public int[] getAvailableMeasurementMode()
設定可能な測位モードを取得します。

このメソッドによって取得した配列の各要素の値は、 setMeasurementMode(int) の引数に設定することにより、 その値が表す測位モードで アプリケーションからの測位を行えることが保証されています。 戻り値を modes とすると、 modes[0] が MODE_STANDARD であることは保証されています。 測位方式がMETHOD_STANDALONEであるとき、戻り値にMODE_QUALITY_PRIORITYが含まれることはありません。 通信モジュールの実装によっては他の測位モードをサポートしていない場合があります。 その場合、 未サポートの測位モードに対応する MODE_ から始まる定数は、 配列 modes 中には含まれていません。

戻り値:
設定可能な測位モードを表す定数値を一次元配列で返します。
関連項目:
MODE_QUALITY_PRIORITY, MODE_STANDARD

getMeasurementMode

public int getMeasurementMode()
このインスタンスが測位時に使用する測位モードを取得します。

戻り値:
このアプリケーションの測位モードを表す定数値を返します。
関連項目:
MODE_QUALITY_PRIORITY, MODE_STANDARD

setMeasurementMode

public void setMeasurementMode(int mode)
測位モードを設定します。

測位モードには、 getAvailableMeasurementMode() によって返される配列の各要素の値を指定することができます。 それ以外の値を指定した場合は、 不正な値が指定されたとして例外が発生します。 指定を行わなかった場合の測位モードは、デフォルト値の MODE_STANDARD です。

パラメータ:
mode - 測位モードを表す定数値を指定します。
例外:
java.lang.IllegalArgumentException - 不正なmodeを指定した場合に発生します。
関連項目:
MODE_QUALITY_PRIORITY, MODE_STANDARD

interrupt

public void interrupt()
               throws LocationException
測位を中断させます。

このインスタンスにて現在位置取得中(STATUS_MEASUREMENT状態)に本メソッドをコールすると、測位が中断されます。
STATUS_MEASUREMENT以外の状態で本メソッドがコールされた場合、本メソッドは何もしません。

例外:
LocationException - 測位の中断に失敗した場合に発生します。
関連項目:
STATUS_MEASUREMENT

getLocation

public Location getLocation()
                     throws LocationException,
                            RegulationException,
                            ExternalStatusException

現在位置取得を行います。

戻り値:
位置情報を返します。
例外:
java.lang.IllegalStateException - 測位状態が 現在位置取得中(STATUS_MEASUREMENT)、緊急通報時の位置提供中(STATUS_EMERGENCY)の場合に発生します。
LocationException - 測位に失敗、及びタイムアウトが生じた場合に発生します。
RegulationException - 規制による通信失敗の場合に発生します。
ExternalStatusException - UIMが挿入されていない場合など、現在位置取得に失敗した場合に発生します。
関連項目:
STATUS_MEASUREMENT, STATUS_EMERGENCY

getStatus

public int getStatus()
              throws LocationException
GPSの測位状態を取得します。

戻り値:
GPSの測位状態を返します。
例外:
LocationException - 内部エラーにより処理が中断した場合に発生します。
関連項目:
STATUS_IDLE, STATUS_MEASUREMENT, STATUS_EMERGENCY

setProviderLocationStartedListener

public void setProviderLocationStartedListener(ProviderLocationListener listener)
リスナを登録します。

現在位置提供を開始したときに呼ばれるリスナを登録します。 このインスタンスに登録できるリスナは1つだけです。
このメソッドを複数回呼出した場合、最後に登録したリスナだけが有効です。
null を指定すると、リスナの登録を削除します。

パラメータ:
listener - 登録するリスナを指定します。

Copyright © 2013 NTT DOCOMO, INC. and Hitachi Kokusai Electric Inc. All Rights Reserved.