我正在使用此代码来获取用户地理位置。一切顺利,直到用户拒绝获得该位置的许可。似乎这个选项被缓存了,我不知道如何重置它。
有没有办法重新获得许可?提前谢谢!
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
// Success Callback
}, function(error) {
//error Callback
},{
//options
});
}else{
//geolocation not available
}
答案 0 :(得分:1)
非常确定这是每个站点存储的浏览器/设备设置。我认为关键是你不能从脚本中重置它,因为它会首先击败提示点。我相信重置的唯一方法是更改浏览器/设备中的设置。
答案 1 :(得分:1)
就像bgreater所说,这取决于浏览器。但是当用户拒绝获取位置错误功能的权限时,将使用错误对象调用。此错误对象包含错误代码。当错误代码等于1时,表示用户拒绝权限。
var errorTypes = {
0: "Unknown error",
1: "Permission denied by user",
2: "Position is not available",
3: "Request timed out"
};
我认为,您可以查看此错误代码并向用户显示某种信息。