我正在创建一个移动网站,该网站使用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;
}
}