地理位置API权限Web浏览器

时间:2011-06-02 14:56:35

标签: html api browser geolocation

我正在使用此代码来获取用户地理位置。一切顺利,直到用户拒绝获得该位置的许可。似乎这个选项被缓存了,我不知道如何重置它。

有没有办法重新获得许可?提前谢谢!

if (navigator.geolocation) {                                            

        navigator.geolocation.getCurrentPosition(function(position) {       

            // Success Callback


        }, function(error) {
            //error Callback

        },{
                  //options
            });
     }else{
        //geolocation not available
     }

2 个答案:

答案 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" 
};

我认为,您可以查看此错误代码并向用户显示某种信息。