ho già incluso le mappe api nel mio progetto. Ora voglio mostrare alcuni indicatori sulla mia mappa. Ho initialse mia mappa in una funzione di avvio:Meteor.js e Google Maps
Meteor.startup(function() {
...
var mapOptions = {
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
Map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
quanto mi misi al centro della mappa su rendendo
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);
Fino ad ora tutto funziona bene. Nonostante io abbia un PostCollection che contiene alcune coordinate per me. Ho una pubblicazione e sottoscrizione. Ora voglio mostrare i miei post tramite marcatori sulla mappa.
La mia prima idea era di farlo nella mia funzione di rendering. Il problema è che durante il caricamento iniziale non vengono visualizzati post, perché la mia raccolta locale (clientide) non contiene post. Ci vuole un po 'di tempo prima che i messaggi vengano caricati dal server.
Questo è il motivo per cui ho provato a costruire una funzione helper. Perché l'helper si ricarica automaticamente se qualcosa all'interno dei miei post cambia.
Template.mapPostsList.helpers({
posts: function() {
var allPosts = Posts.find();
allPosts.foreach(function(post) {
create marker and attach it to the map
....
marker.setMap(Map);
})
Il problema è ora che la mia variabile di mappa non è definita. C'è un modo per definirlo in ambito globale? Perché posso usare la mia variabile Mappa nella mia funzione di rendering? Nonostante non gradisca il mio approccio per iniettare i miei marker con la funzione helper o è il solito modo?
Qualcuno può darmi un suggerimento su come realizzare il mio problema?
Ricevo un Google non è l'errore definito anche se ho incluso il tag script nell'intestazione e seguii i vostri passi, tutte le idee? – Kjellski
Forse, se hai un esempio per me;) – chaosbohne
Mi dispiace, ho lasciato l'argomento tempo fa e non sono riuscito a recuperare. Colpa mia. – Kjellski