if (GBrowserIsCompatible()) {
  // var bikeIcon = new GIcon();
  // bikeIcon.iconSize = new GSize(25, 25);
  // bikeIcon.shadowSize = new GSize(44, 25);
  // bikeIcon.image = "ico_bici.png";
  // A function to create the marker and set up the event window
  function createMarker(point,objMark,label,addr,posti) {
    // var marker = new GMarker(point,{icon:bikeIcon, title:label});
    var marker = new GMarker(point,{title:label});
      GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(label);
      });
    return marker;
  }
  // create the map
  var map = new GMap2(document.getElementById("map"));
  map.addControl(new GLargeMapControl());
  map.addControl(new GMapTypeControl());
  map.addControl(new GOverviewMapControl());
  map.setCenter(new GLatLng(44.409722,8.940278), 14);
  
  // svOverlay = new GStreetviewOverlay();
  // map.addOverlay(svOverlay);
  
  // Read the data from example.xml
  var request = GXmlHttp.create();
  request.open("GET", "bikesharing.xml", true);
  request.onreadystatechange = function() {
    if (request.readyState == 4) {
      var xmlDoc = GXml.parse(request.responseText);
      // obtain the array of markers and loop through it
      var markers = xmlDoc.documentElement.getElementsByTagName("marker");
      for (var i = 0; i < markers.length; i++) {
        // obtain the attribues of each marker
        var lat = parseFloat(markers[i].getAttribute("lat"));
        var lng = parseFloat(markers[i].getAttribute("lng"));
        var point = new GLatLng(lat,lng);
        var label = markers[i].getAttribute("label");
        var addr = markers[i].getAttribute("addr");
        var posti = markers[i].getAttribute("posti");
        // create the marker
        var marker = createMarker(point,markers[i],label,addr,posti);
        map.addOverlay(marker);
      }
    }
  }
  request.send(null);
}
else {
  alert("Sorry, the Google Maps API is not compatible with this browser");
}
