反向地理编码与AngularJS

问题描述:

我与反向地理编码的角度directive实验和我在唯一可用的时刻获得的纬度/经度从位置坐标,但反向地理编码指令将只给我的反向地理编码与AngularJS

错误

地理编码失败的原因:ZERO_RESULTS

我创建了一个简单的Plnkr例子来证明什么,我试图做到这一点,您可以查看here

当使用$scope.$apply(function(){ $scope.lat = lat; $scope.lng = lng; });

如果我用普通坐标,而不是像

$scope.$apply(function(){ 
     $scope.lat = 4.545; 
     $scope.lng = 12.756; 
    }); 

因为这只会导致从反向地理编码相同的错误不要紧。我试着在index.html文件

<reverse-geocode lat="{{lat}}" lng="{{lng}}"></reverse-geocode>花括号尝试,但我有一个强烈的感觉,我需要以某种方式修改他们抢纬度/经度COORDS,但至今没有运气

+0

的plunkr链接已经在我的描述。如果由于某种原因无法打开它,您应该可以在这里访问它:http://plnkr.co/edit/78SRIuBCIETEuEcdNOl5 – SmalliSax

这是因为指令将在异步$window.navigator.geolocation.getCurrentPosition完成之前编译并执行,这意味着指令内部的指令attrs.latattrs.lng都将为空。

一个简单的方法是防止指令从执行前是可用的数据:

<reverse-geocode ng-if="lat && lng" lat="{{lat}}" lng="{{lng}}"></reverse-geocode> 

演示:http://plnkr.co/edit/mJJ8OIvff1Xspnx24LfJ?p=preview

+0

我感觉这很简单,从您提供的Plnkr的外观似乎按预期工作。非常感谢你@tasseKATT! – SmalliSax

+0

不客气:-) – tasseKATT