MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Angular Google Maps/NodeJS:mostra i marcatori dal database

Ecco un esempio di come funziona la visualizzazione degli indicatori sulla mappa. Un paio di indicazioni:

  • Quando visualizzi più marcatori, usa ui-gmap-markers direttiva invece di ng-repeat zione della direttiva marcatore unico.
  • Allo stesso modo, usa la versione plurale ui-gmap-windows per mostrare le finestre.
  • La direttiva markers legge le coordinate da una chiave oggetto che gli fornisci:<ui-gmap-markers coords="'coords'" ... > legge le coordinate dalle coords attributo del tuo marcatore. Lo stesso vale anche per altri attributi, come events , options ecc.
  • Presumo che il tuo LocFac.getLocations() restituisce una promessa, quindi i tuoi Markers molto probabilmente la variabile non viene assegnata correttamente. È meglio assegnare $scope.markers all'interno di .then richiamata della tua chiamata API come segue:

    $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 hai ancora bisogno di aiuto dopo questo, sarò felice di fornirti un po' :)