2016-06-12 130 views
1

我正在用Google地图开发我的第一个AngularJS2应用程序。我想在点击标记时将用户转发到另一个页面(使用AngularJS路由)。重定向到其他页面点击谷歌地图标记

目前没有任何反应。我认为这是理解在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

的事件是标志click事件的工作?对于超出角度范围的事件,应该使用'$ apply()' – charlietfl

+0

@charlietfl谢谢!这有助于!将创建,如果你张贴它作为答案,所以我可以标记它! – rakete

回答

1

对于外界的角度范围内使用$scope.$apply()发生劝告角度变化

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