Разрешение геолокации Chrome IOS HTML5 отклонено

При попытке использовать API-интерфейс геолокации HTML5 на мобильном Chrome для ios мое приложение выдает ошибку «Отказано в доступе», даже не предлагая поделиться своим местоположением. Кто-нибудь еще сталкивался с этой проблемой?

PS. Это происходит локально и на экземпляре heroku.

Вот код, который я запускаю в готовом документе

    var displayCloseFoo = function(position) {
        var lat = position.coords.latitude;
        var lon = position.coords.longitude;

    };

    var displayError =  function(error) {
        var errors = {
            1: 'Permission denied',
            2: 'Position unavailable',
            3: 'Request timeout'
        };
        alert("Error: " + errors[error.code]);
    };

    var runGeo =  function(){
        if (navigator.geolocation) {
            var timeoutVal = 10 * 1000 * 1000;
            navigator.geolocation.getCurrentPosition(
                    displayCloseFoo,
                    displayError,
                    { enableHighAccuracy: true, timeout: timeoutVal, maximumAge: 0 }
            );
        }
        else {
            alert("Geolocation is not supported by this browser");
        }
    };
    runGeo();

Спасибо


person chad    schedule 16.07.2012    source источник
comment
Ваш симулятор iOS работает? Известно, что службы определения местоположения хост-компьютера перестают работать.   -  person user1071136    schedule 16.07.2012
comment
Нет. Это мобильное веб-приложение, а не нативное.   -  person chad    schedule 16.07.2012


Ответы (3)


Вы должны явно разрешить Mobile Chrome использовать службы определения местоположения в ios. В ios6 вы можете добиться этого, перейдя в «Настройки» -> «Конфиденциальность» -> «Службы определения местоположения» и переключив Chrome в положение «Вкл.».

person chad    schedule 23.09.2012

Геолокация не будет работать локально в Chrome... Не знаю, почему она не будет работать из вашего экземпляра Heroku.

Взгляните на эту Fiddle... кажется, здесь все работает... http://jsfiddle.net/mattnull/YaCRe/

person mattnull    schedule 15.08.2012
comment
Это не работает для мобильного хрома на ios. Просто открыл скрипку на моем телефоне, и она дает мне то же поведение, что и мой код выше. - person chad; 15.08.2012
comment
странно .. Я сделал то же самое, и это сработало на моем телефоне ... у вас включены службы определения местоположения? Это, возможно, нужно включить - person mattnull; 15.08.2012
comment
Итак, я заметил, что как только вы отклоните его один раз, а затем перезагрузите ... он будет продолжать говорить об отказе в доступе ... Я думаю, это потому, что он добавляет исключение в Chrome, чтобы запретить дальнейший доступ. - person mattnull; 15.08.2012
comment
интересно, я почти уверен, что никогда этого не отрицал, но я попытаюсь изучить исключения Chrome - person chad; 15.08.2012

После установки chrome.Когда он открывается, он просит вас поделиться своим местоположением, если вы отказали, вы не получите местоположение

person sarat    schedule 02.05.2013