<div dir="ltr">Uh! perdón a mi por el error de tipeo!! creo que me traiciono el subconciente porque esta implementacion se me complico bastante....disculpas...</div><div class="gmail_extra"><br><br><div class="gmail_quote">
El 3 de junio de 2013 12:37, 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><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hola Cesar,<br>
<br>
        perdón por el error de tipeo.<br>
        Debería decir "devolverlo ya caRgado desde el servidor"<br>
<br>
        Salu2<br>
<br>
<br>
El dom, 02-06-2013 a las 11:28 -0300, Cesar Gimenez Lascano escribió:<br>
<div class="HOEnZb"><div class="h5">> Gracias Leo! disculpame, a que te referís con "devolverlo ya cagado<br>
> desde el servidor"? a guardar los datos recibidos de las llamadas a<br>
> las apis en la base de datos? gracias x la ayuda. saludos!!<br>
><br>
><br>
> El 1 de junio de 2013 19:15, Leonardo Tadei - Pegasus Tech Supply<br>
> <<a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a>> escribió:<br>
>         Cesar:<br>
><br>
>                 Quiero volver a una cuestión que Matías platea muy<br>
>         correctamente: no<br>
>         tiene sentido hacer varias llamadas AJAX en un bucle, porque<br>
>         si te hace<br>
>         falta todo esto, devolvelo ya cargado desde el servidor y<br>
>         listo!<br>
>                 Más allá del problema de sintaxis que haya, no es un<br>
>         uso razonable de<br>
>         AJAX, ya que es más lento todo esto que cargar los valores<br>
>         desde el<br>
>         principio.<br>
><br>
>                 Acordate del "principio de programación KISS" !!!<br>
><br>
><br>
><br>
>         El sáb, 01-06-2013 a las 15:52 -0300, Cesar Gimenez Lascano<br>
>         escribió:<br>
>         > la del ultimo registro de la tabla de la base de datos<br>
>         ><br>
>         ><br>
>         > El 1 de junio de 2013 15:51, Cesar Gimenez Lascano<br>
>         > <<a href="mailto:cesargimenezlascano@gmail.com">cesargimenezlascano@gmail.com</a>> escribió:<br>
>         >         perdón mati, me adelante. El popup muestra bien la<br>
>         info de la<br>
>         >         segunda llamada, pero de la primera muestra en todos<br>
>         los<br>
>         >         popups la misma info.<br>
>         ><br>
>         ><br>
>         >         El 1 de junio de 2013 15:36, Cesar Gimenez Lascano<br>
>         >         <<a href="mailto:cesargimenezlascano@gmail.com">cesargimenezlascano@gmail.com</a>> escribió:<br>
>         ><br>
>         >                 Genio Matias!!! anduvo de 10!!!! ahí entendí<br>
>         cual era<br>
>         >                 mi error, muchas gracias de verdad.Ya que<br>
>         estoy y sin<br>
>         >                 animo de abusar quisiera preguntarte,<br>
>         necesito tmb que<br>
>         >                 el popup muestre información de una llamada<br>
>         ajax mas,<br>
>         >                 donde encajaría en el nuevo código que me<br>
>         pasaste?<br>
>         >                 abrazo!!!<br>
>         ><br>
>         ><br>
>         >                 El 1 de junio de 2013 14:46, Matias Gea<br>
>         >                 <<a href="mailto:matigea@gmail.com">matigea@gmail.com</a>> escribió:<br>
>         ><br>
>         >                         El problema lo tenés, probablemente<br>
>         acá:<br>
>         >                         var marker = new L.Marker(location,<br>
>         {title:<br>
>         >                         nombre, icon: myIcon});// creo el<br>
>         marcador<br>
>         >                         //llamo a la api de foursquare<br>
>         ><br>
>         $.getJSON('<a href="https://api.foursquare.com/v2/venues/'+fourID" target="_blank">https://api.foursquare.com/v2/venues/'+fourID</a><br>
>         +'/tips?sort=recent&limit=2&client_id=315YX0EUHY5VW5SFVCPIBMMVYTSNCXNML20AHEEDL1Q2TMEE&client_secret=HOJHGWETZPZYXLS2NYSPMUO0A4WO2UQCUHVWEAXQWAOWROZ2', function(data2) {<br>
>         >                         var tip1 =<br>
>         data2.response.tips.items[0].text;<br>
>         >                         var tip2 =<br>
>         data2.response.tips.items[1].text;<br>
>         >                         marker.bindPopup("<div<br>
>         class='popup'>" +<br>
>         >                         "<span class='titulo'>"+ nombre<br>
>         +"</span>"<br>
>         >                         +"</br>"+ dir +"</br>"+ tel<br>
>         +"</br>"+ tip1<br>
>         >                         +"</br>"+ tip2 + "</div>",<br>
>         {maxWidth:<br>
>         >                         '600'}); // creo el popup<br>
>         >                         });<br>
>         ><br>
>         ><br>
>         >                         Fijate que estás declarando una<br>
>         variable<br>
>         >                         marker (en el for) y la utilizás<br>
>         para<br>
>         >                         relacionar el popup después que se<br>
>         resuelve el<br>
>         >                         request asincrónico. En ese momento<br>
>         (cuando<br>
>         >                         terminan los requests) ya finalizó<br>
>         hace rato<br>
>         >                         el for y marker queda con el útlimo<br>
>         valor.<br>
>         >                         Tenés que hacer que marker sea<br>
>         constante en la<br>
>         >                         función onSuccess del getJSON, así:<br>
>         ><br>
>         ><br>
>         >                         var marker = new L.Marker(location,<br>
>         {title:<br>
>         >                         nombre, icon: myIcon});// creo el<br>
>         marcador<br>
>         >                         //llamo a la api de foursquare<br>
>         >                         $.getJSON(<br>
>         ><br>
>         '<a href="https://api.foursquare.com/v2/venues/'+fourID" target="_blank">https://api.foursquare.com/v2/venues/'+fourID</a><br>
>         ><br>
>         +'/tips?sort=recent&limit=2&client_id=315YX0EUHY5VW5SFVCPIBMMVYTSNCXNML20AHEEDL1Q2TMEE&client_secret=HOJHGWETZPZYXLS2NYSPMUO0A4WO2UQCUHVWEAXQWAOWROZ2',<br>
>         >                         (function(marker){<br>
>         >                         return function(data2) {<br>
>         >                         var tip1 =<br>
>         data2.response.tips.items[0].text;<br>
>         >                         var tip2 =<br>
>         data2.response.tips.items[1].text;<br>
>         >                         marker.bindPopup("<div<br>
>         class='popup'>" +<br>
>         >                         "<span class='titulo'>"+ nombre<br>
>         +"</span>"<br>
>         >                         +"</br>"+ dir +"</br>"+ tel<br>
>         +"</br>"+ tip1<br>
>         >                         +"</br>"+ tip2 + "</div>",<br>
>         {maxWidth:<br>
>         >                         '600'}); // creo el popup<br>
>         >                         }<br>
>         >                         })(marker)<br>
>         >                         );<br>
>         ><br>
>         ><br>
>         ><br>
>         ><br>
>         >                         Probalo y contame.<br>
>         ><br>
>         ><br>
>         >                         Saludos!<br>
>         ><br>
>         ><br>
>         ><br>
>         ><br>
>         >                         El 1 de junio de 2013 14:39, Cesar<br>
>         Gimenez<br>
>         >                         Lascano<br>
>         <<a href="mailto:cesargimenezlascano@gmail.com">cesargimenezlascano@gmail.com</a>><br>
>         >                         escribió:<br>
>         ><br>
>         >                                 Hola Matias!! mil gracias x<br>
>         la<br>
>         >                                 respuesta!!, te envío<br>
>         directamente<br>
>         >                                 toda la pagina, espero se<br>
>         entienda el<br>
>         >                                 código. Lo que ves son<br>
>         varios links<br>
>         >                                 (alojamientos, comercios,<br>
>         etc) que al<br>
>         >                                 hacer click llaman a una<br>
>         función js<br>
>         >                                 (getAlojs(), getComes(), etc<br>
>         ) que<br>
>         >                                 trae datos desde la base de<br>
>         datos<br>
>         >                                 (primer llamada ajax) y con<br>
>         ellos<br>
>         >                                 crear una capa de marcadores<br>
>         y sus<br>
>         >                                 popups y agrega todo a un<br>
>         mapa, con la<br>
>         >                                 ayuda de una biblioteca js<br>
>         de mapping<br>
>         >                                 que se llama leaflet. La<br>
>         segunda<br>
>         >                                 llamada ajax (la que esta<br>
>         dentro del<br>
>         >                                 for) se realiza a un<br>
>         servidor remoto<br>
>         >                                 (la API del sitio foursquare<br>
>         en este<br>
>         >                                 caso), los popups contienen<br>
>         >                                 información proveniente de<br>
>         ambas<br>
>         >                                 llamadas, por eso no veo<br>
>         como asociar<br>
>         >                                 su creación a un evento<br>
>         onClick y los<br>
>         >                                 cacheo a todos. Fijate que<br>
>         las dos<br>
>         >                                 llamadas ajax las estoy<br>
>         probando solo<br>
>         >                                 en la función getResto(), el<br>
>         resto de<br>
>         >                                 los popups muestra solo info<br>
>         de la<br>
>         >                                 base de datos y anda a la<br>
>         perfección.<br>
>         >                                 Espero puedas ayudarme,<br>
>         saludos!!!<br>
>         ><br>
>         ><br>
>         >                                 El 1 de junio de 2013 14:04,<br>
>         Cesar<br>
>         >                                 Gimenez Lascano<br>
>         ><br>
>         <<a href="mailto:cesargimenezlascano@gmail.com">cesargimenezlascano@gmail.com</a>><br>
>         >                                 escribió:<br>
>         ><br>
>         >                                         Hola leo! gracias x<br>
>         la<br>
>         >                                         respuesta!.<br>
>         >                                         Efectivamente<br>
>         $.getJSON() hace<br>
>         >                                         una llamada AJAX<br>
>         asincrónica<br>
>         >                                         utilizando el<br>
>         framework JQuery<br>
>         >                                         (linkeo a<br>
>         documentación<br>
>         >                                         oficial x si sirve).<br>
>         Estuve<br>
>         >                                         revisando mejor el<br>
>         resultado y<br>
>         >                                         en realidad me<br>
>         muestra el<br>
>         >                                         ultimo popup, así<br>
>         que puede<br>
>         >                                         estar sucediendo lo<br>
>         que<br>
>         >                                         comentas del bucle,<br>
>         lo del<br>
>         >                                         nombre igual de<br>
>         variables no<br>
>         >                                         es el problema, si.<br>
>         ><br>
>         ><br>
>         >                                         El 31 de mayo de<br>
>         2013 20:52,<br>
>         >                                         Leonardo Tadei -<br>
>         Pegasus Tech<br>
>         >                                         Supply<br>
>         ><br>
>         <<a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a>><br>
>         >                                         escribió:<br>
>         ><br>
>         >                                                 Ufff...<br>
>         faltan muchos<br>
>         >                                                 detalles<br>
>         para empezar<br>
>         >                                                 a adivinar<br>
>         qué puede<br>
>         >                                                 estar<br>
>         ><br>
>         >                                                 pasando!<br>
>         ><br>
>         >                                                 Asumiendo<br>
>         que<br>
>         >                                                 $.getJSON()<br>
>         hace algún<br>
>         >                                                 tipo de<br>
>         llamada AJAX<br>
>         >                                                 usando el<br>
>         >                                                 framework<br>
>         JQuery, y<br>
>         >                                                 asumiendo<br>
>         que las<br>
>         >                                                 llamadas<br>
>         sean<br>
>         ><br>
>         asincrónicas, lo que<br>
>         >                                                 puede<br>
>         estarte pasando<br>
>         >                                                 es que las<br>
>         llamadas a<br>
>         >                                                 $.getJSON()<br>
>         adentro<br>
>         >                                                 del<br>
>         >                                                 bucle no<br>
>         alcancen a<br>
>         >                                                 terminar<br>
>         antes de que<br>
>         >                                                 vuelva a ser<br>
>         invocada<br>
>         >                                                 en el<br>
>         >                                                 próximo<br>
>         ciclo.<br>
>         ><br>
>         >                                                 Si lo que se<br>
>         ve es la<br>
>         >                                                 primera en<br>
>         vez de la<br>
>         >                                                 última,<br>
>         supongo que es<br>
>         >                                                 por la<br>
>         ><br>
>         implementación de la<br>
>         >                                                 biblioteca,<br>
>         pero<br>
>         >                                                 habría que<br>
>         destriparla<br>
>         >                                                 para estar<br>
>         >                                                 seguros.<br>
>         ><br>
>         >                                                 No debe ser<br>
>         el<br>
>         >                                                 problema,<br>
>         pero que<br>
>         >                                                 ambas<br>
>         funciones<br>
>         >                                                 anónimas<br>
>         usen como<br>
>         >                                                 parámetro la<br>
>         variable<br>
>         >                                                 "data" a mi<br>
>         de eriza<br>
>         >                                                 los pelos de<br>
>         la nuca,<br>
>         >                                                 por el<br>
>         >                                                 ámbito de<br>
>         las<br>
>         >                                                 variables en<br>
>         >                                                 JavaScript<br>
>         respecto de<br>
>         >                                                 las<br>
>         funciones, que es<br>
>         >                                                 mucho más<br>
>         amplio que<br>
>         >                                                 en otros<br>
>         lenguajes.<br>
>         ><br>
>         >                                                 Espero que<br>
>         alguien que<br>
>         >                                                 sepa más que<br>
>         yo de<br>
>         >                                                 JQuery nos<br>
>         ayude a<br>
>         >                                                 entender<br>
>         >                                                 qué es lo<br>
>         que pasa.<br>
>         ><br>
>         ><br>
>         >                                                 El vie,<br>
>         31-05-2013 a<br>
>         >                                                 las 19:56<br>
>         -0300, Cesar<br>
>         >                                                 Gimenez<br>
>         Lascano<br>
>         >                                                 escribió:<br>
>         >                                                 > Hola,<br>
>         tengo un<br>
>         >                                                 problema con<br>
>         un código<br>
>         >                                                 para armar<br>
>         una capa de<br>
>         >                                                 ><br>
>         marcadores, con su<br>
>         >                                                 respectiva<br>
>         ventana de<br>
>         >                                                 información<br>
>         (popups),<br>
>         >                                                 y<br>
>         >                                                 > agregarla<br>
>         a un mapa.<br>
>         >                                                 El código<br>
>         como está<br>
>         >                                                 crea todos<br>
>         los<br>
>         >                                                 marcadores<br>
>         >                                                 > pero solo<br>
>         el primer<br>
>         >                                                 popup. Es<br>
>         que la<br>
>         >                                                 función data<br>
>         del<br>
>         >                                                 segundo<br>
>         llamado<br>
>         >                                                 > $.getJSON<br>
>         se ejecuta<br>
>         >                                                 solo una<br>
>         vez? o el<br>
>         >                                                 mismo<br>
>         llamado?. Aclaro<br>
>         >                                                 que el<br>
>         >                                                 > popup se<br>
>         carga de<br>
>         >                                                 información<br>
>         de las dos<br>
>         >                                                 fuentes json<br>
>         por eso<br>
>         >                                                 esta uno<br>
>         >                                                 > dentro del<br>
>         otro.<br>
>         >                                                 Espero<br>
>         puedan darme<br>
>         >                                                 una mano!!!<br>
>         >                                                 ><br>
>         >                                                 ><br>
>         >                                                 ><br>
>          $.getJSON("carga<br>
>         >                                                 datos",<br>
>         function<br>
>         >                                                 (data) {<br>
>         >                                                 ><br>
>         for (var i<br>
>         >                                                 = 0; i <<br>
>         data.length;<br>
>         >                                                 i++) {<br>
>         >                                                 ><br>
>         var<br>
>         >                                                 nombre =<br>
>         ><br>
>         data[i].nombre;<br>
>         >                                                 ><br>
>         var dir<br>
>         >                                                 =<br>
>         data[i].direccion;<br>
>         >                                                 ><br>
>         ><br>
>         $.getJSON("cargar<br>
>         >                                                 otros<br>
>         datos",<br>
>         ><br>
>         function(data) {<br>
>         >                                                 > var var1=<br>
>         data.var1;<br>
>         >                                                 > var var2=<br>
>         data.var2;<br>
>         >                                                 > //crear<br>
>         popup<br>
>         >                                                 > });<br>
>         >                                                 ><br>
>           //crear<br>
>         >                                                 marcador<br>
>         >                                                 ><br>
>         >                                                   //agregar<br>
>         marcador a<br>
>         >                                                 la capa<br>
>         >                                                 ><br>
>           } // fin<br>
>         >                                                 del for<br>
>         >                                                 ><br>
>         ><br>
>           }).complete(function() {<br>
>         >                                                 > //agregar<br>
>         capa al<br>
>         >                                                 mapa<br>
>         >                                                 > });<br>
>         >                                                 ><br>
>         ><br>
>         >                                                 ><br>
>         ><br>
>         _______________________________________________<br>
>         >                                                 ><br>
>         Php-avanzado mailing<br>
>         >                                                 list<br>
>         >                                                 ><br>
>         ><br>
>         <a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
>         >                                                 ><br>
>         ><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>
>         ><br>
>         >                                                 --<br>
>         >                                                 Leonardo<br>
>         Tadei<br>
>         ><br>
>         <a href="mailto:leonardot@pegasusnet.com.ar">leonardot@pegasusnet.com.ar</a><br>
>         >                                                 Web:<br>
>         ><br>
>         <a href="http://leonardo.tadei.com.ar" target="_blank">http://leonardo.tadei.com.ar</a><br>
>         >                                                 Firma<br>
>         pública:<br>
>         ><br>
>         <a href="http://www.pegasusnet.com.ar/LeonardoTadei-public.key" target="_blank">http://www.pegasusnet.com.ar/LeonardoTadei-public.key</a><br>
>         ><br>
>         ><br>
>         _______________________________________________<br>
>         >                                                 Php-avanzado<br>
>         mailing<br>
>         >                                                 list<br>
>         ><br>
>         <a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
>         ><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>
>         ><br>
>         ><br>
>         ><br>
>         ><br>
>         ><br>
>         ><br>
>         ><br>
>         _______________________________________________<br>
>         >                                 Php-avanzado mailing list<br>
>         ><br>
>         <a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
>         ><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>
>         ><br>
>         ><br>
>         ><br>
>         ><br>
>         >                         --<br>
>         >                         Matias Fernando Gea<br>
>         >                         <a href="mailto:matigea@gmail.com">matigea@gmail.com</a><br>
>         >                         <a href="http://www.mfgea.com.ar" target="_blank">http://www.mfgea.com.ar</a><br>
>         ><br>
>         ><br>
>         _______________________________________________<br>
>         >                         Php-avanzado mailing list<br>
>         >                         <a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
>         ><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>
>         ><br>
>         ><br>
>         ><br>
>         ><br>
>         ><br>
>         ><br>
>         > _______________________________________________<br>
>         > Php-avanzado mailing list<br>
>         > <a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
>         ><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>
><br>
>         --<br>
>         Leonardo Tadei<br>
>         <a href="mailto:leonardot@pegasusnet.com.ar">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:<br>
>         <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">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>
><br>
><br>
><br>
> _______________________________________________<br>
> Php-avanzado mailing list<br>
> <a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar">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>
<br>
--<br>
Leonardo Tadei<br>
<a href="mailto:leonardot@pegasusnet.com.ar">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">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>
</div></div></blockquote></div><br></div>