2011-07-12 9 views
5

Tengo dos funciones:¿Cómo volver a colocar marcador en el mapa de google?

function showMarkers() { 
    hotspotsIterator = 0; 
    for(var i = 0; i < table.length; i++) { 
     var obj = table[i]; 
     if(obj && obj.marker) { 
      var obj = table[i]; 
      obj.marker.setMap(map); 
     } 
    } 
} 

function hideMarkers() { 
    for(var i = 0; i < table.length; i++) { 
     var obj = table[i]; 
     if(obj && obj.marker) { 
      obj.marker.setMap(null); 
     } 
    } 
} 

En primer lugar está mostrando marcadores, y el segundo de ellos se esconde. Cuando uso por primera vez showMarkers(), se realiza Animation.DROP. Pero cuando los oculto y vuelvo a mostrar, la animación no se está ejecutando y los marcadores simplemente se muestran.

¿Alguien me puede decir cómo volver a soltar los marcadores? Sin crear nuevas instancias?

EDIT:

ya he creado el código para volver a crear el mismo marcador y funciona, pero su solución no es elegante en todos!

Y Google Docs para marcadores no resuelve el problema.

Respuesta

2

Agregar siguiente código justo debajo de la obj.marker.setMap(map);: obj.marker.setAnimation(google.maps.Animation.DROP);

Aquí la referencia: Marker Animations

+1

Eso es exactamente lo que quería - funciona como un encanto. El único cambio que hice fue ejecutar setAnimation justo después de obj.marker.setMap (null); ¡Gracias! – Karol

Cuestiones relacionadas