如何更改函数 "autocomplete.addListener()" 内的路由? AngularJs Google 地图 API

How to change route inside the function "autocomplete.addListener()" ? AngularJs Google Maps API

我想在选择一个建议时将路线更改为 '/blood_test' 但它没有发生,只能正确获得 console.log

但是将 $location.path('/blood_test'); 放在函数之外时,路由正在改变

 $location.path('/blood_test');
autocomplete.addListener('place_changed', function() {
          console.log('yoyoyoyo');
          $location.path('/blood_test');
       });

 autocomplete.addListener('place_changed', function() {
          console.log('yoyoyoyo');
          $location.path('/blood_test');
       });

我希望路线更改为“/blood_test”,但它停留在同一路线上。

place_changed 事件在 angular 上下文之外触发,您必须替换

$location.path(url);

$scope.$apply(function() {
    $location.path(url);
});

Here is a demo