Visites guidées - Client

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 5 minutes de lecture
  • Fournit des méthodes pour lancer et arrêter les visites guidées.

    Cette API inclut les méthodes utilisées dans Concepteur de visite guidée.

    Visites guidées : applyListFilter(Function filter_func)

    Définit une fonction pour récupérer les résultats de visite guidée filtrés lorsque la méthode getAllTours() est appelée.

    La signature complète comprend le haut. NOW.guided_tours.api précédant le nom de la méthode.

    Tableau 1. Paramètres
    Nom Type Description
    filter_func Fonction Fonction de filtre qui prend un seul objet tour du tableau tours[] renvoyé par la méthode getAllTours( ).
    Tableau 2. Renvoie
    Type Description
    Néant

    L’exemple suivant montre l’utilisation de base de l’API.

    //create a filter function
    var filtFunction = function(tour) {
       //only return those tours whose name starts with 'my'
       return tour.name.indexOf('my') === 0);
    }
    
    //apply the filter 
    top.NOW.guided_tours.api.applyListFilter (filtFunction);
    
    //call the getAllTours method to observe the filtered tours
    top.NOW.guided_tours.api.getAllTours (function(er, tours) {
      if(!er) {
        console.log('The filtered tours are: ');
        console.log(tours);
      }
    });
    

    L’exemple suivant montre comment utiliser le champ options de l’objet tour pour ajouter JSON avec des identificateurs de visite personnalisés pour lire et filtrer les visites à l’intérieur de la fonction filter_func().

    top.NOW.guided_tours.api.applyListFilter(function(tour) {
           var options = (tour.options)? JSON.parse(tour.options): null;
           return (options && options.my_param) ? (options.my_param == my_value) : false;
    });

    Visites guidées : endTour()

    Arrête une visite guidée en cours de lecture. Cette méthode se ferme silencieusement si aucune visite n’est en cours de lecture.

    La signature complète comprend le haut. NOW.guided_tours.api précédant le nom de la méthode.

    Tableau 3. Paramètres
    Nom Type Description
    Aucun
    Tableau 4. Renvoie
    Type Description
    Null
    //create a callback function to end the tour if it starts correctly
    var cbFunction = function(err) {
    	if (err) {
       console.log('Error Occurred');
    }
    	else {
    	   // tour has started so we can call endTour
    	   top.NOW.guided_tours.api.endTour();
    }
    }
    
    //calling the startTour method so that we can end the tour as soon as it starts
    top.NOW.guided_tours.api.startTour('a297e04b732313007077edcc5ef6a780', 2, cbFunction);
    

    Guided Tours - events.off(chaîne event_name, fonction listener_function)

    Supprime un écouteur d’événement existant.

    La signature complète comprend le haut. NOW.guided_tours.api précédant le nom de la méthode.

    Tableau 5. Paramètres
    Nom Type Description
    event_name Chaîne Nom d’événement à supprimer de l’écouteur.
    Noms d’événements valides :
    • tourDémarré
    • tourEnded
    • visite guidéeterminée
    • tourFailed
    • tourAbandonné
    • tourRejeté
    • stepStarted
    listener_function Fonction Facultatif. Si elle est fournie, la fonction d’écouteur spécifiée est supprimée des écouteurs d’événements restants associés à cet événement. Si elle n’est pas fournie, toutes les fonctions d’écoute attachées à cet événement sont supprimées.
    Tableau 6. Renvoie
    Type Description
    Néant
    //create a callback function to handle the result of the api call
    var eventListenerTourStarted = function() {
       console.log('The tour has started'); 
    }
    var eventListenerTourEnded = function() {
       console.log('The tour has ended'); 
    }
    
    //attaching event listeners for tourStarted and tourEnded Events
    top.NOW.guided_tours.events.on('tourStarted',eventListenerTourStarted);
    top.NOW.guided_tours.events.on('tourEnded', eventListenerTourEnded);
    
    …
    //start a tour
    top.NOW.guided_tours.api.startTour ('a297e04b732313007077edcc5ef6a780', 2, cbFunction);
    //As soon as the tour starts the eventListenerTourStarted gets fired
    …
    top.NOW.guided_tours.api.endTour();
    // eventListenerTourEnded gets fired
    
    ….
    
    //removing the event listeners top.NOW.guided_tours.events.off('tourStarted',eventListenerTourStarted);
    top.NOW.guided_tours.events.off('tourEnded', eventListenerTourEnded);
    

    Guided Tours - events.on(String event_name, Function listener_function)

    Joint un écouteur d’événement à un événement de visite guidée.

    La signature complète comprend le haut. NOW.guided_tours.api précédant le nom de la méthode.

    Tableau 7. Paramètres
    Nom Type Description
    event_name Chaîne Nom d’événement à joindre à l’écouteur.
    Noms d’événements valides :
    • stepStarted
    • tourDémarré
    • tourEnded
    • visite guidéeterminée
    • tourFailed
    • tourAbandonné
    • tourRejeté
    listener_function Fonction Écouteur à ajouter.
    Remarque :
    Effacez tout écouteur d’événement une fois qu’il a résolu son objectif.
    listener_function.obj Objet Passé à listener_function() par chaque événement au format suivant :
    • Pour les événements stepStarted :
      {tour: '<tour_sys_id>', step: step_num}
    • Pour tous les autres événements :
      {tour: '<tour_sys_id>'}
    Paramètres JSON :
    • tour_sys_id : chaîne de caractères. ID de visite guidée à partir de la table Visites guidées [sys_embedded_tour_guide]
    • step_num : Nombre. Valeur comprise entre 0 (première étape) et n (dernière étape)

    L’exemple suivant montre l’utilisation de base de l’API.

    //create a callback function to handle the result of the api call
    var eventListenerTourStarted = function() {
       console.log('The tour has started'); 
    }
    var eventListenerTourEnded = function() {
       console.log('The tour has ended'); 
    }
    
    //attaching event listeners for tourStarted and tourEnded Events
    top.NOW.guided_tours.events.on('tourStarted',eventListenerTourStarted);
    top.NOW.guided_tours.events.on('tourEnded', eventListenerTourEnded);
    
    …
    //start a tour
    top.NOW.guided_tours.api.startTour ('a297e04b732313007077edcc5ef6a780', 2, cbFunction);
    //As soon as the tour starts the eventListenerTourStarted gets fired
    …
    top.NOW.guided_tours.api.endTour();
    // eventListenerTourEnded gets fired
    
    ….
    
    //removing the event listeners top.NOW.guided_tours.events.off('tourStarted',eventListenerTourStarted);
    top.NOW.guided_tours.events.off('tourEnded', eventListenerTourEnded);
    

    L’exemple suivant montre comment utiliser le paramètre listener_function avec obj comme argument.

    top.NOW.guided_tours.events.on("tourStarted", function (obj){console.log(obj);});

    Visites guidées : getAllTours(Function cb_function)

    Obtient une liste des visites guidées de la page actuelle à partir de laquelle cette méthode est appelée. Étant donné que cette méthode est asynchrone, une fonction de rappel doit être transmise pour déterminer la réussite de l’opération et obtenir une liste de visites.

    La signature complète comprend le haut. NOW.guided_tours.api précédant le nom de la méthode.

    Tableau 8. Paramètres
    Nom Type Description
    cb_function Fonction Fonction de rappel appelée par getAllTours() après une tentative d’extraction de toutes les visites pour la page actuelle à partir de laquelle la méthode getAllTours() est appelée.
    cb_function.err Objet Pointe vers l’objet d’erreur éventuel qui s’est produit pendant l’opération :

    err = { success : false, message : 'chaîne contenant l’objet d’erreur' }

    Nul dans le cas contraire.

    cb_function.tours Tableau Liste des visites disponibles pour la page.

    Si aucune visite n’est présente sur la page, cb_function.tours renvoie undefined.

    if( !tours) console.log('Pas de visite présente')

    Tableau 9. Renvoie
    Type Description
    Néant
    //create a callback function to handle the result of the API call
    var cbFunction = function(err, tours) {
    	if (err) {
       console.log('Error Occurred');
    }
    	else {
    	    if(!tours) console.log('No tour present')
       else {
          tours.forEach(function(t) {
                   console.log(t);
                 });
              }
    }
    }
    //calling the getTours method
    top.NOW.guided_tours.api.getAllTours(cbFunction);
    

    Visites guidées - loadPlayer()

    Charge le lecteur de visites guidées sur une page dans laquelle le lecteur de visites guidées n’est pas présent par défaut.

    Signature complète :
    NOW.guided_tours.api.loadPlayer()
    Tableau 10. Paramètres
    Nom Type Description
    Aucun
    Tableau 11. Renvoie
    Type Description
    Néant

    Visites guidées : startTour(String tour_id, Number step_number, Function cb_function)

    Démarre une visite guidée. Étant donné que cette méthode est asynchrone, vous devez transmettre une fonction de rappel pour déterminer la réussite de l’opération.

    La signature complète comprend le haut. NOW.guided_tours.api précédant le nom de la méthode.

    Tableau 12. Paramètres
    Nom Type Description
    tour_id Chaîne ID système de la visite à partir de la table Visites guidées [sys_embedded_tour_guide].
    step_number Numéro Facultatif. Étape à laquelle commencer la visite. S’il n’est pas fourni (ou si le numéro d’étape est 0), la visite commence depuis le début.
    cb_function Fonction Facultatif. Fonction de rappel appelée par la méthode startTour() après une tentative de lancement de la visite.
    cb_function.err Objet Pointe vers l’objet d’erreur éventuel qui s’est produit pendant l’opération :

    err = { success : false, message : 'chaîne contenant l’objet d’erreur' }

    Nul dans le cas contraire.

    Tableau 13. Renvoie
    Type Description
    Néant
    //create a callback function to handle the result of the API call
    var cbFunction = function(err) {
    	if (err) {
       console.log('Error Occurred');
    }
    	else {
       console.log('The tour with tourid=%s was successfully launched', tourId);
    }
    }
    
    //calling the startTour method
    top.NOW.guided_tours.api.startTour('a297e04b732313007077edcc5ef6a780', 2, cbFunction);