Проблемы с расчетом азимута, когда устройство iOS находится в альбомной ориентации справа

Я написал приложение дополненной реальности для iOS, которое использует службы определения местоположения и GPS, все работает нормально, когда устройство находится в альбомной ориентации слева, но когда устройство вращается в альбомной ориентации вправо, центральный азимут вычисляется неправильно, в настоящее время я вычисляю это с помощью true heading в методе didUpdateHeading, вычитая корректировку курса на 90 градусов. Должен ли я проверять, если ‹ 0 ??

Спасибо.


person Sixjac    schedule 10.02.2013    source источник
comment
взгляните на этот stackoverflow.com/questions/14070931/   -  person oiledCode    schedule 10.02.2013


Ответы (1)


Это довольно раздражающая проблема, и кажется, что установка свойства headingOrientation на самом деле ничего не делает.

Код ниже работает для горизонтальной ориентации слева (кнопка «Домой» справа):

orientation  = (float) manager.heading.magneticHeading;
orientation += 90.0f;
if(orientation > 360.0f)
   orientation -= 360.0f;

Итак, для правильной альбомной ориентации это должно помочь:

orientation  = (float) manager.heading.magneticHeading;
orientation -= 90.0f;
if(orientation < 0.0f)
   orientation += 360.0f;
person Ricardo RendonCepeda    schedule 10.02.2013