Javascript 如何在web应用程序中请求html5地理定位api的用户权限?

Javascript 如何在web应用程序中请求html5地理定位api的用户权限?,javascript,android,html,google-chrome,geolocation,Javascript,Android,Html,Google Chrome,Geolocation,我有这个代码来使用html5地理定位 this.getCurrentLocation = function(callback) { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function (pos) { callback({ 'lat' : pos.coords.latitud

我有这个代码来使用html5地理定位

    this.getCurrentLocation = function(callback) {
        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(function (pos) {
                callback({
                    'lat' : pos.coords.latitude,
                    'lng' : pos.coords.longitude        
                });
            }, function (error) {
                switch(error.code) {
                    case error.PERMISSION_DENIED:
                        alert("Could not get your location. User denied the request for Geolocation.");
                        break;
                    case error.POSITION_UNAVAILABLE:
                        alert("Could not get your location. Location information is unavailable.");
                        break;
                    case error.TIMEOUT:
                        alert("Could not get your location. The request to get user location timed out.");
                        break;
                    case error.UNKNOWN_ERROR:
                        alert("Could not get your location. An unknown error occurred.");
                        break;
                    default:
                        alert("Could not get your location. An unknown error occurred.");
                }
                callback(null);
            }, {
                maximumAge: 500000, 
                enableHighAccuracy:true, 
                timeout: 6000
            });
        }
    };
我正在android手机上的chrome浏览器上测试它。但它马上就说用户拒绝了权限。它甚至没有问我是否愿意。我怎样才能让它请求许可。我已经在网站设置,该位置应该被要求获得许可了

如果我在桌面上尝试,它会工作

有人知道怎么了吗


谢谢,这不是通过HTML或JavaScript实现的(这是一件好事)。这必须通过用户的应用程序设置完成。否则,开发者就可以绕过用户的意愿,将接受位置服务的使用编码到他们的应用程序中。

但在我的应用程序设置中,在谷歌浏览器上,它说要先问。问题是该网站甚至没有询问。关闭该设置,然后再次打开以重置它。一旦应用程序询问您并得到响应,它将不再询问。我尝试了,但它仍然进入用户拒绝权限。它必须是设备/用户代理设置。这无法通过代码确定。在另一台设备上试用。我通过使用
HTTPS
修复了它。android上的Chrome不适用于地理定位,除非其连接安全。