Обратный вызов геолокации после того, как пользователь утвердил / отклонил услуги определения местоположения - PullRequest
0 голосов
/ 10 мая 2018

Если на это уже ответили, пожалуйста, укажите мне правильное направление.Я провел некоторый поиск, но не нашел определенного ответа.

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

Вот некоторые из соответствующих кодов:

if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition, error);  

    //show popup after 30s
    setTimeout(function () {
        $('.mod-popup').modal('show');
    }, 30000);
}
else{
    //destroy popup
    $('.mod-popup').remove();
}

function showPosition(position) {
    gmap_location_lookup(position.coords.latitude+', '+position.coords.longitude,'100','');
}

function error(err) {
    $('.mod-popup').remove();
}

Когда появляется диалоговое окно браузера и пользователь нажимает «Разрешить доступ к местоположению», все работает, как запланировано.Когда пользователь нажимает «НЕ разрешать доступ к местоположению», всплывающее окно уничтожается.У меня проблема в том, что когда пользователь не отвечает на диалог браузера, всплывающее окно по-прежнему отображается без какой-либо соответствующей информации (пустой список мест).Я предполагаю, что это связано со мной, используя функцию setTimeout.Что может быть лучше, если всплывающее окно будет активировано только через 30 секунд, ЕСЛИ пользователь разрешит услуги определения местоположения?

...