利用代码扩展 Vuforia Studio 功能 > 追踪状态 API
  
追踪状态 API
可以使用名为 trackingstatuschanged 的 JavaScript 事件来获取目标追踪状况的变更信息。trackingstatuschanged 事件的 JSON 有效负载包含键值对,其中键为 trackingStatus,状况字符串值为:
{"trackingStatus":"<tracking_status>"}
在上述字符串中,<tracking_status> 变量可以是以下任一状况:
状况
说明
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