Javascript HTML5地理位置超时选项在角度模式下不工作

Javascript HTML5地理位置超时选项在角度模式下不工作,javascript,angularjs,html,geolocation,w3c-geolocation,Javascript,Angularjs,Html,Geolocation,W3c Geolocation,我已经用10秒的超时实现了HTML地理定位。 但是,10秒后不会触发“失败”回调。 (如果用户拒绝共享其位置的权限,则调用“failure”回调) 我的代码有什么问题 这是我的代码: function getLocation(){ var deferred = $q.defer(); var success = function(position){ deferred.resolve(position); };

我已经用10秒的超时实现了HTML地理定位。 但是,10秒后不会触发“失败”回调。 (如果用户拒绝共享其位置的权限,则调用“failure”回调)

我的代码有什么问题

这是我的代码:

function getLocation(){
        var deferred = $q.defer();
        var success = function(position){
            deferred.resolve(position);
        };
        var failure = function(error){
            deferred.reject(error);
        };
        var options = {timeout: 10000};
        if ($window.navigator && $window.navigator.geolocation) {
            $window.navigator.geolocation.getCurrentPosition(success, failure, options);
        }
        else {
            deferred.reject("Unsupported browser");
        }
        return deferred.promise;
    }
已解决

问题是,只有当用户同意共享其位置时,地理位置自身的超时才会启动。 我想处理这样一种情况:用户不同意,并且不会触发回调。
解决方案是使用$timeout创建另一个超时。

我认为您需要使用
中的
$scope.$apply()
运行摘要循环。然后调用方方法的
函数我尝试了。没有帮助。根本没有控制台错误。您使用的是哪个角度版本?1.4.2很好,我也使用角度1.4.2。超时在该JSFIDLE上也不起作用。