Геолокализация HTML5 через некоторое время теряет контроль над севером на мобильном телефоне Safari - PullRequest
0 голосов
/ 02 сентября 2018

Я использую javscript для создания компаса на веб-странице для устройств IOS и Android. Когда я обновляю страницу, я получаю точные показания севера, востока, запада и юга. Но если я немного двигаюсь, компас теряет след и указывает в неправильном направлении.

Вот мой код.

 function init() {
    var compass = document.getElementById('compassDiscImg');
    if (window.DeviceOrientationEvent) {

        window.addEventListener('deviceorientation', function(event) {
            var alpha;
            //Check for iOS property
            if (event.webkitCompassHeading) {
                alpha = event.webkitCompassHeading;
                //Rotation is reversed for iOS
                compass.style.WebkitTransform = 'rotate(' + alpha + 'deg)';
            }
            //non iOS
            else {
                alpha = event.alpha;
                webkitAlpha = alpha;
                if (!window.chrome) {
                    //Assume Android stock (this is crude, but good enough for our example) and apply offset
                    webkitAlpha = alpha - 270;
                }
            }

            if (!alpha || alpha === NaN) {
                return notSupported();
            }
            document.getElementById('compass').hidden=false;
            alpha = alpha - 65;
            compass.style.Transform = 'rotate(-' + alpha + 'deg)';
            compass.style.WebkitTransform = 'rotate(-' + webkitAlpha + 'deg)';
            //Rotation is reversed for FF
            compass.style.MozTransform = 'rotate(-' + alpha + 'deg)';
        }, false);
    } else {
        notSupported();
    }

    function notSupported() {
        document.getElementById('compassDiscImg').style.display = 'none';
    }
}

init();

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

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...