

function leggiXML(nomeXML){

	<!--L'XML viene letto diversamante a seconda del browser che utilizziamo-->
	if(document.implementation && document.implementation.createDocument){
	// *** Mozilla

		//apro il file xml
		myXMLHTTPRequest = new XMLHttpRequest();
		myXMLHTTPRequest.open("GET", nomeXML, false);
		myXMLHTTPRequest.send(null);
		//leggo il file XML
		var xmlDoc = myXMLHTTPRequest.responseXML;
		var points = xmlDoc.documentElement.getElementsByTagName("point");
		var info = xmlDoc.documentElement.getElementsByTagName("info");

    		//ciclo per ogni marker trovato
    		for (var i = 0; i < points.length; i++) {

      		var point = new GPoint(parseFloat(points[i].getAttribute("lng")) ,parseFloat(points[i].getAttribute("lat")));
 		var labels = points[i].getAttribute("labels");
		//creo il marker
		var marker = createMarker(point, info[i], labels);
		//aggiungo il marker sulla mappa
		map.addOverlay(marker);
    		}

	}else {
	// *** Explorer


		var request = GXmlHttp.create();
		request.open("GET", nomeXML, true);
		request.onreadystatechange = function() {
	  	if (request.readyState == 4) {

	  	var xmlDoc = request.responseXML;
    		var points = xmlDoc.documentElement.getElementsByTagName("point");
		var info = xmlDoc.documentElement.getElementsByTagName("info");


    		for (var i = 0; i < points.length; i++) {
      			var point = new GPoint(parseFloat(points[i].getAttribute("lng")) ,parseFloat(points[i].getAttribute("lat")));
 			var labels = points[i].getAttribute("labels");

			var marker = createMarker(point, info[i], labels);

			map.addOverlay(marker);
    		}

  	}

	}
	request.send(null);
	}
}//fine leggi XML


function createMarker(point,info, labels) {

	var iconaPersonale = new GIcon();

	iconaPersonale.iconSize=new GSize(7,15);

	//iconaPersonale.shadowSize=new GSize(56,32);

	iconaPersonale.iconAnchor=new GPoint(3,15);

	iconaPersonale.infoWindowAnchor=new GPoint(3,0);


	var miaIcona = new GIcon(iconaPersonale, "../img/flag.gif");

        var marker = new GMarker(point, miaIcona);


        GEvent.addListener(marker, "click", function() {
        var fullname= info.getAttribute("fullname");
        var telefono= info.getAttribute("telefono");
        var inidirizzo=info.getAttribute("indirizzo");
        var url=info.getAttribute("url");

        var testoHTML=fullname+"<br />"+telefono+"<br />"+inidirizzo+"<br /> <a href="+url+">visita il sito web</a><br />";
        marker.openInfoWindowHtml(testoHTML);   });


	  return marker;
}



function creaMappa(){
	if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());

	map.setCenter(new GLatLng(45.414852, 7.544537), 11);
	<!--fate attenzione che se il vostro marker non ha coordinate molto vicine a quelle del centro della mappa-->



// Crea un nuovo marker nel punto specificato con una descrizione HTML associata
function createMarker(point, description) {
var marker = new GMarker(point);
GEvent.addListener(marker, "mouseover", function() {
marker.openInfoWindowHtml(description);
});
return marker;
}
// Aggiungi il marker alla mappa
map.addOverlay(
createMarker(new GLatLng(45.414852, 7.544537), "Sparone<br />Piazza Municipale 1 <br />10080 Torino")
);
	leggiXML("prova.xml");
}}

var map;


window.onload = creaMappa;


