2013-06-13 2 views
0

Я использую angularjs UI-map, я петлю данные от firebase. Пока все хорошо, но когда я нажимаю на маркеры, и он всегда отображает последние данные запроса. здесь Snipper кодПользовательский интерфейс Angularjs всегда показывает последнюю информацию

В HTML

<!-- Setup Marker --> 
    <div ng-repeat="marker in markers" 
      ui-map-marker="markers[$index]" 
      ui-event="{'map-click': 'showMarkerInfo(marker)'}"> 
    </div> 

    <!-- Setup Marker Info Window --> 
    <div ui-map-info-window="infoWindow"> 
     <div>Marker - <input ng-model="full_name"></div> 
     <div>Message</div> 
    </div> 

В JS

firebaseAuth.firebaseRef.child('/human/').on('child_added', function(snapshot) { 
    $scope.users = snapshot.val(); 
    $scope.latLng = new google.maps.LatLng($scope.users.lat, $scope.users.lng); 
    $scope.markers.push(new google.maps.Marker({ 
     map: $scope.map, 
     position: $scope.latLng 
    })); 

}); 


     $scope.showMarkerInfo = function(marker) { 
      $scope.currentMarkerLat = $scope.users.full_name; 
      $scope.infoWindow.open($scope.map, marker); 
      console.log(marker); 
     }; 

ответ

0

Я не пробовал угловой пользовательский интерфейс, но эта проблема выглядит так же, как "Javascript infamous Loop problem », поэтому вы можете попробовать:

ui-event="{'map-click': 'showMarkerInfo(markers[$index])'}" 

Однако, я думаю, это будет иметь ту же проблему, но стоит попробовать.

+0

не работает, любые другие предложения? – vzhen

Смежные вопросы