反向地理编码与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,但至今没有运气
答
这是因为指令将在异步$window.navigator.geolocation.getCurrentPosition
完成之前编译并执行,这意味着指令内部的指令attrs.lat
和attrs.lng
都将为空。
一个简单的方法是防止指令从执行前是可用的数据:
<reverse-geocode ng-if="lat && lng" lat="{{lat}}" lng="{{lng}}"></reverse-geocode>
的plunkr链接已经在我的描述。如果由于某种原因无法打开它,您应该可以在这里访问它:http://plnkr.co/edit/78SRIuBCIETEuEcdNOl5 – SmalliSax