用户批准/拒绝位置服务后的地理位置回调

时间:2018-05-10 15:08:37

标签: javascript callback geolocation bootstrap-modal settimeout

如果已经回答,请指出正确的方向。我做了一些搜索,但没有找到明确的答案。

基本上,我正在使用地理位置从数据库中拉出附近的经销商,然后在弹出窗口中显示它们(bootstraps模态)。

以下是一些相关代码:

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秒后才开始弹出弹出窗口的更好方法是什么?

0 个答案:

没有答案