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


      }