我正在用谷歌地图开发我的第一个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' );
});
})发布于 2016-06-12 20:09:13
对于在角上下文之外发生的事件,请使用$scope.$apply()通知变化的角度。
google.maps.event.addListener($scope.marker, 'click', function(){
$scope.$apply(function(){
$location.path( '/spot' );
});
});https://stackoverflow.com/questions/37777280
复制相似问题