|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Objectcom.nttdocomo.device.location.LocationProvider
com.nttdocomo.device.location.GPSLocationProvider
主に GPS を用いる測位機能を表すクラスです。
このクラスの実装では、GPS よりも高い精度の結果を得るために、
適宜他の手段による測位が行われる場合があります。
このクラスのインスタンスを得るには
LocationProvider.getLocationProvider(int)
を、
引数に LocationProvider.METHOD_GPS
を指定して呼び出して下さい。
インスタンス取得後の振る舞いの概要については、
スーパークラスの記述
を参照して下さい。
フィールドの概要 | |
static int |
MODE_STANDALONE
測位モードを表す定数値で、自律測位を行うことを表します(=2)。 |
クラス com.nttdocomo.device.location.LocationProvider から継承したフィールド |
CAPABILITY_TRACKING_MODE, DATUM_TOKYO, DATUM_WGS84, METHOD_GPS, MODE_QUALITY_PRIORITY, MODE_STANDARD, UNIT_DEGREE, UNIT_DMS, UNIT_DMS_2 |
メソッドの概要 | |
int[] |
getAvailableMeasurementMode()
設定可能な測位モードを取得します。 |
Location |
getLocation(int timeout)
主に GPS を使って測位を行います。 |
int |
getMinimalInterval()
定期的な測位を実施するときに指定可能な、測位間隔の最小値を取得します。 |
void |
interrupt()
測位を中断させます。 |
void |
setMeasurementMode(int mode)
測位モードを指定します。 |
クラス com.nttdocomo.device.location.LocationProvider から継承したメソッド |
getAvailableLocationMethod, getAvailableLocationMethod, getLocation, getLocationProvider, getLocationProvider, getMeasurementMode, setTrackingListener |
クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public static final int MODE_STANDALONE
測位モードを表す定数値で、自律測位を行うことを表します(=2)。
LocationProvider.getLocation()
を呼び出した際に、
基地局からのアシストデータ無しに測位を行います。
そのため、圏外でも測位できるというメリットが有りますが、
測位精度や測位にかかる時間は、他のモードに比べて劣ります。
getAvailableMeasurementMode()
,
setMeasurementMode(int)
,
LocationProvider.MODE_QUALITY_PRIORITY
,
LocationProvider.MODE_STANDARD
,
定数フィールド値メソッドの詳細 |
public Location getLocation(int timeout) throws LocationException
主に GPS を使って測位を行います。 このメソッドを呼び出したスレッドは、測位が終了するまでブロックされます。
測位が正常終了すると、測位結果が設定された位置情報オブジェクト
(Location オブジェクト)を返します。
測位結果は常に WGS84 測地系に基づいています。すなわち、
返された Location オブジェクトに対して
Location.getDatum()
を呼び出すと、
常に LocationProvider.DATUM_WGS84
が返されます。
また、現在の実装では、測位結果として得られる緯度・経度の単位は常に
DEGREE 単位です。
測位開始から引数で指定した時間が経過すると、タイムアウトします。 サポートされているタイムアウト値の範囲を超えた値を指定した場合、 その上限または下限のタイムアウト値が指定されます。
自律測位モード下では、
通話圏外でも測位が可能です。
[DoJa-5.1 (906i) 以降]
自律測位モード下では、
セルフモード中でも測位が可能です。
自律測位モード以外の測位モードにおいては、 GPS による測位結果の精度が悪いか、 期待できない場合には、適宜、その他の手段を用いて測位を実施し、 その結果を返す場合があります。 自律測位モード以外の測位モードでタイムアウトした場合、 タイムアウトした時点で取得している測位結果のうち、 最良の精度の測位結果を返します。
LocationProvider
内の getLocation
timeout
- タイムアウト値を秒単位で指定します。
0を指定した場合、
サポートされているタイムアウト値の上限が指定されます。
上限がない場合、タイムアウトしません。
IllegalArgumentException
- 引数 timeout に負の値が指定された場合に発生します。
DeviceException
- 現在実行中の Java アプリケーションで、setTrackingListener(TrackingListener, int, int)
の引数 listener に、 null 以外が設定されている場合に発生します(BUSY_RESOURCE)。
DeviceException
- 現在実行中の Java アプリケーションや、ネイティブ機能において、
既に測位実施中の場合に発生します(BUSY_RESOURCE)。
LocationException
- 端末がセルフモードの場合に発生します(SELF_MODE)。
SecurityException
- ロック機能などのネイティブ独自のセキュリティ設定により、
測位が禁止されている場合に発生します。
LocationException
- 圏外またはGPS圏外などにより測位に失敗した場合に発生します
(OUT_OF_SERVICE)。
LocationException
- このメソッドを呼び出してから、
引数に指定したタイムアウト値だけ経過しても、
測位結果が得られない場合に発生します(TIMEOUT)。
LocationException
- サスペンド状態に遷移した場合や、
interrupt()
メソッド等により中断要求が発生した場合に発生します
(INTERRUPTED)。
LocationException
- ユーザ操作により中断要求が発生した場合
に発生します(USER_ABORT)。
LocationException
- 通信エラー等により、測位に失敗した場合に発生します(UNDEFINED)。
public void interrupt()
LocationProvider
の記述:
測位を中断させます。
このインスタンスの LocationProvider.getLocation()
メソッド
にて測位を行っている場合にこのメソッドを呼び出すと、測位が中断されます。
中断されたスレッドは
LocationException(INTERRUPTED) が発生します。
測位が行われていないときに呼び出された場合は、
このメソッドはなにもしません。
また、別のインスタンスに対する LocationProvider.getLocation()
メソッド呼び出しは、
影響を受けません。
LocationProvider
内の interrupt
public void setMeasurementMode(int mode)
測位モードを指定します。
それぞれの測位モードを指定した場合の測位時の振る舞いについては、 フィールドの詳細を参照してください。
測位モードには、
getAvailableMeasurementMode()
によって返される配列の各要素の値を指定することができます。
それ以外の値を指定した場合は、
不正な値が指定されたとして例外が発生します。
指定を行わなかった場合の測位モードは、デフォルト値の
LocationProvider.MODE_STANDARD
です。
LocationProvider
内の setMeasurementMode
mode
- 測位モードを表す定数値を指定します。
IllegalArgumentException
- 引数 mode に不正な値が指定された場合に発生します。
public int[] getAvailableMeasurementMode()
設定可能な測位モードを取得します。
このメソッドによって取得した配列の各要素の値は、
setMeasurementMode(int)
の引数に設定することにより、
その値が表す測位モードで Java
アプリケーションからの測位を行えることが保証されています。
new int[] {MODE_STANDARD,
MODE_QUALITY_PRIORITY}
が返されます。modes
とすると、
modes[0]
が MODE_STANDARD
であることは保証されています。
実装によっては他の測位モードをサポートしていない場合があります。
その場合、
未サポートの測位モードに対応する MODE_
から始まる定数は、
配列 modes
中には含まれていません。
LocationProvider
内の getAvailableMeasurementMode
MODE_
から始まる定数)を一次元配列で返します。
返される配列は、
このオブジェクトが内部で保持している配列のコピーです。public int getMinimalInterval()
LocationProvider
の記述: 定期的な測位を実施するときに指定可能な、測位間隔の最小値を取得します。
トラッキングモードをサポートしていない測位方式のインスタンスでは -1 が返されます。
LocationProvider
内の getMinimalInterval
LocationProvider.setTrackingListener(TrackingListener, int, int)
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
NTT DOCOMO,INC.
本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。
Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。
FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。
「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。
その他記載された会社名、製品名などは該当する各社の商標または登録商標です。