【问题标题】:Reverse Geocoding with AngularJS使用 AngularJS 进行反向地理编码
【发布时间】:2016-01-06 14:56:05
【问题描述】:

我正在 Angular 中尝试反向地理编码 directive,目前我只能从某个位置获取 lat/lng 坐标,但反向地理编码指令只会给我一个错误

地理编码器失败,原因是: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 坐标,但到目前为止还没有运气

【问题讨论】:

标签: angularjs google-maps reverse-geocoding


【解决方案1】:

这是因为指令会在异步$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

【讨论】:

  • 我感觉这很容易,从您提供的 Plnkr 的外观来看,它似乎按预期工作。非常感谢@tasseKATT!
猜你喜欢
  • 2021-01-26
  • 2018-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多