コードによる Vuforia Studio の機能の拡張 > トラッキングステータス API
  
トラッキングステータス API
trackingstatuschanged という JavaScript イベントを使用して、ターゲットのトラッキングステータスへの変更に関する情報を取得できます。trackingstatuschanged イベントには、キーと値のペアを含む JSON ペイロードがあります。ここで、キーは trackingStatus であり、値はステータス文字列です。
{"trackingStatus":"<トラッキングステータス>"}
上記の文字列で、変数 <<トラッキングステータス>> は次のいずれかのステータスになります。
ステータス
説明
normal
ターゲットはトラッキングされており、正常な操作を示しています。
extended
ターゲットは間接的にトラッキングされています。ビューの外にあるか、遮蔽されているか、遠すぎるか、近すぎるため、直接トラッキングできません。
limited
ターゲットはトラッキングされていますが、精度が非常に低くなっています。
limited_excessive_motion
デバイスの移動が速すぎるため、トラッキングが制限されています。
* 
このステータスは、モデルターゲットについてのみレポートされます。
limited_insufficient_light
照明の状態が悪いため、トラッキングは制限されています。
* 
このステータスは、モデルターゲットについてのみレポートされます。
JavaScript で実装されたイベントハンドラには、次の署名があります。
function(event, target, tmlNodeName, args)
以下のテーブルに、使用可能なパラメータとその説明を示します。
パラメータ
説明
event
イベントオブジェクト。これには名前プロパティの trackingstatuschanged 文字列が含まれています。
target
ターゲットの名前または ID。
* 
空間ターゲットでは空の文字列になります。
tmlNodeName
オブジェクトのタイプ。このイベントでは値が twx-dt-target になります。
args
JSON イベントデータを含む文字列。
JavaScript イベントハンドラの実装例を次に示します。
$scope.$on("trackingstatuschanged", function (event, target, tmlNodeName, args) {
trackingStatus = JSON.parse(args).trackingStatus;
console.log("Tracking Status Changed Script: event: " + event.name + ", target: " + target + ", tmlNodeName: " + tmlNodeName + ", args:" + args + ", trackingStatus: " + trackingStatus);
});
ログ出力の例を次に示します。
Tracking Status Changed Script: event: trackingstatuschanged, target: 740de1d2-6202-45ab-94db-1056ecf2244b, tmlNodeName: twx-dt-target, args:{"trackingStatus":"extended"}, trackingStatus: extended