MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Angular Google Maps/NodeJS:Exibir marcadores do banco de dados


Aqui está um exemplo de como a exibição de marcadores no mapa funciona. Um par de ponteiros:
  • Ao exibir vários marcadores, use os ui-gmap-markers diretiva em vez de ng-repeat a diretiva de marcador único.
  • Da mesma forma, use a versão plural ui-gmap-windows para mostrar as janelas.
  • A diretiva markers lê as coordenadas de uma chave de objeto que você fornece a ela:<ui-gmap-markers coords="'coords'" ... > lê as coordenadas do coords atributo do seu marcador. O mesmo vale para outros atributos, como events , options etc.

  • Presumo que seu LocFac.getLocations() retorna uma promessa - portanto, seus Markers variável muito provavelmente não está sendo atribuída corretamente. É melhor atribuir $scope.markers dentro do .then callback da sua chamada de API da seguinte forma:
    $scope.markers = []; // init markers to empty array so angular-google-maps has something to draw markers from
    LocFac.getLocations().then(function(data) {
        var markers = data.data;
        angular.forEach(markers, function(marker) {
            // Assign 'coords' attribute here for the directive to read
            marker.coords = {
                latitude: marker.latitude,
                longitude: marker.longitude
            }
        })
        $scope.markers = markers;
    }
    

Se você ainda precisar de ajuda depois disso, ficarei feliz em fornecer alguma :)