0
我有一個問題,我無法找到一個解決方案。基本上,使用谷歌地圖時,直到用戶點擊允許或拒絕(將觸發錯誤回調)纔會加載成功回調。所以只要彈出式請求訪問仍然被忽略,屏幕上就不顯示任何內容。navigator.geolocation.getCurrentPosition超時如果不授予/拒絕訪問
有沒有辦法說如果10秒後沒有點擊「允許」或「拒絕」,然後調用錯誤回調?
我有一個問題,我無法找到一個解決方案。基本上,使用谷歌地圖時,直到用戶點擊允許或拒絕(將觸發錯誤回調)纔會加載成功回調。所以只要彈出式請求訪問仍然被忽略,屏幕上就不顯示任何內容。navigator.geolocation.getCurrentPosition超時如果不授予/拒絕訪問
有沒有辦法說如果10秒後沒有點擊「允許」或「拒絕」,然後調用錯誤回調?
我剛剛使用了一個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});
}
它可能有助於看到一些有問題的代碼,所以我們得到一個更好的主意,你在做什麼 – duncan
這是這裏所描述的基本設置:https://開頭developer.mozilla.org/en-US/docs/Web/API/Geolocation.getCurrentPosition –