Angular JS uiGmapgoogle-maps 在加载地图后添加标记

Angular JS uiGmapgoogle-maps add marker after map is loaded

最初在 AngularJS 中加载时我可以添加标记,但是当我尝试推动另一个标记时它不会添加它。 这是我的 Plunker

$scope.addMarkerLocation = function(){
  console.log('adding m');

  var m = 
      {
        id: 3,
        //icon: 'assets/img/blue_marker.png',
        latitude: 25.686384,
        longitude: -80.311644,
        showWindow: false,
        title: 'Jimmyz Kitchen Pinecrest',
        address: '9050 S Dixie Hwy Miami, FL 33156'
      };
  $scope.markers.push(m);
  console.log(m);
}

问题是您在 mainCtrl 的一个实例中创建了 google 地图,然后在另一个实例中添加了另一个标记,它们不共享相同的范围,因此第一个实例不知道的更改,您可以在同一上下文中使用按钮或使用服务

angular.module('appMaps').factory('markers', function markers () {
    return {
      currentMarkers: []
    }
  })

http://plnkr.co/edit/kKbEB2ZSHgWQWnCTIvHg?p=preview