2011-07-30 6 views
1

J'essaie de supprimer les icônes personnalisées de la carte google et de réinitialiser la carte au zoom et au format par défaut.javascript google maps supprimer l'icône

ici est ma fonction:

function clearLocations() { 
infoWindow.close(); 
for (var i = 0; i < markers.length; i++) { 
    markers[i].setMap(null); 
} 
markers.length = 0; 
sidebar.innerHTML = ""; 
map.setCenter(new google.maps.LatLng(36.1611, -116.4775), 6); 
} 

la carte sera remise à la latlng par défaut, le niveau de zoom reste le même, et la barre latérale nous htmk enlevé. Cependant, les icônes restent sur la carte. pas sans comprendre pourquoi cela se passe. merci beaucoup, --matt

EDIT - mes excuses pour ne pas inclure les marqueurs

function createMarker(latlng, name, address, city, state, zipcode, telephone, images, url) { 
    var html = "<div>stuff here</div>"; 
    var marker = new google.maps.Marker({ 
    icon: icon, 
    map: map, 
    position: latlng 
    }); 

    google.maps.event.addListener(marker, 'click', function() { 
    infoWindow.setContent(html); 
    infoWindow.open(map, marker); 
    }); 
    return marker; 
} 
+0

Vous devez afficher le code où 'marqueurs' est défini. –

+0

Désolé pour ne pas inclure les informations sur les marqueurs ... le message a été modifié. –

Répondre

1

Vous devez mettre vos fabricants dans le tableau des marqueurs qui est ensuite effacée par la boucle en clearLocations() . le tableau de marqueurs doit être global

 //global variable 
     var markers = []; 
     function createMarker(latlng, name, address, city, state, zipcode, telephone, images, url) { 
      var html = "<div>stuff here</div>"; 
      var marker = new google.maps.Marker({ 
      icon: icon, 
      map: map, 
      position: latlng 
      }); 
//add current marker to markers array 
     markers.push(marker); 

      google.maps.event.addListener(marker, 'click', function() { 
      infoWindow.setContent(html); 
      infoWindow.open(map, marker); 
      }); 
      return marker; 
     } 
+0

merci beaucoup pour la réponse! –