<div dir="ltr">Hola Matias!! mil gracias x la respuesta!!, te envío directamente toda la pagina, espero se entienda el código. Lo que ves son varios links (alojamientos, comercios, etc) que al hacer click llaman a una función js (getAlojs(), getComes(), etc ) que trae datos desde la base de datos (primer llamada ajax) y con ellos crear una capa de marcadores y sus popups y agrega todo a un mapa, con la ayuda de una biblioteca js de mapping que se llama <a href="http://leafletjs.com/">leaflet</a>. La segunda llamada ajax (la que esta dentro del for) se realiza a un servidor remoto (la API del sitio foursquare en este caso), los popups contienen información proveniente de ambas llamadas, por eso no veo como asociar su creación a un evento onClick y los cacheo a todos. <b style="background-color:rgb(255,0,0)">Fijate que las dos llamadas ajax las estoy probando solo en la función getResto()</b>, el resto de los popups muestra solo info de la base de datos y anda a la perfección. Espero puedas ayudarme, saludos!!!</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">El 1 de junio de 2013 14:04, Cesar Gimenez Lascano <span dir="ltr"><<a href="mailto:cesargimenezlascano@gmail.com" target="_blank">cesargimenezlascano@gmail.com</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hola leo! gracias x la respuesta!. Efectivamente <span style="font-family:arial,sans-serif;font-size:13px"><a href="http://api.jquery.com/jQuery.getJSON/" target="_blank">$.getJSON()</a> hace una llamada AJAX </span><font face="arial, sans-serif">asincrónica utilizando el framework JQuery (linkeo a documentación oficial x si sirve). Estuve revisando mejor el resultado y en realidad me muestra el ultimo popup, así que puede estar sucediendo lo que comentas del bucle, lo del nombre igual de variables no es el problema, si.</font></div>
<div class="gmail_extra"><br><br><div class="gmail_quote"><div class="im">El 31 de mayo de 2013 20:52, Leonardo Tadei - Pegasus Tech Supply <span dir="ltr"><<a href="mailto:leonardot@pegasusnet.com.ar" target="_blank">leonardot@pegasusnet.com.ar</a>></span> escribió:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ufff... faltan muchos detalles para empezar a adivinar qué puede estar<div><div class="h5"><br>
pasando!<br>
<br>
Asumiendo que $.getJSON() hace algún tipo de llamada AJAX usando el<br>
framework JQuery, y asumiendo que las llamadas sean asincrónicas, lo que<br>
puede estarte pasando es que las llamadas a $.getJSON() adentro del<br>
bucle no alcancen a terminar antes de que vuelva a ser invocada en el<br>
próximo ciclo.<br>
<br>
Si lo que se ve es la primera en vez de la última, supongo que es por la<br>
implementación de la biblioteca, pero habría que destriparla para estar<br>
seguros.<br>
<br>
No debe ser el problema, pero que ambas funciones anónimas usen como<br>
parámetro la variable "data" a mi de eriza los pelos de la nuca, por el<br>
ámbito de las variables en JavaScript respecto de las funciones, que es<br>
mucho más amplio que en otros lenguajes.<br>
<br>
Espero que alguien que sepa más que yo de JQuery nos ayude a entender<br>
qué es lo que pasa.<br>
<br>
<br>
El vie, 31-05-2013 a las 19:56 -0300, Cesar Gimenez Lascano escribió:<br>
<div><div>> Hola, tengo un problema con un código para armar una capa de<br>
> marcadores, con su respectiva ventana de información (popups), y<br>
> agregarla a un mapa. El código como está crea todos los marcadores<br>
> pero solo el primer popup. Es que la función data del segundo llamado<br>
> $.getJSON se ejecuta solo una vez? o el mismo llamado?. Aclaro que el<br>
> popup se carga de información de las dos fuentes json por eso esta uno<br>
> dentro del otro. Espero puedan darme una mano!!!<br>
><br>
><br>
> $.getJSON("carga datos", function (data) {<br>
> for (var i = 0; i < data.length; i++) {<br>
> var nombre = data[i].nombre;<br>
> var dir = data[i].direccion;<br>
> $.getJSON("cargar otros datos", function(data) {<br>
> var var1= data.var1;<br>
> var var2= data.var2;<br>
> //crear popup<br>
> });<br>
> //crear marcador<br>
> //agregar marcador a la capa<br>
> } // fin del for<br>
> }).complete(function() {<br>
> //agregar capa al mapa<br>
> });<br>
><br>
</div></div>> _______________________________________________<br>
> Php-avanzado mailing list<br>
> <a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar" target="_blank">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
> <a href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado" target="_blank">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a><br>
<span><font color="#888888"><br>
--<br>
Leonardo Tadei<br>
<a href="mailto:leonardot@pegasusnet.com.ar" target="_blank">leonardot@pegasusnet.com.ar</a><br>
Web: <a href="http://leonardo.tadei.com.ar" target="_blank">http://leonardo.tadei.com.ar</a><br>
Firma pública: <a href="http://www.pegasusnet.com.ar/LeonardoTadei-public.key" target="_blank">http://www.pegasusnet.com.ar/LeonardoTadei-public.key</a><br>
<br>
_______________________________________________<br>
Php-avanzado mailing list<br>
<a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar" target="_blank">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
<a href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado" target="_blank">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a><br>
</font></span></div></div></blockquote></div><br></div>
</blockquote></div><br></div>