点击Google地图标记重定向到其他页面

时间:2016-06-12 17:44:40

标签: javascript angularjs google-maps angular

我正在使用Google地图开发我的第一个AngularJS2应用程序。我想在点击标记时将用户转发到另一个页面(使用AngularJS Routing)。

目前没有任何事情发生。我认为这是理解AngularJS中事件的一般问题......

angular.module('starter.controllers').controller('MapCtrl', function($scope, $location, $rootScope) {

  var myLatlng = new google.maps.LatLng(50.413192, 8.033106);    

  var mapOptions = {
      center: myLatlng,
      zoom: 16,
      mapTypeId: google.maps.MapTypeId.ROADMAP
  };

  var map = new google.maps.Map(document.getElementById("map"), mapOptions);

  var myLatlnggg = new google.maps.LatLng(55.413192, 8.033106);
  var marker = new google.maps.Marker({
    position: myLatlnggg,
    map: map,
    title: 'Hello World!'
  });

  $scope.marker = marker;

  google.maps.event.addListener($scope.marker, 'click', function(){
      $location.path( '/spot' );
  });

})

1 个答案:

答案 0 :(得分:1)

对于在角度上下文之外发生的事件,请使用$scope.$apply()建议更改角度

google.maps.event.addListener($scope.marker, 'click', function(){
  $scope.$apply(function(){
      $location.path( '/spot' );
  });     
});