Comment puis-je append des marqueurs à Google Maps avec Node.js / Express / MongoDB?

J’ai décidé cette semaine que j’aimerais apprendre Node.js (je ne suis pas un programmeur). Je me suis beaucoup amusé avec ça jusqu’à présent, mais je suis coincé pour le moment.

J’ai créé une application de base avec Express. Disons que j’ai un itinéraire / lieux. J’ai défini ma requête get pour rendre la vue associée et trouver (à l’aide de la méthode .find de Mongoose) tous les documents de mon modèle d’emplacement. Je sais que je peux transmettre les documents à la vue comme ceci:

app.get('/locations', function(req, res) { Location.find({}, function(err, docs) { res.render('locations/index', { title: 'Locations', user: req.user, docs: docs }); }); }); 

Je peux ensuite, par exemple, accéder aux résultats dans la vue (Jade) et les lister en faisant quelque chose comme:

 if(docs.length) each location in docs p #{location.name} is at #{location.coordinates} 

Je souhaite append tous ces emplacements (en utilisant les coordonnées stockées avec chaque “emplacement”) sur une carte Google. J’ai un exemple de carte affichée dans la vue à l’aide du script suivant en tête, tiré de la documentation de l’API Google Maps.

 function initialize() { var myLatlng = new google.maps.LatLng(-25.363882,131.044922); var mapOptions = { zoom: 4, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP, } var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions); var marker = new google.maps.Marker({ position: myLatlng, title: "Hello World!" }); marker.setMap(map); } google.maps.event.addDomListener(window, 'load', initialize); 

J’ai pensé où la variable de marqueur est créée puis définie. Je pouvais parcourir mes ‘docs’ et créer et définir un marqueur pour chaque emplacement stocké dans ma firebase database. Cela dit, je suis trop novice dans ce domaine et je n’arrive pas à comprendre comment le faire car le script dans la tête ne peut pas accéder aux “documents” que j’ai transmis à la vue.

Aucun conseil? Merci d’avance, c’est très apprécié.

Je JSON.ssortingngify() tous les objects nécessaires à mes scripts client et les insère en tant que data-whatever HTML5 data-whatever atsortingbuts.

Par exemple:

 //app.js app.get('/map', function(req, res){ var data = { id: '1234', LL: { lat: 42.1, lng: 80.8, }; res.locals.docsJSON = JSON.ssortingngify([data]); res.render('locations/index'); }); //jade !!! html body(data-locations=locals.docsJSON) script var docs = JSON.parse($('body').attr('data-locations')); console.log(docs[0].LL);