2016-12-15 3 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. Я исправил его