gratis google georreferenciación geolocalizacion ejemplos api google-maps travel-time

georreferenciación - Usar Google Maps API para obtener datos de tiempo de viaje



google maps api key gratis (9)

Todos los ejemplos que he encontrado usando la API de Google Maps parecen mostrar un mapa de algún tipo. Me gustaría incorporar los datos sobre el tiempo estimado de viaje en automóvil que le brindan cuando solicita una descripción de ruta de A a B en un sitio. Y solo esa información. ¿Es posible sin cargar un mapa para el visitante final?


  1. primero vaya aquí: https://developers.google.com/maps/documentation/distance-matrix/start Necesita: Crear o seleccionar un proyecto, Habilitar la API y Obtener una clave de API Simplemente haga clic en "Obtener una clave" y suponiendo que tiene una cuenta de Gmail, puede hacer que todo funcione (alternativamente, vaya a console.developer.google.com luego de iniciar sesión en su cuenta de Gmail, y cree una aplicación, habilite la API y obtenga la clave de la API allí).
  2. ahora vaya a https://developers.google.com/maps/documentation/distance-matrix/intro y siga los detalles. Un par de cosas a tener en cuenta: use estas: & mode = driving & departure_time = now y traffic_model = pesimista si desea que el tráfico actual influya en el tiempo de conducción. También utilicé & units = imperial

La duración en el tráfico se devuelve solo si todo lo siguiente es verdadero:

La solicitud incluye un parámetro departure_time. La solicitud incluye una clave de API válida o una identificación y firma de cliente válidas de Google Maps APIs. Las condiciones de tráfico están disponibles para la ruta solicitada. El parámetro de modo está configurado para conducir.

Y sí, tiene que mostrar un mapa de Google con el tiempo de conducción "La API de matriz de distancia de Google Maps solo se puede usar junto con la visualización de resultados en un mapa de Google. Está prohibido utilizar los datos de API de la matriz de distancia de Google Maps sin mostrar un mapa de Google ".
Asegúrese de realizar la compra: https://developers.google.com/maps/documentation/distance-matrix/usage-limits y developers.google.com/maps/terms para T & C''s.

Tenga en cuenta que Mapquest no muestra los tiempos de conducción en función del tráfico real.


La respuesta anterior es incorrecta, va en contra de los términos de servicio de la API de Google.

La API de Google Maps solo le permite calcular el tiempo de viaje si se lo compara con un mapa de Google que se muestra al usuario.

No puede usar la API si no muestra un mapa de Google para el usuario final del servicio.


Luché con esto durante mucho tiempo, pero finalmente lo resolví con una llamada AJAX (asegúrese de estar vinculado a jQuery para hacer esto).

//Pass parameters to a function so your user can choose their travel locations function getCommuteTime(departLocation, arriveLocation) { //Put your API call here with the parameters passed into it var queryURL = "https://maps.googleapis.com/maps/api/distancematrix/json? units=imperial&origins=" + departLocation + "&destinations=" + arriveLocation + "&key=YOUR_API_KEY" //Ajax retrieves data from the API $.ajax({ url: queryURL, method: "GET" }).then(function(response) { //Navigate through the given object to the data you want (in this case, commute time) var commuteTime = response.rows[0].elements[0].duration.text; console.log(commuteTime) }); } //This is where your user can give you the data you need $("#addRoute").on("click", function(event) { event.preventDefault(); var departLocation = $("#departInput").val().trim(); var arriveLocation = $("#arriveInput").val().trim(); //call the above function getCommuteTime(departLocation, arriveLocation);

});


Puede usar el paquete R gmapsdistance . Hace exactamente lo que quieres. Calcula las matrices de distancia / tiempo entre un vector de orígenes y destinos, y le da un montón de opciones (modo de transporte, hora de salida, entre muchos otros).


Sí, esto es definitivamente posible usando la API. Puede construir un objeto GDirections sin un mapa o direcciones div. Puede hacer una solicitud de carga de A a B y luego llamar al método getDuration para obtener el tiempo total de viaje.

Primero necesitas crear un objeto de indicaciones:

// no need to pass map or results div since // we are only interested in travel time. var directions = new GDirections ();

Luego haga su solicitud de carga para resolver las instrucciones (he utilizado dos latitudes y longitudes como puntos de inicio y de finalización, pero también puede usar las direcciones aquí):

var wp = new Array (); wp[0] = new GLatLng(32.742149,119.337218); wp[1] = new GLatLng(32.735347,119.328485); directions.loadFromWaypoints(wp);

Luego debe escuchar el evento de carga para poder llamar a getDuration una vez que se hayan resuelto las instrucciones:

GEvent.addListener(directions, "load", function() { $(''log'').innerHTML = directions.getDuration ().seconds + " seconds"; });

Puede encontrar el ejemplo completo aquí y el JavaScript aquí . Puede consultar la documentación de Google Maps para obtener más información sobre las opciones que puede darle al objeto GDirections (como la distancia a pie, etc.). También debe escuchar el evento de error para las fallas de geocodificación.



de google.maps.DirectionsRenderer

Distancia usando:

directionsDisplay.directions.routes[0].legs[0].distance.text

Duración mediante el uso de:

directionsDisplay.directions.routes[0].legs[0].duration.text


pseudocódigo:

  1. DirectionsService .route ({A, B}) // obtener un DirectionsResult aquí

  2. compruebe la distancia y la duración (tiempo de viaje) en DirectionsLeg .// from DirectionsResult.legs

    una ruta sin waypoints contendrá un DirectionsLeg, así que eso es lo que quiere.


Para el registro : en este momento (año 2015) GDirections, GLatLng, GEvent, etc. están en desuso .

Puede usar la clase google.maps.DirectionsService (Google Maps JavaScript API V3)

En el siguiente fragmento, la ubicación y el objetivo son objetos que contienen coordenadas de latitud y longitud.

1) La clase google.maps.DirectionsService admite tanto LatLng como valores de cadena para alimentar sus propiedades de origen y destino.
2) Un LatLng es un punto en coordenadas geográficas: latitud y longitud.

var origin = new google.maps.LatLng( location.latitude, location.longitude ); // using google.maps.LatLng class var destination = target.latitude + '', '' + target.longitude; // using string var directionsService = new google.maps.DirectionsService(); var request = { origin: origin, // LatLng|string destination: destination, // LatLng|string travelMode: google.maps.DirectionsTravelMode.DRIVING }; directionsService.route( request, function( response, status ) { if ( status === ''OK'' ) { var point = response.routes[ 0 ].legs[ 0 ]; $( ''#travel_data'' ).html( ''Estimated travel time: '' + point.duration.text + '' ('' + point.distance.text + '')'' ); } } );