HTML5地理位置超时选项在Angular中不起作用

时间:2015-07-19 10:43:01

标签: javascript angularjs html5 geolocation w3c-geolocation

我实施了HTML Geolocation,暂停时间为10秒。 然而,失败' 10秒后没有触发回叫。 (如果用户拒绝分享其职位的权限,则会调用'失败'回调。)

我的代码出了什么问题?

这是我的代码:

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创建另一个超时。

0 个答案:

没有答案