Ciao a tutti. Ho creato una mappa con google maps con due array.
Ho creato una funzione per poter cancellare tutti i markers della mappa ma non funziona.
La console web di firefox mi dice che 'this.markers is undefined'.

Dove ho sbagliato?
Se invece di cancellare tutti i markers vorrei cancellare solo un array?

Il codice è questo.


Codice:
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>

<script type="text/javascript">

function initialize() {
        var latlng = new google.maps.LatLng(52.474, -1.868);

        var myOptions = {
            zoom: 6,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };

        var map = new google.maps.Map(document.getElementById("map"), myOptions);
        var image = 'icon1.png';
		var image2 = 'icon2.png';
		

        var hotels = [
            ['ibis Birmingham Airport', 52.452656, -1.730548, 4],
            ['ETAP Birmingham Airport', 50.452527, -1.031644, 3],
            ['ibis Birmingham City Centre', 51.475162, -2.897208, 2]
        ];
		var bars = [
            ['ibis Birmingham Airport', 51.452656, -1.730548, 4],
            ['ETAP Birmingham Airport', 53.452527, -1.531644, 3],
            ['ibis Birmingham City Centre', 52.475162, -1.297208, 2]
        ];
		var markersArray = [];
		

       for (var i = 0; i < hotels.length; i++) {
        var hotel = hotels [i]
        var marker = new google.maps.Marker({
            position: new google.maps.LatLng (hotel[1], hotel[2]),
            map: map,
            icon: image,
            title: hotel[0],
            zIndex: hotel[3]
        });
    } 
	
        for (var i = 0; i < bars.length; i++) {
        var bar = bars [i]
				
        var marker = new google.maps.Marker({
            position: new google.maps.LatLng (bar[1], bar[2]),
            map: map,
            icon: image2,
            title: bar[0],
            zIndex: bar[3]			
        });
    }
	
	google.maps.Map.prototype.clearMarkers = function() {
    for(var i=0; i < this.markers.length; i++){
        this.markers[i].setMap(null);
    }
    this.markers = new Array();
};

markersArray.push(marker);
google.maps.event.addListener(marker,"click",function(){});

	
   }

window.onload = initialize;


</script>
</head>

<body>
<input type="button" onclick="google.maps.Map.prototype.clearMarkers()" value="settare null">

        <div id="map" style="width:500px; height:500px"></div>
  

</body>
</html>