如果未授予/拒绝访问,则 navigator.geolocation.getCurrentPosition 超时
Posted
技术标签:
【中文标题】如果未授予/拒绝访问,则 navigator.geolocation.getCurrentPosition 超时【英文标题】:navigator.geolocation.getCurrentPosition timeout if not granted /denied access 【发布时间】:2014-05-07 10:57:08 【问题描述】:我有一个问题,我找不到解决办法。基本上,当使用谷歌地图时,成功回调不会加载,直到用户点击允许或拒绝(这将触发错误回调)。因此,只要请求访问的弹出窗口仍然被忽略,屏幕上就不会显示任何内容。
有没有办法说如果10秒后没有点击“允许”或“拒绝”然后调用错误回调?
【问题讨论】:
查看您的一些有问题的代码可能会有所帮助,因此我们可以更好地了解您在做什么 这是这里描述的基本设置:developer.mozilla.org/en-US/docs/Web/API/… 【参考方案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);
【讨论】:
以上是关于如果未授予/拒绝访问,则 navigator.geolocation.getCurrentPosition 超时的主要内容,如果未能解决你的问题,请参考以下文章
尝试授予权限时拒绝用户“root”@“localhost”的访问。如何授予权限?