feed twitter facebook LinkedIn facebook

Google » Cargar una ruta con Google Maps v3

agosto 30, 2012 por Víctor Cuervo 4 Comentarios Imprimir Imprimir

El otro día vimos la nueva forma de cargar Google Maps en su versión 3. Y también veíamos que había cambiado su API. Así que nuestro ejemplo que Comunica dos direcciones en Google Maps se nos ha quedado un poco obsoleto (aunque sigue funcionando).

Ahora vamos a ver cómo cargar una ruta con Google Maps v3. Lo primero que haremos será cargar el API de Google Maps v3.

  1. <script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>

E instanciamos nuestro Mapa mediante la clase google.maps.Map:

  1. var mapOptions = {
  2. zoom: 12,
  3. center: new google.maps.LatLng(40.674389,-4.700432),
  4. mapTypeId: google.maps.MapTypeId.ROADMAP
  5. };
  6.  
  7. map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);

Vemos que en el objeto mapOptions pasamos toda la parametrización del mapa.

Ahora vamos a definir la Ruta. Para la Ruta tenemos que saber que Google Maps v3 nos ofrece un par de objetos. El primero y más importante es google.maps.DirectionsService. Este objeto será el encargado de calcularnos una ruta y devolvernos un objeto DirectionsResult con toda la información de la ruta.

Para que el objeto DirectionsService nos calcule la ruta le tenemos que pasar un objeto DirectionsRequest indicándole la información de la ruta: origen, dsetino, forma de desplazamiento,...

  1. var request = {
  2. origin:"Madrid",
  3. destination:"Avila",
  4. travelMode: google.maps.TravelMode.DRIVING
  5. };

Este objeto DirectionsRequest se lo pasamos al DirectionsService para que calcule la ruta. Para ello ejecutamos el método .route()

  1. directionsService.route(request, function(result, status) {} });

El resultado del método .route() devuelve el DirectionsResult dentro del atributo result.

Una vez que tenemos el Resultado podemos hacer dos cosas. La primera será explotarlo para acceder a toda la información que contiene de las rutas y la segunda será representarlo visualmente. Para este segundo caso contamos con el objeto google.maps.DirectionsRenderer. Dicho objeto es capaz de renderizar un mapa o un texto con un DirectionsResult.

  1. var directionsDisplay = new google.maps.DirectionsRenderer();
  2.  
  3. directionsDisplay.setMap(map);
  4. directionsDisplay.setPanel(document.getElementById("directionsPanel"));

Para configurar el DirectionsRender utilizamos .setMap() para indicarle cual es el mapa -objeto Map- y .setPanel() para saber cual es la capa del documento HTML en la que volcar la ruta.

Solo nos quedará pasarle el DirectionsResult en la ejecución del método .route()

  1. directionsService.route(request, function(result, status) {
  2. if (status == google.maps.DirectionsStatus.OK) {
  3. directionsDisplay.setDirections(result);
  4. }
  5. });

Ya tenemos cargada nuestra ruta de forma visual y textual con Google Maps v3.

Visualizar el Codigo
Visualiza el artículo
Descargar el Codigo
Descargar el código
Error en el Codigo
Error en el código
Foro sobre Google Maps
Foro sobre Google Maps
tags: , , , , , , , ,

Artículos relacionados:

4 comentarios »

RSS feed para los comentarios de esta entrada.TrackBack URI

  1. fernando
    septiembre 2, 2012 #

    Gracias Victor pos tus aportes, yo te planteo una duda:
    cuando aplico las rutas, resulta que en mi movil (htc), la barra de desplazamiento del texto
    del directionpanel desaparece y tampoco se desplaza de manera tactil, por lo que solo se puede
    leer el comienzo de la ruta.
    Por mas que he indagado en la api de google no encuentro respuesta.
    Saludos

  2. Víctor Cuervo
    septiembre 9, 2012 #

    Hola @fernando,

    El DirectionPanel en sí creo que no lleva scroll. ¿Has probado a meterle en una capa y configurar el overflow:scroll? Por si hay suerte. ;-)

    Prueba también en nuestro foro por si alguien puede ayudarte.
    http://www.dudasprogramacion.com/forum/google-maps

    Saludos.

  3. Víctor Cuervo » El día que me encontré al Canvas, las rutas versión 3 y una de operadores para principiantes
    septiembre 11, 2012 #

    [...] oto lado, las rutas de Google ya no son v2, ya son v3. Será que tenemos una manía por tenerla grande, la versión. O por que el [...]

  4. Build 2012.12 | aulambra.com
    septiembre 12, 2012 #

    [...] Cargar una ruta con Google Maps v3 [...]

Deja un comentario

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*