2016-12-15 120 views
0

我想在地圖顯示後顯示標記。我無法這樣做,不管有什麼錯誤。我確信快照是與數據和標記數組很好地創建。有沒有任何邏輯錯誤?請幫忙。爲什麼標記不顯示?

var apps = angular.module('appa',['firebase','uiGmapgoogle-maps']); 
 
apps.controller('mainCtrl', function($firebaseObject,$scope){ 
 

 
       var ref = firebase.database().ref(); 
 
       var marker = []; 
 
       ref.once("value") 
 
       .then(function(snapshot) 
 
       { 
 
       snapshot.forEach(function(child) 
 
       { 
 
        var mark = { 
 
        id: child.child("Id").val(), 
 
        coords: { 
 
        latitude: child.child("Lat").val(), 
 
        longitude: child.child("Long").val() 
 
        }, 
 
        options: { title: child.child("Alt").val() } 
 
        }; 
 
    marker.push(mark); 
 
       }); 
 
}); 
 

 
       $scope.map = { 
 
       center: 
 
       { 
 
        latitude: 67, 
 
        longitude: 24 
 
         }, 
 
       zoom: 3 
 
         }; 
 
    });
<body ng-app="apps"> 
 
    <div id="map_canvas" ng-controller="mainCtrl"> 
 
    <ui-gmap-google-map center="map.center" zoom="map.zoom"> 
 

 
     <ui-gmap-marker ng-repeat="m in marker" coords="m.coords" options="m.options" idkey="m.id"> 
 
      </ui-gmap-marker> 
 
        </ui-gmap-google-map> 
 
</div> 
 
<!--example--> 
 
</body>

回答

0

哦!我熱切的回答我的自我。這是一個簡單的錯誤。我沒有在$ scope中定義標記數組。因此,視圖沒有得到var標記。我糾正了它