使用 AngularJS 进行反向地理编码
Reverse Geocoding with AngularJS
我正在 Angular 中尝试使用反向地理编码 directive,目前我只能从某个位置获取 lat/lng 坐标,但反向地理编码指令只会给我一个
的错误
Geocoder failed due to: 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 坐标,但到目前为止运气不佳
因为指令会在异步$window.navigator.geolocation.getCurrentPosition
完成之前编译和执行,这意味着指令内部attrs.lat
和attrs.lng
都是空的。
一个简单的解决方案是在数据可用之前阻止指令执行:
<reverse-geocode ng-if="lat && lng" lat="{{lat}}" lng="{{lng}}"></reverse-geocode>
我正在 Angular 中尝试使用反向地理编码 directive,目前我只能从某个位置获取 lat/lng 坐标,但反向地理编码指令只会给我一个
的错误Geocoder failed due to: 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 坐标,但到目前为止运气不佳
因为指令会在异步$window.navigator.geolocation.getCurrentPosition
完成之前编译和执行,这意味着指令内部attrs.lat
和attrs.lng
都是空的。
一个简单的解决方案是在数据可用之前阻止指令执行:
<reverse-geocode ng-if="lat && lng" lat="{{lat}}" lng="{{lng}}"></reverse-geocode>