sql >> Base de Datos >  >> NoSQL >> MongoDB

Angular Google Maps/NodeJS:mostrar marcadores de la base de datos

Este es un ejemplo de cómo funciona la visualización de marcadores en el mapa. Un par de consejos:

  • Cuando muestre varios marcadores, use ui-gmap-markers directiva en lugar de ng-repeat ing la directiva de marcador único.
  • Del mismo modo, utilice la versión plural ui-gmap-windows para mostrar las ventanas.
  • La directiva de marcadores lee las coordenadas de una clave de objeto que le proporcionas:<ui-gmap-markers coords="'coords'" ... > lee las coordenadas de coords atributo de su marcador. Lo mismo ocurre con otros atributos, como events , options etc.
  • Supongo que su LocFac.getLocations() devuelve una promesa, por lo tanto, sus Markers Es muy probable que la variable no se asigne correctamente. Es mejor que asigne $scope.markers dentro del .then devolución de llamada de su llamada API de la siguiente manera:

    $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;
    }
    

Si aún necesita ayuda después de esto, estaré encantado de brindársela :)