ユーザーが場所の種類をクリックすることに応じて、地図上のマーカーを表示および削除したい..
このコードを使用してマーカーを削除しています
1-markerArray をグローバル配列として定義する
 var markersArray =new Array();
2- clearOverlays 関数を定義する
function clearOverlays() {
   if ( markersArray &&  markersArray.length) {
    google.maps.Map.prototype.clearOverlays = function() {
        for (var i = 0; i <  markersArray.length; i++ ) {
            markersArray[i].setMap(null);
        }
    } 
     markersArray = [];
     markersArray = new Array();
     markersArray.length = 0;
  }
}
3-マーカーを削除したいときに関数を呼び出します
問題は、マップから何も削除されないことです。
なぜだか知りたい!
編集:ここでマーカーを追加して、それらをmarkersArrayにプッシュします
  downloadUrl("getPlacesForType/"+markerType+"/"+lang, function(data) {
                var xml = data.responseXML;
                var myMarkersArray = xml.documentElement.getElementsByTagName("marker");
                for (var i = 0; i < myMarkersArray.length; i++) {
                    var name = myMarkersArray[i].getAttribute("name");
                    var version = myMarkersArray[i].getAttribute("version");
                    var description = myMarkersArray[i].getAttribute("description");
                    var type = myMarkersArray[i].getAttribute("type");
                    var point = new google.maps.LatLng(
                        parseFloat(myMarkersArray[i].getAttribute("lat")),
                        parseFloat(myMarkersArray[i].getAttribute("lng")));
                    var html = "<b>" + name + "</b> <br/>" + description;
                    var icon = customIcons[type] || {};
                    var marker = new google.maps.Marker({
                        map: map,
                        position: point ,
                        icon: icon.icon,
                        shadow: icon.shadow
                    });
                    markersArray.push(marker);
                    bindInfoWindow(marker, map, infoWindow, html);
                } 
            });