移动版Safari中的HTML5地理位置“权限被拒绝”错误

时间:2012-11-24 20:46:42

标签: html5 geolocation mobile-safari

我正在创建一个移动网站,该网站使用HTML5地理位置请求用户点击按钮时的当前位置。这在移动Chrome中运行良好 - 提示用户共享其当前位置,如果他们接受,则程序流程将按预期继续。但是,在移动版Safari中,系统永远不会提示用户共享其位置,并且浏览器默认为地理位置“PERMISSION_DENIED”'错误。

尽管用户从未提示他们选择不分享他们的位置,但他们表现得好......

地理位置代码:

function geoLocate() {
try{
    if(navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(getUserPosition, handleGeolocateErrors);
    } else {
        alert('your browser does not support geolocation');
    }
} catch(evt) {
    alert(evt);
}

}

错误处理:

function handleGeolocateErrors(error) {
switch(error.code) {
    case error.PERMISSION_DENIED: alert('User did not share location'); break;
    case error.POSITION_UNAVAILABLE: alert('Unable to get position'); break;
    case error.TIMEOUT: alert('Request timed out'); break;
    default: alert('An error occured'); break;
}
}

0 个答案:

没有答案