Obtener tiempo de llegada google maps api javascript

publicado por: Anonymous

Tengo un mapa el cual calcula con este método de google directionsService.route, con ese método se devuelve un response. Solo quiero es poder obtener el tiempo calculado por google.

_x000D_

_x000D_

var directionsDisplay = new google.maps.DirectionsRenderer();_x000D_
      var directionsService = new google.maps.DirectionsService();_x000D_
      var request = {_x000D_
        origin:{lat:latitudUsuario,lng:longitudUsuario},_x000D_
        destination: {lat:9.95,lng:-67.39},_x000D_
        travelMode: google.maps.DirectionsTravelMode['DRIVING'],_x000D_
        unitSystem: google.maps.DirectionsUnitSystem['METRIC'],_x000D_
        provideRouteAlternatives: true_x000D_
       };_x000D_
       directionsService.route(request, function(response, status) {_x000D_
         if (status == google.maps.DirectionsStatus.OK) {_x000D_
           directionsDisplay.setMap(map);_x000D_
           directionsDisplay.setDirections(response);_x000D_
         }else{_x000D_
           alert("No existen rutas entre ambos puntos");_x000D_
        }_x000D_
      });

_x000D_

_x000D_

_x000D_

solución

Prueba hacer lo siguiente. Justo debajo de la llamada:

    directionsDisplay.setDirections(response);

Agrega este codigo:

    // Obtener la duración para la primer ruta
    var route = response.routes[0];
    var duration = 0;

    // Iteramos todos los legs de la ruta
    route.legs.forEach(function (leg) {
      // Sumamos la duracion de cada uno
      // La duración esta en segundos.
      duration += leg.duration.value;
    });

    // Por ejemplo: imprimimos el resultado en DOMElement con id 'duracion'
    document.getElementById('duracion').innerHTML = duration + ' segundos';

Dejo una demo aqui: https://jsfiddle.net/Socramg/0po00agp/

Mas info aqui: https://developers.google.com/maps/documentation/directions/intro?hl=es

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *