在外部功能之后更新模型,例如从Google Maps API获取位置

时间:2018-06-05 08:53:21

标签: angularjs google-maps google-maps-api-3

我有一个AngularJS应用程序,它有一个位置列表,它存储了一个lat& lng值为每个。

该应用程序使用Google Maps API自动填充地址输入框,访问者可以选择其地址。一旦他们选择了他们的地址并且谷歌地图API给了我他们的坐标,我想用它来为模型服务器调用,这是上面提到的带有lat& amp;位置的列表。 lng值。

然后我使用ng-repeat显示数据列表。我想在数据中加入一个Google Maps API方法,用于计算用户位置和每个列出位置之间的距离。

所以我的问题是我如何:

  1. 仅在访问者为自动提示框选择其位置后才对服务器进行http调用。
  2. 仅运行该功能以计算用户位置建立后的距离。
  3. 实质上,如何在外部函数运行后运行AngularJS函数并更新$ scope变量?

                search.controller('SearchController', function SearchController($scope) {
                    $scope.results = [{
                        name: 'Shop 1',
                        lat: -33.883244,
                        lng: 151.212156
                    }];
                    $scope.sortBy = "name";
                });
    
                function initMap() {
                    var input = document.getElementById('addressBox');
                    autocomplete = new google.maps.places.Autocomplete(input, {
                        componentRestrictions: { country: 'au' },
                        types: ['geocode']
                    });
                    autocomplete.addListener('place_changed', function() {
                        console.log(autocomplete.getPlace().geometry);
                    });
                }
    

0 个答案:

没有答案