【问题标题】:navigator.geolocation.getCurrentPosition timeout if not granted /denied access如果未授予/拒绝访问,则 navigator.geolocation.getCurrentPosition 超时
【发布时间】:2014-05-07 10:57:08
【问题描述】:

我有一个问题,我找不到解决办法。基本上,当使用谷歌地图时,成功回调不会加载,直到用户点击允许或拒绝(这将触发错误回调)。因此,只要请求访问的弹出窗口仍然被忽略,屏幕上就不会显示任何内容。

有没有办法说如果10秒后没有点击“允许”或“拒绝”然后调用错误回调?

【问题讨论】:

标签: javascript google-maps-api-3 callback geolocation


【解决方案1】:

我刚刚使用了一个 setTimeout 函数,它在 X 秒后调用了 handleNoGeolocation 函数。如果用户随后单击“允许”,则会执行成功函数。

这是我的代码:

if(navigator.geolocation) {
          var timeout = setTimeout(function(){
            handleNoGeolocation();
          }, 3000);
          navigator.geolocation.getCurrentPosition(function(position) {
            clearTimeout(timeout);
            initialLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
            map.setCenter(initialLocation);
            doDirections();
          }, handleNoGeolocation, {timeout: 10000, enableHighAccuracy: true});
     }

【讨论】:

    猜你喜欢
    • 2016-03-16
    • 2016-12-02
    • 2012-01-19
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    • 2016-10-26
    • 2018-06-08
    • 1970-01-01
    相关资源
    最近更新 更多