2010-09-22 28 views
6

Je souhaite afficher la direction sur l'écran du téléphone. Par exemple:Comment obtenir la direction de la boussole

0 
    |- [] 
    |_ 
    South --- North 

Dans le diagramme ci-dessus, le téléphone affiche «Nord». Depuis l'utilisateur (le bâton avec 0 pour sa tête) tient le téléphone (le [] dans le diagramme) pointant vers le nord.

J'ai trouvé this example. Je comprends ce qu'il fait, sauf qu'il semble calculer le lacet, le tangage, le roulis et l'inclinaison. Quels sont ceux-ci et comment pourrais-je les utiliser pour trouver simplement de quelle manière le téléphone pointe?

Aussi ce android documentation mentionne X, Y, et Z axise mais je ne vois nulle part qui dit comment ces axes correspondent au téléphone? Est-ce que Z va du bas du téléphone vers le haut?

+1

http://en.wikipedia.org/wiki/Yaw_angle – Falmarri

+0

J'ai aussi remarqué la classe GeomagneticField a des méthodes GetX et Gety? Puis-je l'utiliser à la place? Il n'a aucune sorte de capteur modifié. Devrais-je faire ma propre boucle pour l'interroger? – Greg

+0

Cet article pourrait vous être utile. Vous devez être caerful sur les hypothèses sur l'orientation de l'écran lors de l'affichage des directions sur l'écran. http://android-developers.blogspot.com/2010/09/one-screen-turn-deserves-another.html –

Répondre

5

this est comment l'axe (axiy?) Ressemble.

Je n'ai pas trouvé de lien vers la feuille de triche que j'utilise, mais cela ressemblait à this. En résumé, vous voulez vous enregistrer pour écouter Sensor.TYPE_ORIENTATION, à partir du tableau entrant de valeurs get, value [0] et qui devrait vous montrer votre angle (du nord je crois).

certains example de * android.com

+0

Merci. Que se passe-t-il si le téléphone est en mode paysage? – Greg

+0

selon ce post, http://www.google.com/support/forum/p/android/thread?tid=11b73cc231c318af&hl=fr c'est essentiellement une boussole matérielle, donc il devrait se comporter normalement en mode paysage – bgs

+2

Je voudrais juste tiens à signaler que 'Sensor.TYPE_ORIENTATION' a été déprécié, en faveur de' SensorManager.getOrientation() '. – AlbeyAmakiir