我遇到了一个无法找到解决方案的问题。基本上,在使用谷歌地图时,成功回调不会加载,直到用户点击允许或拒绝(这将触发错误回调)。因此,只要请求访问的弹出窗口仍然被忽略,屏幕上就不会显示任何内容。
有没有办法说如果在10秒后没有点击“允许”或“拒绝”,那么调用错误回调?
答案 0 :(得分:0)
我刚刚使用了一个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});
}