📚Référence de l'API
L'API JavaScript de Jakartowns permet d'intégrer le jumeau numérique Jakartowns dans des applications web tierces. Le script JavaScript contient le code informatique de l'API avec toutes ses fonctions et méthodes pour manipuler le jumeau numérique.
L'API facilite ainsi l'interaction avec le jumeau numérique en fournissant des méthodes pour définir la position, la rotation, le tilt, le champ de vision de la vue, ainsi que l'image panoramique affichée.
L'API s'applique sur un conteneur HTML de la page web applicative.
Une fois l'API récupérée, la fonction create_jakartowns est disponible pour créer une instance du jumeau numérique Jakartowns dans un conteneur spécifique sur la page web.
Fonctions pour interagir avec le jumeau numérique
Les fonctions suivantes sont disponibles sur l'instance viewer renvoyée dans le callback de create_jakartowns.
viewer.setPosition({ latitude, longitude }, options)
Définit la position de la vue du jumeau numérique sur la carte en utilisant les coordonnées de latitude et de longitude spécifiées.
Cette fonction renvoie une promesse résolue avec un objet contenant :
uid: l'identifiant technique de l'image sélectionnéedistance: la distance entre la position demandée et l'image panoramique sélectionnéenearest: l'entité GeoJSON représentant l'image panoramique retenuefeatures: la liste des panoramas candidats retournés par la recherche
Options disponibles :
keepPreviousAngles: conserve l'orientation actuelle si la valeur esttruependant la transition (default: false)observerShift: permet d'avancer ou reculer dans la trajectoire avec{ direction: 'forward' | 'backward', steps: number }dateFilter: permet de filtrer les images par date, par exemple{ date: '2024-05-21' }maxDistance: distance maximale de recherche, en mètres
Exemple :
viewer.setImage(uid)
Affiche directement une image panoramique donnée à partir de son identifiant technique uid.
Cette méthode est particulièrement utile lorsque plusieurs acquisitions sont disponibles à une même position et que vous souhaitez laisser l'utilisateur choisir l'image à afficher, par exemple selon sa date de prise de vue.
viewer.setTilt(wantedTilt)
Définit l'inclinaison verticale de la vue du jumeau numérique en utilisant la valeur spécifiée. Cette fonction renvoie la nouvelle inclinaison.
viewer.setPan(wantedPan)
Définit la rotation horizontale de la vue du jumeau numérique en utilisant la valeur spécifiée. Cette fonction renvoie la nouvelle rotation.
viewer.setFov(wantedFov)
Définit le champ de vision (FOV) de la vue du jumeau numérique en utilisant la valeur spécifiée. Cette fonction renvoie la nouvelle valeur de FOV.
viewer.setMarkers(geojsonDisplay)
Affiche des marqueurs dans le viewer à partir d'un objet GeoJSON. Cette méthode est utile pour projeter dans l'image panoramique des points d'intérêt issus de votre propre application.
Choisir une image par date
Lorsqu'il existe plusieurs images panoramiques pour une même position, l'API permet de construire un sélecteur d'images côté application.
Le principe est le suivant :
votre application écoute l'événement
positionl'événement expose l'image courante et la liste des images disponibles à cet endroit
vous affichez ces options dans une liste déroulante
lorsque l'utilisateur sélectionne une autre image, vous appelez
viewer.setImage(uid)
Exemple avec Vue 3 :
Si vous connaissez déjà la date cible au moment du positionnement, vous pouvez aussi la demander directement avec viewer.setPosition() via l'option dateFilter.
Événements
position
Cet événement est déclenché lorsque l'utilisateur change de position dans le jumeau numérique. Il fournit notamment :
uid: l'identifiant technique de l'image affichéelatitudeetlongitude: les coordonnées de la position courantecurrentSphereInfo: les métadonnées de l'image actuellement affichéemultipassAtLocation: la liste des images disponibles à cette position, utile pour construire un sélecteur par date ou par identifiant d'image
rotation
Cet événement est déclenché lorsque l'utilisateur change la rotation horizontale de la vue du jumeau numérique. Il fournit la nouvelle valeur de rotation.
tilt
Cet événement est déclenché lorsque l'utilisateur change l'inclinaison verticale de la vue du jumeau numérique. Il fournit la nouvelle valeur d'inclinaison.
fov
Cet événement est déclenché lorsque l'utilisateur change le champ de vision (FOV) de la vue du jumeau numérique. Il fournit la nouvelle valeur de FOV.
Last updated