Javascript JS-地理定位API在移动设备上甚至在HTTPS上都不起作用
我正在使用地理定位API获取用户当前位置,它在桌面上运行良好。在移动设备上(我正在安卓10、Chrome上测试),它不会向用户请求位置许可,所以我当然不能得到我需要的东西 我正在本地Apache web服务器上开发HTTP。 我尝试使用HTTPS,用Ngrok公开我的本地主机(它可以同时返回HTTP和HTTPS),但仍然不起作用 这就是JS代码:Javascript JS-地理定位API在移动设备上甚至在HTTPS上都不起作用,javascript,geolocation,Javascript,Geolocation,我正在使用地理定位API获取用户当前位置,它在桌面上运行良好。在移动设备上(我正在安卓10、Chrome上测试),它不会向用户请求位置许可,所以我当然不能得到我需要的东西 我正在本地Apache web服务器上开发HTTP。 我尝试使用HTTPS,用Ngrok公开我的本地主机(它可以同时返回HTTP和HTTPS),但仍然不起作用 这就是JS代码: var-lng; var lat; if(导航器.地理位置){ navigator.geolocation.getCurrentPosition(ge
var-lng;
var lat;
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(getPosition);
}
功能getPosition(位置){
lng=位置坐标经度;
纬度=位置坐标纬度;
//此处的其他一些代码(不影响API)
}
编辑
我还检查了我的手机设置和chrome设置,它们都很好。我访问了其他一些使用相同API的网站,它们实际上可以正常工作。错误回调函数返回什么? 这就是答案所在
var lng;
var lat;
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(getPosition, error);
}
function getPosition(position) {
lng = position.coords.longitude;
lat = position.coords.latitude;
// Some other code here (does not affect the API)
}
function error(err) {
console.warn(`ERROR(${err.code}): ${err.message}`);
}
基本上,一切都很好 我已经在手机上多次尝试了这个代码,没有做任何更改。 我又试了一次,突然它开始工作了
我不知道发生了什么,但现在它没有任何改变。检查你的android设置,chrome在过去可能被拒绝位置访问。另外,请检查您的chrome设置,查看特定于站点的区块。我已经检查了android设置。我还访问了另一个使用相同API的网站,它可以正常工作