目前,我正努力开发一个应用程序,供员工每天上下班。
我目前已经设置了地理定位,以自动获取用户的位置,并将其存储在数据库中,但是,由于明显的原因,如果用户按下拒绝,它无法获得该位置。
是否有一种方法,我可以强制位置在我的网页,或阻止页面加载,如果位置被禁用。
我已经成功地设置了一个函数,但是如果用户按下not now按钮或稍后选择,页面仍然会正确呈现,并且不会阻止员工使用系统。
我需要做的是:
任何帮助都将不胜感激。
发布于 2016-03-14 02:48:19
我不知道您是如何生成页面的,但是如果您可以依赖Javascript来呈现,或者如果在拒绝的情况下重定向到错误页面是可以接受的,您可以使用以下事实:在发生拒绝时,您将得到一个错误回调:
navigator.geolocation.getCurrentPosition(success[, error[, options]])所以你可以选择:
success处理程序时才呈现,否则显示错误(超时后)现在,你的“明确否认”,我怀疑这是可能的。我能建议的最好是,您有关于清除错误页面中的geo设置的说明。不幸的是,这将取决于操作系统和浏览器。
发布于 2016-03-14 02:53:06
一旦用户否认,您就无法获得lat/lng。这是由浏览器执行的。另一种选择是获取用户的IP地址作为回退,将其映射到物理地址。但是请注意,当用户连接到wifi时,这种方法效果更好。3G/4G的精确度在邮编水平。
发布于 2017-07-04 11:28:46
地理定位的格式是
navigator.geolocation.getCurrentPosition(success, error, options)您可以通过以下方式检查用户是否阻止了位置提示
navigator.geolocation.getCurrentPosition(
function(position) {
// Success goes here
}.bind(this),
function(error) {
toastr.error("Please turn on location for this feature")
setTimeout(function() {
window.location.href = '/'
}, 2000)
}, [your options]
)https://stackoverflow.com/questions/35978541
复制相似问题