Как обнаружить движение Panorama в iOS

Я пытался добиться анимации по этой ссылке: http://www.visa.com/rio2016/na-en/#!gallery на iPad. Попробуйте открыть эту ссылку на iPad и увидите.

По сути, это обернутый (360 градусов/бесконечный) горизонтальный список. Если пользователь движется по кругу, список на устройстве должен следовать за движением.

Я знаю, что JS использует webkitCompassHeading для расчета показаний компаса.

Я пытался использовать акселерометр, но проблема в том, что коэффициент замедления довольно мал. Допустим, я двигаюсь вправо по кругу, список прокручивается назад или справа налево, все в порядке. Останавливаюсь и начинаю двигаться задним ходом, торможение есть, но очень короткое время. Таким образом, для обратного движения только 1 или 2 элемента карусели прокручиваются вперед или слева направо, и снова, поскольку акселерометр выбрал положительное ускорение, список начинает двигаться назад или справа налево. влево направление.

Пробовал с магнитометром, сохранив последний угол поворота и посмотрев, изменился ли новый на 6 или 7 градусов, но значения слишком шаткие.


person nr5    schedule 19.09.2016    source источник
comment
Пробовали ли вы сторонние SDK? Например, github.com/robbykraft/Panorama или stackoverflow.com/questions/3763978/   -  person NeverHopeless    schedule 19.09.2016
comment
Да, я видел это, но это решает половину моей проблемы с вращающимся фоном. Но так как его openGL и мои знания не так хороши в openGL, чтобы обернуть вокруг него список прокрутки, поэтому я не пошел на это. Хотя я использовал величину магнитного поля устройства, чтобы добиться чего-то действительно близкого. Вот ссылка: github.com/userException/TestCarousel. Проблема в том, что величина изменяется только от 0 до 3,40 при движении на 180 градусов и оттуда возвращается к 0. Пожалуйста, посмотрите, если я что-то упустил   -  person nr5    schedule 19.09.2016