デバイスアクセス(Javascript) #
デバイスアクセス、いわゆる機器に関する情報を得るためのAPIをここでは述べる。
Geolocation API #
Geolocation APIは、ユーザの位置情報を扱うためのAPIである。位置情報は、無線LAN・WiFi、携帯電話基地局、GPS、IPアドレスなどから取得する。(どのソースから取得したかを知る事はできない)
また、取得するにはユーザーの許可が必要となる。(ブラウザに確認ウィンドウが出る)
位置情報を取得するためのGeolocationオブジェクトは、navigatorオブジェクトから取得する。Geolocationオブジェクトのメソッド例は以下のとおり。
メソッド名 | 意味 |
---|---|
getCurrentPosition() | ユーザの現在の位置情報を取得する(1回のみ) |
watchPosition() | ユーザの位置情報を定期的に監視する |
clearWatch() | watchPosition()による位置情報の監視をクリアする |
メソッドにより返る位置情報はPositionCallBack型のオブジェクトとして得られる。(位置情報の測位が失敗したときはPositionErrorCallbackオブジェクトが返る。)
その中に更にPositionオブジェクトがあり、そのプロパティは以下の通り。
プロパティ名 | 意味 |
---|---|
coords | 位置情報(Coordinatesオブジェクト) |
timestamp | 測位した時刻 |
この内、coordsプロパティに入るCoordinatesオブジェクトに取得できた位置情報が格納される。
Coordinatesオブジェクトのプロパティは以下の通り。
プロパティ名 | 意味 |
---|---|
latitude | 緯度 |
longitude | 経度 |
altitude | 高度 |
heading | 方角 |
speed | 速度 |
DeviceOrientation Event #
DeviceOrientation Eventは、スマートフォンに搭載された加速度センサーやコンパスの情報をリアルタイムに取得することができるAPIである。
以下2種類のイベントから成り、これらのイベントを受け取るごとに情報を取得できる。
- DeviceOrientationEvent ・・・ 加速度センサーがデバイスの方向の変化を検出したときに発生
- DeviceMotionEvent ・・・ 加速度が変化したときに発生
DeviceOrientationEventのAPIは以下の通り。
プロパティ名 | 意味 |
---|---|
alpha | z軸を中心としたデバイスの動き |
beta | x軸を中心としたデバイスの動き |
gamma | y軸を中心としたデバイスの動き |
DeviceMotionEventのAPIは以下の通り。
プロパティ名 | 意味 |
---|---|
acceleration | DeviceAccelerationオブジェクト |
rotationRate | DeviceRotationRateオブジェクト |
ここで得られる、DeviceAccelerationのAPIは以下の通り。
プロパティ名 | 意味 |
---|---|
x | 西から東へ向かう方向の加速度 |
y | 南から北へ向かう方向の加速度 |
z | 地面から直立する方向の加速度 |
また、DeviceRotationRateのAPIは以下の通り。
プロパティ名 | 意味 |
---|---|
alpha | 画面またはキーボードから直立した軸に対する回転量 |
beta | 画面またはキーボードの左から右へ向かう軸に対する回転量 |
gamma | 画面またはキーボードの下から上に向かう軸に対する回転量 |