Connaitre l'orientation du téléphone par rapport à un point géographique

Bonjour,

Je me demande s’il est possible de connaitre l’orientation du téléphone, par exemple, par rapport au nord. J’ai cherché dans des package comme location, sensor et geolocator mais en vains :cry:.

Ce que je voudrais, c’est sa voir dans quelle direction est orienté le téléphone par rapport à un point géographique.

Comme par exemple le marker sur les cartes.

Merci d’avance pour vos réponses,

Bien à vous,

Doublon

Salut,

T’as essayé des packages de type boussole comme flutter_compass ? Ca pourrait déjà t’aider à choper ton orientation par rapport au nord.
Et après pour l’orientation par rapport à un point c’est des mathématiques assez basiques :

Tes droites orange et verte tu les obtiens en faisant marcher le théorème de Pythagore puisque tu connais forcément :

  • Les coordonnées de ton point d’origine et celles d’un point quelconque sur le vecteur tracé par flutter_compass pour la droite orange,
  • Les coordonnées de ton point d’origine et celles de ton marqueur pour la droite verte
    (La jaune on s’en fout c’est juste pour l’exemple)

Une fois que tu connais ça t’as juste à calculer le cosinus entre tes deux droites en utilisant dart:math et t’obtiens l’angle dessiné en rouge qui correspond à ton orientation en degrés par rapport à ton point. Tout simplement :slight_smile:

Alors après y’a peut-être moyen que math te sorte l’angle en radians, donc faudra convertir un peu ^^ Mais c’est à mon sens la meilleure approche :smiley:

Bien vu :wink:

Merci pour cette réponse !

J’utilise une solution hybride, j’utilise le package Geolocator pour connaitre ma positon, ensuite j’utilise la méthode Geolocator.bearingBetween qui me permet de connaitre l’angle (en degré) qu’il y a entre ma localisation et la destination. Ensuite je soustrait la direction du téléphone que j’obtient avec flutter-compass que je soustrait à l’angle obtenu plus tôt.