Ciao a tutti!
Sto programmando un piccolo tool di visualizzazione di dati di ghiacciai su google map.
I dati per ogni ghiacciaio sono contenuti in alcuni files xml. Usando jQuery faccio il parsing dei files e salvo i valori in un oggetto (json, glacier[shortName]{...}) in modo da potere in seguito utilizzare i valori in tutto lo script. Il problema è che gli oggetti risultano essere definiti solo nella funzione di parsing e non all'esterno. Evidentemente non basta dichiarare un oggetto con var glacier = {};

Come posso risolvere il problema?

Grazie in anticipo!


codice:
var map,
	mapOptions = {
      zoom: 9,
      center: new google.maps.LatLng(46.509736, 8.305664),
      mapTypeId: google.maps.MapTypeId.SATELLITE,
	  streetViewControl: false,
    };
var glacier = {};
	
var xmlGlacier= new Array();
	xmlGlacier[0]= "brunni";
	xmlGlacier[1]= "damma";
	xmlGlacier[2]= "griess";
	xmlGlacier[3]= "huefi";
	xmlGlacier[4]= "kehlen";
	xmlGlacier[5]= "rotfirn";
	xmlGlacier[6]= "sanktanna";
	xmlGlacier[7]= "tiefen";
	xmlGlacier[8]= "wallenbur";

function parseXml(xml){
		name = $(xml).find("Name").text();
		shortName = $(xml).find("Glacier").attr("short");
		lat = parseFloat($(xml).find("Lat").text());
		lon = parseFloat($(xml).find("Lon").text());
		lengths = new Array();
		length1973 = parseFloat(($(xml).find("Length").text())*1000);
		firstLength = length1973 -  parseFloat($(xml).find("Observation[year=1973] CumulativeLengthChange").text());
		$(xml).find("Observation").each( function(){
			if($(this).attr("year")>="1960"){lengths.push(parseFloat(firstLength + parseFloat($(this).find("CumulativeLengthChange").text())));}
		});

	    glacier[shortName] = {
			name: name,
			shortName: shortName,
			center: new google.maps.LatLng(lat, lon),
			lengths: lengths,
		} 
}	

	$(document).ready(function(){
		for(var i = 0; i < xmlGlacier.length; i++){
	  		$.ajax({
	    		type: "GET",
	    		url: "glaciers_data/" + xmlGlacier[i]+".xml",
	    		dataType: "xml",
	    		success: parseXml
	  		});
		} 
    
		map = new google.maps.Map(document.getElementById("map"), mapOptions);
		
		});