Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Kase en 23 Mayo 2011, 10:54 am



Título: google maps, localsearch
Publicado por: Kase en 23 Mayo 2011, 10:54 am
necesito implementar google maps en una aplicacion... pero  no pasarle cordenadas pra que me ponga los puntos...

necesito pasarle por ejemplo  ' burger king tampico' y que me despliegue el mapa de la misma forma que lo aria google maps..


alguna idea?


Título: Re: google maps, localsearch
Publicado por: #!drvy en 23 Mayo 2011, 16:48 pm
Hola Google tiene un servicio en su API de maps llamado Geocode (geocoding) que convierte una dirección en coordenadas.

mas info: http://code.google.com/apis/maps/documentation/javascript/services.html#Geocoding


Mas complejo como que te busque automáticamente el nombre no se xD

Edit:

Quizás con el XML que suelta maps consigas algo, pero no se si sera muy "seguro" en cuanto a la localizacion.

ejemplo:
Código:
http://maps.google.com/maps/geo?q=burger,king,tampico&output=xml&oe=utf8&key=abcdefg

Saludos


Título: Re: google maps, localsearch
Publicado por: Kase en 23 Mayo 2011, 22:18 pm
=<  para posicionar lugares pekeños me vale...

incluso encontre esta libreria jquery http://plugins.jquery.com/project/gMap-v3

usar gmaps se simplifica a tansolo

$('#maps').gmap({{Lat  y Long}} {lat y long});

puedo contruir el arreglo interno con un diccionario de python y explotarlo...


pero tengo la necesidad de hacerlo por buskedas con el formato, nombre local - ciudad

encontre el api de google local serch pero este deprecado...
http://www.google.com/uds/solutions/localsearch/index.html


permite inclustar un mapa con un boton de serch...

Citar
<script type="text/javascript">
    function load() {
      if (GBrowserIsCompatible()) {
        // Create and Center a Map
        var map = new GMap2(document.getElementById("map"));
        map.setCenter(new GLatLng(37.4419, -122.1419), 13);
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
map.addControl(new google.maps.LocalSearch());
 
        // bind a search control to the map
        map.addControl(new google.maps.LocalSearch());
      }
    }
    GSearch.setOnLoadCallback(load);
  </script>
</head>
<body onload="initialize()" onunload="GUnload()">
<div id="map" style="width: 620px; height: 300px" align="center"></div>
</body>

ahora necesito que al cargar   buske una cadena que le pase... =<


Título: Re: google maps, localsearch
Publicado por: [u]nsigned en 24 Mayo 2011, 18:01 pm
Este hilo me sirvio muchisimo para un proyecto que tengo congelado hace mucho tiempo. Creo que eh conseguido excatmente lo que busca @Kase. Primero dejo este source:

gmaps.php
Código
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Probando Gogle Maps</title>
  6. <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
  7. <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.2.min.js" type="text/javascript"></script>
  8. <script src="http://www.smashinglabs.pl/scripts/jquery.gmap.3.1.0.js" type="text/javascript"></script>
  9. </html>
  10. <?php
  11. $GM_KEY = 'tu_key_de_google_maps';
  12.  
  13. $json = file_get_contents("http://maps.google.com/maps/geo?q=" . urlencode($_GET['q']) . ",Rawson,Chubut,Argentina&output=json&language=es&oe=utf8&key=" . $GM_KEY);
  14. $json = json_decode($json);
  15.  
  16. $datos['direccion'] = $json->name;
  17. $datos['coordenadas'] = $json->Placemark[0]->Point->coordinates;
  18. unset($json);
  19. ?>
  20. <div id="map" style="width: 600px; height: 400px; border: 1px solid #777; overflow: hidden;"></div>
  21. <script>
  22. $("#map").gMap({
  23. mapTypeContro:false,
  24. zoomControl:true,
  25. panControl:false,
  26. scaleControl:false,
  27. streetViewControl:false,
  28. scrollwheel: false,
  29.  
  30. markers: [{
  31. latitude: <?=$datos['coordenadas'][1]?>,
  32. longitude: <?=$datos['coordenadas'][0]?>,
  33. title: "Mi Marcador",
  34. }],
  35. address: '<?=$datos['direccion']?>',
  36. zoom: 16
  37. });
  38. </script>
  39. </body>
  40. </html>

Como veran en la linea resaltada, 'Rawson,Chubut,Argentina' es la localizacion de mi ciudad (ciudad, provincia, pais). Asi, para llamar al script con la direccion local "Av 25 de Mayo 184" seria la siguiente url:

Citar
gmaps.php?q=Av%2025%20de%20Mayo%20184

Aca un ejemplo funcionando:
http://fakx.comyr.com/gmaps.php?q=Av%2025%20de%20Mayo%20184

Si queres que le user pueda realizar busquedas interactivas desde tu web, primeor en vez de pasar el parametro por $_GET['q'] lo pasas con jQuery (obteneindolo de un text input) y solamente volves a llamar al metodos$("#map").gMap.

Espero les sirva.

Saludos!!!


Título: Re: google maps, localsearch
Publicado por: Kase en 25 Mayo 2011, 17:40 pm
que bueno que pudieras revivir un proyecto muerto!!!

estuve probando tu script, y no me señala los puntos que paso por get, nisiquierda el del enlace que dejaste.... =/

si lo lograste, me sorprendes!!!! yo no e encontrado por ningun lugar como hacer busquedas  en la documentacion de  la api v3...

lo mas cercano a lo que quiero en la locationserch de la api v2 =<


Título: Re: google maps, localsearch
Publicado por: [u]nsigned en 25 Mayo 2011, 21:17 pm
A mi si me funciona..  :huh:

Acabo de probarlo y funciona perfectamente en Firefox, pero en IE7 me da problemas con los comlementos del navegador..

Que navegador usas??

Saludos


Título: Re: google maps, localsearch
Publicado por: Kase en 25 Mayo 2011, 22:37 pm
chrome...


lo estoy pobando en firefox
pero nisikiera me carga...


mi solucion por ahora es que, si la empresa es pequeña 1 o 2 locales... tal vez un poco mas  los despliego con la api v3..
si la empresa es grande con muchos locales, switcheo ala api v2 para que el usuario pueda buscar el mismo su local mas sercano