Extensión de la funcionalidad en Vuforia Studio con código > API de estado de seguimiento
  
API de estado de seguimiento
Se puede utilizar un evento de JavaScript llamado trackingstatuschanged para obtener información sobre los cambios en el estado de seguimiento de un objetivo. El evento trackingstatuschanged tiene una carga útil JSON que contiene un par de clave-valor, con trackingStatus como clave y un valor de cadena de estado:
{"trackingStatus":"<tracking_status>"}
En la cadena anterior, la variable <tracking_status> puede ser cualquiera de los siguientes estados:
Estado
Descripción
normal
Se está efectuando el seguimiento del objetivo e indica un funcionamiento normal.
extended
Se está efectuando un seguimiento indirecto del objetivo. No está a la vista o está obstruido, demasiado lejos o demasiado cerca para efectuar un seguimiento directo.
limited
Se está efectuando el seguimiento del objetivo, pero con muy baja precisión.
limited_excessive_motion
El seguimiento es limitado porque el dispositivo se mueve demasiado rápido.
* 
Este estado solo se notifica para los objetivos tipo modelo.
limited_insufficient_light
El seguimiento está limitado debido a las malas condiciones de iluminación.
* 
Este estado solo se notifica para los objetivos tipo modelo.
El controlador de eventos implementado en JavaScript tiene la siguiente firma:
function(event, target, tmlNodeName, args)
A continuación se muestra una tabla en la que se enumeran y describen los parámetros disponibles:
Parámetro
Descripción
event
El objeto del evento. Contiene la cadena trackingstatuschanged de la propiedad nombre.
target
Nombre o ID del objetivo.
* 
Será una cadena vacía para los objetivos espaciales.
tmlNodeName
Tipo del objeto. El valor será twx-dt-target para este evento.
args
Cadena que incluye los datos del evento JSON.
Ejemplo
A continuación se muestra un ejemplo de implementación del controlador de eventos de 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);
});
A continuación se muestra un ejemplo de la salida del registro:
Tracking Status Changed Script: event: trackingstatuschanged, target: 740de1d2-6202-45ab-94db-1056ecf2244b, tmlNodeName: twx-dt-target, args:{"trackingStatus":"extended"}, trackingStatus: extended