Компас iPhone показывает неправильный угол наклона курса> 45 ° - PullRequest
8 голосов
/ 12 октября 2011

Это может быть трудно объяснить геометрию, поэтому я буду осторожен в ее объяснении.Это видно в стандартном приложении compas и из данных в CLLocationManager.

1) При удерживании телефона в портретной ориентации угол наклона должен быть равен 0 °

2) При наведениикамеры в небо (например, при съемке облака) угол наклона изменяется от 0 ° до> 90 °, где 90 градусов направлено вверх.

3), когда телефон наклонен вверх (> 0градусов и вращается вокруг оси магнитометра "X"), а когда телефон находится под углом (но не точно) 45 градусов, направление компаса поворачивается на 180 градусов.Таким образом, в то время как камера все еще находится в точке «N», компас сообщит «S».

4) для следующих (примерно) 90 градусов, направление компаса повернуто на 180 градусов.

Это вращение курса разрушительно для меня и не совсем совпадает с акселерометрами.Есть ли хороший учебник (я не нашел ни одного) о том, как использовать данные RAW (X, Y, Z) из данных CLHeading для расчета данных о курсе?

Конечный результат - я хочунаправление по компасу, чтобы оно всегда совпадало с направлением движения камеры.

1 Ответ

2 голосов
/ 04 ноября 2011

Вы не можете полагаться только на заголовок компаса.Посмотрите этот ответ для того, что вы ищете, и, в частности, для свойства yaw объекта CMAttitude, чтобы компенсировать угол наклона, о котором вы говорите: Компенсация задержки компаса с помощью гироскопа на iPhone 4

...