Java Azimut in Android SensorManager

Burfi

Commander
Registriert
Aug. 2008
Beiträge
2.323
Hallo,

ich habe eine Frage bezüglich der Definition vom Azimut Winkel. Leider gibt es keine eindeutige Definition (in Wikipedia sind im Artikel 8 Stück).

Mein Ziel ist einen Kompass zu erhalten, also Norden. Das Problem ist, dass sich der Azimut entsprechend der Display Ausrichtung verändert. Das heißt wenn ich im Landscape Modus bin (+90°), dann zeigt auch mein Azimut Richtung +90° und nicht mehr nach Norden.
Folgende Methode verwende ich: getOrientation
Leider ist dort nicht dokumentiert was die Basis (also 0° für den Azimut) ist.

Die simple Lösung wäre, dass der Azimut der Winkel zwischen Norden und Geräteausrichtung ist. Also praktisch bei 'Portrait Mode' Richtung Norden zeigt und bei 'Landscape' Richtung Osten, usw..
Ist es also tatsächlich so, dass ich Daten vom Kompass erhalte, diese dann aber entsprechend der Orientierung vom Gerät verfälscht werden? Wo ist der Sinn dahinter?
Wenn es tatsächlich so ist, passiert selbiges oder ähnliches auch mit 'pitch' und 'roll'?
 
Zurück
Oben