2010-12-09 7 views
8

Hallo, ich bin auf der Suche nach der richtigen Richtung in ein Problem, dass, wenn die Ausrichtung des iPhone ändert sich/ändert, welche Transformationen müssen auf didUpdateHeading durchgeführt werden: newHeading, um den Wert zu machen von CLHeading.trueHeading drehen, um immer so zu tun, als ob das Telefon in der Ausrichtung von CLDeviceOrientationLandscapeRight wäre.iPhone Kompass dreht basierend auf Orientierung

Danke

+0

siehe diesen Beitrag - http://stackoverflow.com/questions/9260033/north-calculation-based-on-magnetometer-and-gyroscope – ratana

Antwort

0

Ich schaute auf die Apple-Dokumentation. Der wahre Kurs ist ein Kompasskurs, der um den Unterschied zwischen magnetischem Norden und echtem Norden korrigiert wurde. Auf einer gedruckten Karte wird dies als Deklination bezeichnet und kommt daher, dass der wahre Nordpol und der magnetische Nordpol nicht an der gleichen Stelle sind. Der Magnetpol driftet langsam herum, aber die Neigung der Erdachse ändert sich viel langsamer.

Ein echter Kompass hat eine Linie darauf, die Sie mit der Nadel ausrichten, um eine Kompassablesung zu erhalten. Ich denke, Ihre Frage könnte wie folgt lauten: Wie verschiebe ich diese Referenzlinie im iPhone? Derzeit zeigt es im Hochformat auf den oberen Bildschirmrand. Um es in landscapeRight (Home-Taste auf der linken Seite) an den oberen Bildschirmrand zu bringen, können Sie versuchen, die Richtung um 90 ° zu subtrahieren. Wenn das Ergebnis negativ ist, addiere 360 ​​°. Dies würde sowohl den wahren Kurs als auch den magnetischen Kurs beeinflussen, aber es sollte den Bezug 'Norden' dahin verschieben, wo 'Westen' vorher war (90 ° gegen den Uhrzeigersinn).