Я пытался добиться анимации по этой ссылке: http://www.visa.com/rio2016/na-en/#!gallery на iPad. Попробуйте открыть эту ссылку на iPad и увидите.
По сути, это обернутый (360 градусов/бесконечный) горизонтальный список. Если пользователь движется по кругу, список на устройстве должен следовать за движением.
Я знаю, что JS использует webkitCompassHeading для расчета показаний компаса.
Я пытался использовать акселерометр, но проблема в том, что коэффициент замедления довольно мал. Допустим, я двигаюсь вправо по кругу, список прокручивается назад или справа налево, все в порядке. Останавливаюсь и начинаю двигаться задним ходом, торможение есть, но очень короткое время. Таким образом, для обратного движения только 1 или 2 элемента карусели прокручиваются вперед или слева направо, и снова, поскольку акселерометр выбрал положительное ускорение, список начинает двигаться назад или справа налево. влево направление.
Пробовал с магнитометром, сохранив последний угол поворота и посмотрев, изменился ли новый на 6 или 7 градусов, но значения слишком шаткие.