Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/01/2013, 20:28
Avatar de ipraetoriux
ipraetoriux
 
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años, 8 meses
Puntos: 155
Respuesta: google map v3 busqueda por texto

Claro mi amigo, acá tienes el código incompleto...

1ero. El metodo TextSearch del objeto PlacesService esta incompleto, debes incluir un radius, es decir en que radio buscará, sino Google Maps interpreta este valor como undefined, y al ser un NaN como resultado del radio no efectua la busqueda.

2do. No te ha creado las marcas porque no tienes creada la funciona createMarker();

3er. Tampoco tienes creado el objeto InfoWindow();

Aca te lo paso corregido, he puesto un radio de 500, lo he probado funciona perfecto, si tienes otra duda me dices

Código Javascript:
Ver original
  1. var map;
  2.     var service;
  3.     var infowindow;
  4.  
  5.  
  6.     function initialize() {
  7.         var pyrmont = new google.maps.LatLng(39.300299,-3.825073);
  8.  
  9.         map = new google.maps.Map(document.getElementById('map'), {
  10.             mapTypeId: google.maps.MapTypeId.ROADMAP,
  11.             center: pyrmont,
  12.             zoom: 6
  13.         });
  14.  
  15.         var request = {
  16.             location: pyrmont,
  17.             radius: '500',
  18.             query: 'tienda muebles'
  19.         };
  20.  
  21.         infowindow = new google.maps.InfoWindow();
  22.         var service = new google.maps.places.PlacesService(map);
  23.         service.textSearch(request, function(results, status) {
  24.             if (status == google.maps.places.PlacesServiceStatus.OK) {
  25.                 for (var i = 0; i < results.length; i++) {                 
  26.                     createMarker(results[i]);
  27.                 }
  28.             }
  29.         });
  30.     }
  31.  
  32.     function createMarker(placeMarker) {
  33.         var marker = new google.maps.Marker({
  34.             map: map,
  35.             position: placeMarker.geometry.location
  36.         });
  37.  
  38.         google.maps.event.addListener(marker, 'click', function() {
  39.             infowindow.setContent(placeMarker.name);
  40.             infowindow.open(map, this);
  41.         });
  42.     }