Meteor.js et Google Maps

j'ai déjà inclus maps api dans mon projet. Maintenant, je veux vous montrer quelques repères sur ma carte.
Je initialse ma carte dans une fonction de démarrage:

Meteor.startup(function() {
...
var mapOptions = {
  zoom: 8,
  mapTypeId: google.maps.MapTypeId.ROADMAP
};

Map = new google.maps.Map(document.getElementById("map-canvas"),
  mapOptions);  

Que j'ai mis au centre de la carte sur le rendu

Template.mapPostsList.rendered = function() {
var p2 = Session.get('location');

Map.setCenter(new google.maps.LatLng(p2.lat, p2.lng));
var marker = new google.maps.Marker({
    position: new google.maps.LatLng(p2.lat, p2.lng),
    title:'Meine Position'
  });
marker.setMap(Map);   

Jusqu'à maintenant tout fonctionne très bien.
Malgré que j'ai un PostCollection qui contient des coordonnées pour moi.
J'ai un publier et subscribefunction. Maintenant je veux montrer à mes postes par le biais de marqueurs sur la carte.

Ma première idée était de le faire dans mon rendu de la fonction. Le problème est que sur le chargement initial: pas de messages sont affichés, parce que mon localcollection(côté client) ne contiennent pas de messages. Il faut un certain temps jusqu'à ce que des postes sont chargés à partir du serveur.

C'est la raison pourquoi j'ai essayé de construire un helperfunction. Parce que le helper automatiquement realoads si quelque chose dans mes messages changements.

Template.mapPostsList.helpers({
posts: function() {
   var allPosts = Posts.find();
   allPosts.foreach(function(post) {
      create marker and attach it to the map
      ....
      marker.setMap(Map);
   })

Le Problème est maintenant, que ma carte variable n'est pas définie. Est-il un moyen de le définir dans la portée globale? Pourquoi puis-je utiliser ma Carte de variable dans ma rendu la fonction?
Malgré que je n'aime pas mon approche à injecter mes repères avec la helperfunction ou est-ce la façon habituelle?

Quelqu'un peut-il me donner des astuce comment accomplir mon problème?

OriginalL'auteur chaosbohne | 2013-05-26