我正在构建一个应用程序,我需要用户的位置来完成他的注册,但我该如何让他允许?我的意思是,弹出窗口显示“系统想要访问您的位置,是否允许?”,如果他/她允许,那很好,但如果他/她拒绝,我想重新问他,说些什么就像,除非您允许我们获取您的位置,然后重新询问他,否则您无法继续。因为我知道你可以清理你的位置设置、chorme 设置等,但是有什么方法可以通过 javascript 做到这一点吗?
这是我的功能
function pegaPaisUser(){
navigator.geolocation.getCurrentPosition(addPaisToUser,localizacaoNegada);
}
function localizacaoNegada(erro){
pegaPaisUser();
console.log("HERE")
}[![my console][1]][1]
最佳答案
使用下面的代码时,我发现第一次单击该网站时,我会被要求获得位置服务的许可。如果我拒绝并重试,我会在 chrome 栏中看到一个小图标,但仅此而已。看来您应该指导用户如何选择它。或者以其他方式说服他们第一次授予访问权限。
<div class="message">
<p>This application needs the location services. Please click the button if you want to allow location services to be used.</p>
<button class="js-retry-location">Allow Location services</button>
</div>
const retryButton = document.querySelector('.js-retry-location');
retryButton.addEventListener('click', event => {
navigator.geolocation.getCurrentPosition({ coords }=> {
console.log(coords);
});
});
关于javascript - 有没有办法重新请求用户许可获取他的位置,或者使用带有 JavaScript 的地理定位 API 删除旧设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61643582/