Google Maps API v3: Como remover todos os marcadores?

No Google Maps API v2, se eu quisesse remover todos os marcadores de mapa, eu poderia simplesmente fazê-lo:

map.clearOverlays();

Como faço isso no Google Maps API **v3***?

Olhando para a API de referência, ela's não está clara para mim.

Parece que ainda não existe tal função na V3.

As pessoas sugerem manter referências a todos os marcadores que você tem no mapa em uma matriz. E então quando você quiser apagar todos, basta fazer um loop através do array e chamar o método .setMap(null) em cada uma das referências.

Veja esta pergunta para mais informações/código.

A minha versão:


google.maps.Map.prototype.markers = new Array();

google.maps.Map.prototype.getMarkers = function() {
    return this.markers
};

google.maps.Map.prototype.clearMarkers = function() {
    for(var i=0; i
Comentários (5)

google.maps.Map.prototype.markers = new Array();

google.maps.Map.prototype.addMarker = function(marker) {
    this.markers[this.markers.length] = marker;
};

google.maps.Map.prototype.getMarkers = function() {
    return this.markers
};

google.maps.Map.prototype.clearMarkers = function() {
    for(var i=0; i
Comentários (5)

O "set_map" função postada em ambas as respostas parece não funcionar mais na API do Google Maps v3.

O que será que aconteceu?

Actualização:

Parece que o Google mudou a sua API de tal forma que "set_map" não é "setMap".

http://code.google.com/apis/maps/documentation/v3/reference.html

Comentários (0)