Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
AbsoluteOrientationSensor
Disponibilité limitée
Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.
Contexte sécurisé: Cette fonctionnalité est uniquement disponible dans des contextes sécurisés (HTTPS), pour certains navigateurs qui la prennent en charge.
L'interface AbsoluteOrientationSensor des APIs Sensor décrit l'orientation physique de l'appareil par rapport au système de coordonnées de référence de la Terre.
Pour utiliser ce capteur, l'utilisateur·ice doit accorder l'autorisation aux capteurs de l'appareil 'accelerometer', 'gyroscope' et 'magnetometer' avec l'API Permissions.
Cette fonctionnalité peut être bloquée par une Politique de Permissions définie sur votre serveur.
Constructor
AbsoluteOrientationSensor()-
Crée un nouvel objet
AbsoluteOrientationSensor.
Propriétés d'instance
Aucune propriété spécifique ; hérite des propriétés de ses ancêtres OrientationSensor et Sensor.
Méthodes d'instance
Aucune méthode spécifique ; hérite des méthodes de ses ancêtres OrientationSensor et Sensor.
Évènements
Aucun évènement spécifique ; hérite des méthodes de son ancêtre, Sensor.
Exemples
>Exemple simple
L'exemple suivant, qui est vaguement basé sur la démonstration de Orientation Phone d'Intel (angl.), instancie un AbsoluteOrientationSensor avec une fréquence de 60 fois par seconde. À chaque lecture, il utilise OrientationSensor.quaternion pour faire pivoter un modèle visuel d'un téléphone.
const options = { frequency: 60, referenceFrame: "device" };
const capteur = new AbsoluteOrientationSensor(options);
capteur.addEventListener("reading", () => {
// le modèle est un objet Three.js instancié ailleurs.
modele.quaternion.fromArray(capteur.quaternion).inverse();
});
capteur.addEventListener("error", (event) => {
if (event.error.name === "NotReadableError") {
console.log("Le capteur n'est pas disponible.");
}
});
capteur.start();
Exemple de permissions
L'utilisation des capteurs d'orientation nécessite de demander des autorisations pour plusieurs capteurs de l'appareil. Comme l'interface Permissions utilise des promesses, une bonne façon de demander des autorisations est d'utiliser Promise.all.
const capteur = new AbsoluteOrientationSensor();
Promise.all([
navigator.permissions.query({ name: "accelerometer" }),
navigator.permissions.query({ name: "magnetometer" }),
navigator.permissions.query({ name: "gyroscope" }),
]).then((resultats) => {
if (resultats.every((resultat) => resultat.state === "granted")) {
capteur.start();
// ...
} else {
console.log("Pas d'autorisations pour utiliser AbsoluteOrientationSensor.");
}
});
Spécifications
| Spécification |
|---|
| Orientation Sensor> # absoluteorientationsensor-interface> |
Compatibilité des navigateurs
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Aider à améliorer MDN
Cette page a été modifiée le par les contributeur·ice·s du MDN.