我正在尝试通过
获取用户位置navigator.geolocation.getCurrentPosition(this.check_location.bind(this), this.on_get_position_error.bind(this), { enableHighAccuracy: true, timeout: 5000 });
它在大多数时候都很完美。但是,如果在设备设置中禁用了地理位置(例如在iPhone上:设置应用>隐私>位置服务>关闭),Safari或Chrome就不会调用任何回调(两者都不会) this.check_location()
也this.on_get_position_error()
)。
有什么想法吗?
由于
答案 0 :(得分:1)
好的,我修好了。我不明白为什么,但添加0延迟超时使其工作:
setTimeout(function() {
navigator.geolocation.getCurrentPosition(this.check_location.bind(this), this.on_get_position_error.bind(this), { enableHighAccuracy: true, timeout: 5000 });
}.bind(this), 0);