我正在使用HTML5地理位置来获取用户位置。如果用户接受共享该位置,则呼叫以高准确度完成,如果用户选择不共享该位置,则首选回退机制(错误情况或拒绝)。
问题是如果用户没有选择任何选项。那么没有方法被执行。有没有办法设置如果用户不允许或拒绝位置访问,应该调用回退方法?我试过超时20000(20秒),但是没用。
有人可以帮助在这种情况下如何处理吗?
请参阅以下代码:
//function to get device location
function getLocation(successCallback, showError, locFallback)
{
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(successCallback, showError, { enableHighAccuracy: true, timeout: 20000 });
}
else
{
locFallback();
}
}
$(document).ready(function () {
var coord;
function setLocation(position) {
coord = position.coords;
getLocationsData();
}
function getLocationsData() {
//some code which uses ajax to load data based on co ordinates
}
function deviceLocFallback() {
//some code which uses geoIP database or 3rd party to get less accurate co ordinates
coord = fromFallback;
getLocationsData();
}
$.ajax({
//some code which runs initially, ajax call to server, below code runs in callback of ajax
getLocation(setLocation, deviceLocFallback, deviceLocFallback);
});
});