API de Google Maps v3: ¿Cómo eliminar todos los marcadores?
En Google Maps API v2, si quisiera eliminar todos los marcadores del mapa, simplemente podría hacer:
map.clearOverlays();
¿Cómo hago esto en Google Maps API v3 ?
Al mirar la API de referencia , no me queda claro.
Aceptado
Simplemente haga lo siguiente:
I. Declarar una variable global:
var markersArray = [];
II. Definir una función:
function clearOverlays() {
for (var i = 0; i < markersArray.length; i++ ) {
markersArray[i].setMap(null);
}
markersArray.length = 0;
}
O
google.maps.Map.prototype.clearOverlays = function() {
for (var i = 0; i < markersArray.length; i++ ) {
markersArray[i].setMap(null);
}
markersArray.length = 0;
}
III. Inserte marcadores en 'markerArray' antes de llamar a lo siguiente:
markersArray.push(marker);
google.maps.event.addListener(marker,"click",function(){});
IV. Llame a la función clearOverlays();
o map.clearOverlays();
cuando sea necesario.
¡¡Eso es todo!!
El mismo problema. Este código ya no funciona.
Lo he corregido, cambie el método clearMarkers de esta manera:
set_map(nulo) ---> setMap(nulo)
google.maps.Map.prototype.clearMarkers = function() {
for(var i=0; i < this.markers.length; i++){
this.markers[i].setMap(null);
}
this.markers = new Array();
};
La documentación se ha actualizado para incluir detalles sobre el tema: https://developers.google.com/maps/documentation/javascript/markers#remove