[Php-avanzado] código tesis

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Lun Jun 10 20:08:04 ART 2013


Hola Cesar,

	el otro día vimos esa cuestión juntos, sobre todo el problema que
implica hacer llamadas a las APIs externas a cada click de los
visitantes, y posibles formas de reimplementarlo minimizando las
llamadas externas.

	Para seguir adelante con esta implementación, que ya sabemos que no
tiene futuro, una solución podría ser que al cargar index.php, desde el
servidor ya devuelvas generado en un vector JS la lista de hoteles,
restaurantes, puntos, etc.
	De esta forma, evitás esta llamada AJAX, podrías tener un bucle que
recorra el vector y que adentro haga las llamadas a las API: así no hace
falta conocer el "i" sobre el que se hace la petición y no estaba
disponible en la llamada AJAX anidada.

	Qué te parece?



El sáb, 08-06-2013 a las 19:39 -0300, Cesar Gimenez Lascano escribió:
> Hola Matias! te paso a vos y a Leo tmb las modificaciones que
> estuvimos haciendo en la función getResto() aunque sin solución aun.
> Hicimos que las funciones no sean anónimas, pero aun así por una
> limitación del framework jquery nos falta pasarnos un parámetro (i)
> que asocie los datos de la base de datos con los de la llamada a la
> api de foursquare para poder armar bien los popups. Así q las
> posibilidades son crear mi propio objeto XMLHttpRequest o ir por el
> lado de hacer todo desde el servidor. Gracias por el tiempo y la
> ayuda!!!!
> 
> 
> <!--obtengo los restaurantes-->  
> var restos;
> var tipsRestos = new Array();
> restos = new L.FeatureGroup(); // creo capa de marcadores
> 
> function successRestosFoursquare(data2) {
> var tip1 = data2.response.tips.items[0].text;
> var tip2 = data2.response.tips.items[1].text;
> return 'hola'; 
> }
>  function getResto(){
>  map.removeLayer(alojs); // remuevo las otras capas
>  map.removeLayer(bares);
>  map.removeLayer(comes);
>  map.removeLayer(puntos);     
>           $.getJSON("json/cargarResto.php", function (data) { // llamo
> a los datos de la BD
>           for (var i = 0; i < data.length; i++) {
>             var location = new L.LatLng(data[i].lat, data[i].long);
>             var nombre = data[i].nombre;
>             var dir = data[i].direccion;
> var tel = data[i].telefono;
> var img = data[i].logo; 
> var fourID = data[i].foursquare_id;
> var myIcon=L.icon({
> iconUrl: 'img/'+img+'',
> iconSize:     [32, 37], // tamaño del icono
> iconAnchor:   [16, 37], // punto del icocno que corresponde a la
> ubicacion del marcador 
> popupAnchor:  [0, -37] // punto donde aparecera el popup relativo a
> iconAnchor
> });
>             var marker = new L.Marker(location, {title: nombre, icon:
> myIcon});// creo el marcador
> //llamo a la api de foursquare
> $.getJSON('https://api.foursquare.com/v2/venues/'+fourID
> +'/tips?sort=recent&limit=2&client_id=315YX0EUHY5VW5SFVCPIBMMVYTSNCXNML20AHEEDL1Q2TMEE&client_secret=HOJHGWETZPZYXLS2NYSPMUO0A4WO2UQCUHVWEAXQWAOWROZ2', 
> successRestosFoursquare);
> // marker.bindPopup("<div class='popup'>" + "<span class='titulo'>"+
> nombre +"</span>" +"</br>"+ dir +"</br>"+ tel +"</br>"+ tip1 +"</br>"+
> tip2 + "</div>", {maxWidth: '600'}); // creo el popup 
> marker.bindPopup("<div class='popup'>" + "<span class='titulo'>"+
> nombre +"</span>" +"</br>"+ dir +"</br>"+ tel +"</br>"+ 'aaa'
> +"</br>"+ 'bbb' + "</div>", {maxWidth: '600'}); // creo el popup 
> restos.addLayer(marker); // agrego el marcador con su popup a la capa
> de marcadores 
>           }
>         }).complete(function() {
> restos.addTo(map); // agrego la capa de marcadores al mapa 
> });
>       
>  }
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado

-- 
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-avanzado