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'
});
}