API геолокации текущего положения не работает в IE11.5 windows10

API текущего местоположения геолокации несовместим с компьютером IE11 с Windows 10. Ниже приведен код

 function setCurrentPos(event, firstLoad) {
                navigator.geolocation.getCurrentPosition(function (position) {
                    firstLoad || setCurrentLocation(event.target, position.coords);
                }, function (error) {
                    1 === error.code && ($this.currentLocDenied = !0);
                });
            }

4 раза из 5 он попадает в блок ошибок с кодом ответа 2 (POSITION_UNAVAILABLE), в котором говорится: «Текущая позиция не может быть определена.».

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

Информация о версии

введите описание изображения здесь Есть другие предложения ??


person Novice    schedule 04.04.2017    source источник
comment
У меня такая же проблема. Я использую IE версии 11.447.14393.0   -  person neumann1990    schedule 12.04.2017


Ответы (2)


Фиксированный

1 - Изменения, которые я описал ниже, следует добавлять только для IE. Поэтому проверьте, является ли браузер IE, если нам нужно добавить обходной путь. Не меняйте другой браузер.

2 - Измените точность enableHighAccuracy на false. Я знаю, что по умолчанию это неверно, но на всякий случай.

3 - Добавьте какое-нибудь разумное значение для параметра maximumAge для времени кеширования. (Только для IE)

var locationOptions = {};
if(deviceInfo.raw.browser.isIE && parseInt(deviceInfo.browser_version) == 11 &&  deviceInfo.os.isWindows10) {
            locationOptions = {
                enableHighAccuracy: false,
                  maximumAge: 50000
            }
    }

function setCurrentPos(event, firstLoad) {
                navigator.geolocation.getCurrentPosition(function (position) {
                    //success callback
                }, function (error) {
                        //error callback
                }, locationOptions);
            }

Ссылка - https://msdn.microsoft.com/en-us/library/gg593067(v=vs.85).aspx

person Novice    schedule 13.04.2017
comment
У меня это не сработало. Сообщите мне, в чем я ошибся. - person Vinayak Infotech; 26.06.2020
comment
$ (# btn) .click (function () {var options1 = {enableHighAccuracy: false, maximumAge: 60000}; setCurrentPos (options1);}); функция setCurrentPos (параметры1) {навигатор.geolocation.getCurrentPosition (функция (положение) {предупреждение (успех);}, функция (ошибка) {предупреждение (ошибка);}, параметры1); } - person Vinayak Infotech; 26.06.2020

До сегодняшнего дня (4.4.2017) "navigator.geolocation.getCurrentPosition" отлично работает под Win10 Insider Preview 15063.11 + IE11, Edge, FF. НО сегодня происходит только ошибка тайм-аута. Итак, сейчас в сети происходит что-то грандиозное.

* Обновлено: 5.4.2017 все снова работает нормально

person Angel T    schedule 04.04.2017
comment
Только что обновил правильную версию IE, в IE 11.5 есть проблемы с API геолокации. - person Novice; 06.04.2017
comment
Я использую IE11.0.15063.0. пока геолокация работает как положено - person Angel T; 06.04.2017
comment
Я пытался запустить демонстрацию геолокации школы W3 на моем IE 11.5 w3schools.com/html/ Это также показывает то же поведение, которое работает один раз, а затем дает код ошибки как 2. Если возможно, попробуйте запустить то же самое в IE 11.5 на вашем компьютере с Windows 10. - person Novice; 06.04.2017