iphone компас вращается в зависимости от ориентации - PullRequest
8 голосов
/ 09 декабря 2010

Привет, я смотрю в правильном направлении при решении проблемы, которая заключается в том, что при изменении / изменении ориентации iphone какие преобразования необходимо выполнить для didUpdateHeading: newHeading, чтобы значение CLHeading.trueHeading повернулосьвсегда действуйте так, как если бы телефон был в ориентации CLDeviceOrientationLandscapeRight.

Спасибо

1 Ответ

0 голосов
/ 29 сентября 2011

Я посмотрел на яблочную документацию. Истинное направление - это направление компаса, которое корректируется с учетом разницы между магнитным севером и истинным севером. На печатной карте это называется склонением и происходит потому, что истинный северный полюс и магнитный северный полюс находятся не в одном месте. Магнитный полюс медленно дрейфует, но наклон земной оси меняется гораздо медленнее.

На реальном компасе есть линия, которую вы выстраиваете в линию с иглой, чтобы получить показания компаса. Я думаю, что ваш вопрос можно переформулировать так: как мне переместить эту опорную линию в iPhone? В настоящее время он указывает на верхнюю часть экрана в портретном режиме. Чтобы добраться до верхней части экрана в landscapeRight (кнопка «Домой» слева), вы можете попробовать вычесть 90 ° из заголовка. Если результат отрицательный, добавьте 360 °. Это повлияет как на истинное направление, так и на магнитное направление, но оно должно сместить эталон «север» туда, где раньше был «запад» (90 ° против часовой стрелки).

...