API de Google Maps v3: ¿Cómo eliminar todos los marcadores?

Resuelto mp_ asked hace 14 años • 0 respuestas

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.

mp_ avatar Oct 09 '09 23:10 mp_
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!!

 avatar Mar 13 '2010 17:03

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

Pons avatar Dec 14 '2009 22:12 Pons