Vale de esa manera me funciona perfecto. Ahora tengo un problema donde lo incluyo que tiene que no tiene mucho que ver con este tema pero aprovecho el post para exponerlo.
Estoy utilizando maps google para mostrar varios iconos (puntos) en el mapa, y claro el setTimeOut era para mostrar los puntos cada 3 segundos, entonces lo hago de la siguiente manera
Código HTML:
<script>
var punto;
var icono=new GIcon();
function maps_google(){
//...
//... aqui creo las variables y todo lo necesario para maps google
//..
points=new Array(contador);
for(i=0;i<contador;i++){
points[i]=new GLatLng(latitudes[i],longitudes[i]);
}
//Muestro los puntos en el mapa
for(i=1;i<contador-1;i++){
(function(){
punto=points[i]; //Vector de latitudes y longitudes
icono=icon2; //icono creado con icon2.image.... etc
setTimeout("muestra_punto()",tiempo*(i+1));
})();
}
}
//
//
function muestra_punto(){
var marker=new GMarker(punto,icono);
map.addOverlay(marker);
}
</script>
Por lo que he visto el temporizador funciona cada 3 segundos tal como me habeis dicho (poniendo un "alert()" dentro la función "muestra_punto()", aparece cada 3 segundos, sim embargo solo me muestra 1 punto en el mapa. Alguien puede echarme una mano?