Erreurs du magnétomètre en Javascript et smartphone Android
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Erreurs du magnétomètre en Javascript et smartphone Android



  1. #1
    vande545

    Erreurs du magnétomètre en Javascript et smartphone Android


    ------

    Bonjour
    Je créé une appli HTML5+Javascript, donc mis en œuvre dans un navigateur internet (important pour la suite). J'utilise le code suivant pour une orientation (boussole). Il a été maintes fois vérifié et ne comporte pas d'erreur :
    Code:
    if (window.DeviceOrientationEvent) 
    			{
    			window.addEventListener("deviceorientation", function(event) 
    				{
    				// alpha : rotation autour de l'axe z
    				var rotateDegrees = event.alpha;
    Certains navigateurs ne renvoient rien, sinon un message disant que la boussole ne fonctionne pas. Sur les autres, la variable rotateDegrees renvoie bien une valeur en degrés mais elle est toujours erronée, très éloignée de l'orientation réelle de l'appareil. L'erreur va de 30 à 180 degrés selon les appareils et selon les jours sur un même appareil.
    Le plus curieux ; si l'on installe une application boussole récupérée sur un store, elle fonctionne correctement. Ce n'est donc pas le matériel qui est en cause.
    J'ai testé sur un appareil de moins de 2 ans : Fairphone 4 avec /e/OS dernière version ; avec un vieux Samsung Xcover 3 et Android 4 ; avec un Sony E5823 et Android 7. J'ai également testé les navigateurs Chrome, Fennec, Opera, Brave et Vivaldi.
    Je vais probablement abandonner l'espoir d'utiliser cette fonction, à moins que l'un d'entre vous ait la clé du problème ?
    Merci

    -----

  2. #2
    ArchoZaure

    Re : Erreurs du magnétomètre en Javascript et smartphone Android

    Bonjour.

    je ne sais pas mais les spécifications semblent indiquer certaines limitations à son utilisation.

    Expérimental: Cette fonction est expérimentale
    Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
    Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

    L'évènement DeviceOrientationEvent met à la disposition du développeur des informations sur l'orientation de l'appareil visitant une page Web

    Attention : à l'heure actuelle, Firefox et Chrome ne gèrent pas les cordonnées de la même façon. Tenez-en compte lors de l'utilisation de cette API.
    https://developer.mozilla.org/fr/doc...ientationEvent

  3. #3
    umfred

    Re : Erreurs du magnétomètre en Javascript et smartphone Android

    voir aussi, si les autorisations d'utilisation sont Ok et si la fonctionnalité boussole (ou la localisation) est activée

  4. #4
    vande545

    Re : Erreurs du magnétomètre en Javascript et smartphone Android

    Code:
    https://developer.mozilla.org/fr/doc...ientationEvent
    J'avais survolé cette page. Je vais la relire en détail.
    Merci.

  5. A voir en vidéo sur Futura
  6. #5
    vande545

    Re : Erreurs du magnétomètre en Javascript et smartphone Android

    voir aussi, si les autorisations d'utilisation sont Ok et si la fonctionnalité boussole (ou la localisation) est activée
    Ce cas est géré par la condition suivante :
    Code:
    if (window.DeviceOrientationEvent)
    Merci.

Discussions similaires

  1. Rooter smartphone Android
    Par da23real dans le forum Logiciel - Software - Open Source
    Réponses: 8
    Dernier message: 19/02/2020, 16h36
  2. Probleme sur mon smartphone Android
    Par invite69d38f86 dans le forum Matériel - Hardware
    Réponses: 4
    Dernier message: 06/11/2019, 18h08
  3. plus d'itinerance sur mon smartphone android
    Par invite69d38f86 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 4
    Dernier message: 14/03/2019, 18h48
  4. Nokia here sur smartphone android
    Par invite30312cb5 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 14/06/2015, 18h20