我使用window.navigator.geolocation.getCurrentPosition()
来获取用户是否允许从浏览器使用地理位置的状态。但是,我发现我的angularjs app有一个显着的延迟,可以看到检测到'allow'的确切时刻。我使用angular来检测它自己的$window
而不是window
,以便于检查。但是,用户点击允许后通常会导致2秒左右的延迟,只有这样,角度检测到我的广播消息browser-geo-location-permitted
,因为只有在getCurrentPosition作为承诺执行后才会播放广播。
$window.navigator.geolocation.getCurrentPosition(function(position) {
$rootScope.$broadcast('browser-geo-location-permitted');
})
所以我想知道我用这种方式检测是否有问题,或者有更简单的方法来捕获用户点击“允许”浏览器地理位置请求的确切时刻?我也对纯粹的js解决方案持开放态度。
谢谢
答案 0 :(得分:0)
不,没有办法通知用户何时允许地理位置。只有在浏览器确定了用户的位置时才会通知您。