HTML5プロフェッショナル認定試験レベル2 例題解説
例題解説とその内容については、例題提供者の監修です。内容や試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了承ください。
例題解説のご提供者さまを募集中です。LPI-Japan事務局までぜひご投稿ください。選ばれた方の例題解説は本サイトに掲載させていただきます。
2.7 デバイスアクセス
- 例題7.3「2.7.2 DeviceOrientation Event」
- レベル2の出題範囲「2.7.2 DeviceOrientation Event」からの出題です。
DeviceOrientationEvent を利用し、検出できる項目を以下から全て選びなさい。 -
- デバイスの縦横の動き
- デバイスの加速度の変化
- デバイスの回転の動き
- デバイスの緯度、経度
※この例題は実際のHTML5プロフェッショナル認定試験とは異なります。
答えはこちら
- 答え A, C
-
DeviceOrientation Event はスマートフォンなどの機器のセンサーが方向の変化を感知した際に発生するイベントです。イベントで受けとるDeviceOrientationEventオブジェクトのプロパティは以下のようになります。
absolute: デバイスの姿勢の情報が取得可能かどうか?
alpha: z軸のデバイスの動き
beta: x軸のデバイスの動き
gannma: y軸のデバイスの動き
これらの動きをwindow.deviceorientationイベントにイベントハンドラ設定することで取得できます。
ややこしいのですが 技術要素名としては DeviceOrientation Event とスペースが入りますが、イベント名はDeviceOrientationEvent とスペースが入りませんので注意が必要です。
以上より、この例題ではAとCが正解です。
DeviceOrientation Event の詳細は下記のMozilla のリンクを参考にしてください。
https://developer.mozilla.org/ja/docs/Web/API/Detecting_device_orientation
B.はDeviceMotionEventで、D.はGeolocation APIで検出できます。
これらのイベントやAPIでは、基準になる座標がDevice Orientation Eventと異なるので、合せて使う場合には注意してください。
DeviceMotion Eventについては、上記のDeviceOrientation Eventのリンクにも記述があります。
Geolocation API の詳細は下記のMozilla のリンクを参考にしてください。
https://developer.mozilla.org/ja/docs/Web/API/Geolocation/Using_geolocation
例題解説の提供:HTML5アカデミック認定校株式会社クリーク・アンド・リバー社
HTML5レベル2認定者 伊藤 眞 氏
HTML5レベル2認定者 高井 歩 氏
- 例題7.2「2.7.1 Geolocation API」
- レベル2の出題範囲「2.7.1 Geolocation API」からの出題です。
Geolocation APIにおいて、現在位置取得成功時のコールバックおよび、エラー時のコールバックを指定できるメソッドを2つ選択してください。 -
- getCurrentPosition
- watchPosition
- clearWatch
- altitudeAccuracy
※この例題は実際のHTML5プロフェッショナル認定試験とは異なります。
答えはこちら
- 答え A, B
-
Geolocation APIでは、現在位置を取得するためにメソッドを呼びだしますが、取得まで若干の時間が掛ります。
取得できるまで待っているとWebブラウザの処理を止めてしまうため、現在位置を取得後に呼び出してもらう関数を登録します(コールバック)。
getCurrentPositionは一度だけ現在位置を取得するメソッドです。
watchPositionは現在位置を定期的に取得します。
iOS上のMobileSafariでGeolocation APIを使用する場合は、「設定」の「プライバシー」から「位置情報サービス」をONにし、かつ「Safariのサイト」で「このAppの使用中のみ許可」にする必要があります(iOS 8.3で確認)。
Androidでも「設定」の「位置情報アクセス」から「位置情報のアクセス」でアクセスを許可する必要があります(Android 4.2.2で確認)。
OSの許可設定以外にもブラウザ上での許可が必要になるなど、位置情報の取得をするためにはユーザから複数の許可を得る必要があります。
実際のサービスなどで使用する場合には、位置情報の取得が許可されないケースも考えてシステムを構築する必要があります。
その他の選択肢については、
C. clearWatchはwatchPositionによる定期取得を停止させます。setTimeIntervalとclearIntervalの関係に似ています。
D. altitudeAccuracyは高度の誤差を表わすプロパティです。
例題解説の提供:株式会社クリーク・アンド・リバー社
HTML5レベル2認定者 高井 歩 氏
- 例題7.1「2.7.1 Geolocation API」
- レベル2の出題範囲「2.7.1 Geolocation API」からの出題です。
Geolocation APIを用いて必ず取得できる、緯度と経度以外の位置情報はどれか一つ選択しなさい。 -
- 高度
- 誤差
- 方角
- 速度
※この例題は実際のHTML5プロフェッショナル認定試験とは異なります。
答えはこちら
- 答え B
-
Geolocation APIを用いて取得できる位置情報は、下記の通りです。
latitude 緯度
longitude 経度
altitude 高度(meters)
accuracy 緯度経度の誤差(meters)
altitudeAccuracy 高度の誤差(meters)
heading 方角(真北からの角度:0<=, <360)
speed 水平方向の速度(meters / sec)このうち、緯度(latitude)と経度(longitude)、誤差(accuracy)は、必ず提供されるとされています。その他の情報は実装によるとされています。
例題解説の提供:
LPI-Japanプラチナスポンサー NECソリューションイノベータ株式会社
武藤 周 氏