Javascript 如何在web应用程序中请求html5地理定位api的用户权限?
我有这个代码来使用html5地理定位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
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不适用于地理定位,除非其连接安全。