Ciao a tutti, sto cercando di sviluppare un applicativo che utilizzar� Google Maps.
Ho dei dati dati(come le coordinate del marker) memorizzati in un DB, e ho usato AJAX per prelevarli in formato JSON.
So che AJAX � asincorno, quindi se per caso dovesse caricarsi prima la mappa della response AJAX, i marker non si vedrebbero, e mi darebbe un errore.
Per cercare di ovviare a questo problema, ho cercato di utilizzare il metodo JQuery $.when().done(), ma non riesco comunque ad accedere all'oggetto JSON al di fuori della chiamata AJAX.
Mi potreste dare una mano?
codice:var ajaxData;var map; var data; var centro = {lat: 45.464211, lng: 9.191383}; function jsonData(){ ajaxData = $.ajax({ url: '/data', dataType: 'json' }); } $.when(jsonData()).done(function(){ console.log("Ajax fired"); data = ajaxData; //assegno a data il valore di AjaxData per poter accedere a data dall'esterno della funzione }); console.log(data[0].coord_x); //qui mi da undefined function initMap() { map = new google.maps.Map(document.getElementById('map'), { center: centro, zoom: 13 }); var marker = new google.maps.Marker({ position: centro, map: map, icon: 'http://maps.google.com/mapfiles/ms/icons/green-dot.png' }); }

Rispondi quotando
