カメラに映したマーカーに対応したAR重畳表示コンテンツを重畳したい場合などに、マーカーがカメラ画像内に存在することや、どのマーカーが写っているかを知るためにはAR.Camera.addMarkerListener()を使用してください。
ポイント
マーカー検知のイベントはカメラ画像内で任意のマーカーが検出/消失する度に発生するため、コールバック関数を登録しておくことでマーカーが検出/消失した時の処理が可能になります。
例
AR.Camera.addMarkerListener(onSuccess, onError, onSuccessListener, onErrorListener);
var listenerId;
//マーカー検知イベントリスナ登録時に呼ばれるコールバック関数
onSuccess = function(_result){
listenerId = _result.getValue();
alert(“マーカー検知イベントリスナ登録に成功しました。”);
}
onError = function(_result){
alert(“マーカー検知イベントリスナ登録に失敗しました。\n” + _result.getStatus() +” : ” +
_result.getValue());
};
//マーカー検知イベント発生時に呼ばれるコールバック関数。
onSuccessListener = function(_result){
//マーカーを検出した場合
if(_result.getValue().status == true) {
alert(“マーカー”+_result.getValue().value+”を検出しました。” );
//マーカーを消失した場合
} else if(_result.getValue().status == false){
alert(“マーカー”+_result.getValue().value+”を消失しました。”);
}
};
onErrorListener = function(_result){
alert(“マーカー検知に失敗しました。\n” + _result.getStatus() +” : ” + _result.getValue());
};登録したマーカー検知イベントリスナを削除したい場合はAR.Camera.removeMarkerListener()で削除したいリスナIDを指定してください。
例
AR.Camera.removeMarkerListener(listenerId, onSuccess, onError);
onSuccess = function(_result){
alert(“マーカー検知イベントリスナ削除に成功しました。”);
}
onError = function(_result){
alert(“マーカー検知イベントリスナ削除に失敗しました。\n” + _result.getStatus() +” : ” +
_result.getValue());
};注意
AR.Camera.addMarkerListener()で登録したイベントリスナはhtmlの画面を遷移するとすべて削除されます。画面遷移する場合はもう一度登録し直すなどの処理を加えてください。
以下のマーカーの座標に関連する処理を行う場合、Webページにスクロールバーやフレームを使用しないでください。マーカー検知の情報は表示しているWebページに合わせて取得されます。
タップアクション
getCurrentMarkers()によるマーカー座標値の取得