Ciao a tutti e un grazie anticipato a chi mi sapra aiutare. Ho creato questa mappa seguendo dei tutorial in cui vengono estratti da mysql i markers del comune scelto. Ora vorrei inserire icone dei markers diverse in base al tipo di struttura (es. ristoranti,bar) ed ho provato cosi:

Codice PHP:
<html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Mappa</title>
<
script type="text/javascript" src="js/lists.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="js/util.js"></script>
<script type="text/javascript">
  var infowindow;
  var map;
  var markersArray = []; // inserisco tutti i markers creati in un array per poi pulire in caso di nuova richiesta

   var customIcons = {
      ristorante: {
        icon: 'http://labs.google.com/ridefinder/images/mm_20_blue.png',
        shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'
      },
      bar: {
        icon: 'http://labs.google.com/ridefinder/images/mm_20_red.png',
        shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'
      }
    };



  function initialize() {
    geocoder = new google.maps.Geocoder();
    var myLatlng = new google.maps.LatLng(41.447948, 12.629052);
    var myOptions = {
      zoom: 10,
      center: myLatlng,
      mapTypeId: google.maps.MapTypeId.HYBRID
    }
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

  }

    function clearOverlays() {
          if (markersArray) {
            for (i in markersArray) {
              markersArray[i].setMap(null);
            }
          }
        }


    function geocode() {
        clearOverlays(); //richiama la funzione per cancellare eventuali precedenti markers
        var ind1 = document.getElementById("comuni").value;
        var ind2 = " ,IT";
        var address = ind1 + ind2; // se cercassimo solo "Roma" potremmo rischiare di trovare una citta' con nome simile, pertanto aggiungo anche ,IT
        geocoder.geocode({
            'address': address,
            'partialmatch': true
        }, geocodeResult);
            var link = "generazione_xml.php?comune=";
      downloadUrl(link+ind1, function(data) { // trasmetto a generazione_xml con GET il nome del comune di cui voglio estrarre i markers
      var markers = data.documentElement.getElementsByTagName("marker");

      for (var i = 0; i < markers.length; i++) {
          var latlng = new google.maps.LatLng(parseFloat(markers[i].getAttribute("lat")),
                                    parseFloat(markers[i].getAttribute("lng")));
        var marker = createMarker(markers[i].getAttribute("name"), latlng);
         var type = markers[i] .getattribute("type");
       }
     });
    }

    function geocodeResult(results, status) {
        if (status == 'OK' && results.length > 0) {
            map.fitBounds(results[0].geometry.viewport);
        } else {
            alert("Geocode was not successful for the following reason: " + status);
        }
    }


      function createMarker(name, latlng) {
          var icon = customicons[type] || { };
        var marker = new google.maps.Marker({position: latlng, map: map, icon: icon.icon, shadow: icon.shadow
});
        markersArray.push(marker);
        google.maps.event.addListener(marker, "click", function() {
          if (infowindow) infowindow.close();
          infowindow = new google.maps.InfoWindow({content: name});
          infowindow.open(map, marker);
        });
        return marker;
      }

</script>

</head>

<body onload="initialize()" style="background-image: url('../Image/Grigio_Soft.jpg')">

    <div class="style1">

    <div id="contenitore">

        <div id="contenuto">

    <form id="comuneScelto">
            <fieldset>
            <table style="width: 100%" class="style5">
                            <tr>
                <td class="style7" style="width: 400px">
                [b]Regioni[/b]</td>
                <td class="style10">[b]Provincie[/b]</td>
                <td class="style10">[b]Comuni[/b]</td>
                            </tr>
                            <tr>
        <td class="style8" style="height: 20px; width: 400px">
 <select name="regioni" id="regioni" onChange="loadList('province', getSelected(this))" style="width: 214px; height: 22px" >
            </select></td>
        <td style="height: 20px" class="style9">
<select name="province" id="province" onChange="loadList('comuni', getSelected(this))" style="width: 214px">
            <option>-- Seleziona prima una regione --</option>
            </select></td>
                        <td style="height:20px"class="style9">
            <select onchange="geocode()" name="comuni" id="comuni">
                <option>-- Seleziona prima una regione --</option>
            </select></td>
                            </tr>
            </table>
            </fieldset>
            </form>
            



    <div id="map_canvas" style="width:100%; height:100%; "class="style2"></div>

        </div>

        <div class="clear"></div>

    </div>


<script type="text/javascript">
//<![CDATA[
loadList('regioni', 0);
//]]>
</script>
    </div>
</body>
</html> 

...ma purtroppo non funziona spero qualcuno possa aiutarmi.Grazie