Foros del Web » Programando para Internet » Javascript »

Loop para mostrar resultados.

Estas en el tema de Loop para mostrar resultados. en el foro de Javascript en Foros del Web. Hola, estoy haciendo una pequeña aplicacion y estoy empleando la API de Google Places. Les muestro ya tengo todo mi codigo que recauda los 'Places' ...
  #1 (permalink)  
Antiguo 31/07/2012, 09:20
 
Fecha de Ingreso: noviembre-2011
Mensajes: 19
Antigüedad: 13 años
Puntos: 2
Loop para mostrar resultados.

Hola, estoy haciendo una pequeña aplicacion y estoy empleando la API de Google Places.

Les muestro ya tengo todo mi codigo que recauda los 'Places' que especifiques
lo que quiero hacer es mostrarlos en texto plano por ejemplo:

'Restaurant Concha'
'Escuela Madero'
Etc.
etc.



Aqui el codigo...
http://pastebin.com/sK1Sn3zg

Muchisimas gracias!
  #2 (permalink)  
Antiguo 31/07/2012, 09:37
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Loop para mostrar resultados.

Prueba con esto

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2.   <head>
  3.     <meta charset="utf-8">
  4.     <title>Google Maps JavaScript API v3 Example: Place Search</title>
  5.  
  6.     <script src="https://maps.googleapis.com/maps/api/js?sensor=true&libraries=places"></script>
  7.     <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
  8.     <style>
  9.       #map {
  10.         height: 400px;
  11.         width: 600px;
  12.         border: 1px solid #333;
  13.         margin-top: 0.6em;
  14.       }
  15.     </style>
  16.  
  17.     <script>
  18.       var map;
  19.       var infowindow;
  20.  
  21.       function initialize() {
  22.         var pyrmont = new google.maps.LatLng(17.562406,-99.504623);
  23.  
  24.         map = new google.maps.Map(document.getElementById('map'), {
  25.           mapTypeId: google.maps.MapTypeId.ROADMAP,
  26.           center: pyrmont,
  27.           zoom: 15
  28.         });
  29.  
  30.         var request = {
  31.           location: pyrmont,
  32.           radius: 500,
  33.  
  34.         };
  35.         infowindow = new google.maps.InfoWindow();
  36.         var service = new google.maps.places.PlacesService(map);
  37.         service.search(request, callback);
  38.       }
  39.  
  40.       function callback(results, status) {
  41.         if (status == google.maps.places.PlacesServiceStatus.OK) {
  42.           var datos = '';
  43.           for (var i = 0; i < results.length; i++) {
  44.            createMarker(results[i]);
  45.             datos += i + ' ' + results[i].name + '<br/>';
  46.           }
  47.           document.getElementById("text").innerHTML = datos;
  48.         }
  49.       }
  50.  
  51.       function createMarker(place) {
  52.         var placeLoc = place.geometry.location;
  53.         var marker = new google.maps.Marker({
  54.           map: map,
  55.           position: place.geometry.location
  56.         });
  57.  
  58.         google.maps.event.addListener(marker, 'click', function() {
  59.           infowindow.setContent(place.name);
  60.           infowindow.open(map, this);
  61.         });
  62.       }
  63.  
  64.       google.maps.event.addDomListener(window, 'load', initialize);
  65.     </script>
  66.   </head>
  67.   <body>
  68.     <div id="map"></div>
  69.     <div id="text"></div>
  70.  
  71.   </body>
  72. </html>
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 31/07/2012, 13:43
 
Fecha de Ingreso: noviembre-2011
Mensajes: 19
Antigüedad: 13 años
Puntos: 2
Respuesta: Loop para mostrar resultados.

Cita:
Iniciado por Dradi7 Ver Mensaje
Prueba con esto

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2.   <head>
  3.     <meta charset="utf-8">
  4.     <title>Google Maps JavaScript API v3 Example: Place Search</title>
  5.  
  6.     <script src="https://maps.googleapis.com/maps/api/js?sensor=true&libraries=places"></script>
  7.     <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
  8.     <style>
  9.       #map {
  10.         height: 400px;
  11.         width: 600px;
  12.         border: 1px solid #333;
  13.         margin-top: 0.6em;
  14.       }
  15.     </style>
  16.  
  17.     <script>
  18.       var map;
  19.       var infowindow;
  20.  
  21.       function initialize() {
  22.         var pyrmont = new google.maps.LatLng(17.562406,-99.504623);
  23.  
  24.         map = new google.maps.Map(document.getElementById('map'), {
  25.           mapTypeId: google.maps.MapTypeId.ROADMAP,
  26.           center: pyrmont,
  27.           zoom: 15
  28.         });
  29.  
  30.         var request = {
  31.           location: pyrmont,
  32.           radius: 500,
  33.  
  34.         };
  35.         infowindow = new google.maps.InfoWindow();
  36.         var service = new google.maps.places.PlacesService(map);
  37.         service.search(request, callback);
  38.       }
  39.  
  40.       function callback(results, status) {
  41.         if (status == google.maps.places.PlacesServiceStatus.OK) {
  42.           var datos = '';
  43.           for (var i = 0; i < results.length; i++) {
  44.            createMarker(results[i]);
  45.             datos += i + ' ' + results[i].name + '<br/>';
  46.           }
  47.           document.getElementById("text").innerHTML = datos;
  48.         }
  49.       }
  50.  
  51.       function createMarker(place) {
  52.         var placeLoc = place.geometry.location;
  53.         var marker = new google.maps.Marker({
  54.           map: map,
  55.           position: place.geometry.location
  56.         });
  57.  
  58.         google.maps.event.addListener(marker, 'click', function() {
  59.           infowindow.setContent(place.name);
  60.           infowindow.open(map, this);
  61.         });
  62.       }
  63.  
  64.       google.maps.event.addDomListener(window, 'load', initialize);
  65.     </script>
  66.   </head>
  67.   <body>
  68.     <div id="map"></div>
  69.     <div id="text"></div>
  70.  
  71.   </body>
  72. </html>
Perfecto!!, mucha gracias me podrias decir que hiciste para no estar preguntando cada vez que tenga que hacer lo mismo.

Saludos!
  #4 (permalink)  
Antiguo 31/07/2012, 15:02
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Loop para mostrar resultados.

ves esta parte de la funcion

Código Javascript:
Ver original
  1. function callback(results, status) {
  2.    if (status == google.maps.places.PlacesServiceStatus.OK) {
  3.      var datos = '';
  4.      for (var i = 0; i < results.length; i++) {
  5.        createMarker(results[i]);
  6.        datos += i + ' ' + results[i].name + '<br/>';
  7.      }
  8.      document.getElementById("text").innerHTML = datos;
  9.    }
  10. }

tu ya tenias el objecto ya con los datos lo unico que te faltaba solo era del objeto results[i] recorrer sus propiedades y en las cuales el name era lo que tu querías ya despues de esto lo guardo en una variable que va concatenando y al final lo paso a tu HTMLElement (DIV)
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones

Etiquetas: loop
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:50.