我正在Angular中尝试反向地理编码directive,目前我只能从一个位置获取lat / lng坐标,但反向地理编码指令只会给我一个错误
Geocoder因以下原因失败: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>
但我有一种强烈的感觉,我需要以某种方式编辑它们以获取lat / lng coords,但到目前为止没有运气
答案 0 :(得分:1)
因为该指令将在异步$window.navigator.geolocation.getCurrentPosition
完成之前编译并执行,这意味着在指令中attrs.lat
和attrs.lng
都将为空。
一个简单的解决方案是在数据可用之前阻止指令执行:
<reverse-geocode ng-if="lat && lng" lat="{{lat}}" lng="{{lng}}"></reverse-geocode>