Cómo calcular el resumen de rutas
Para usar Text Search (nueva) o Nearby Search (nueva) para calcular la duración y la distancia del viaje a cada lugar en la respuesta, haz lo siguiente:
-
Pasa el
routingParameters.originparámetro en la solicitud para especificar las coordenadas de latitud y longitud del origen de la ruta. Este parámetro es obligatorio para calcular la duración y la distancia a cada lugar en la respuesta. -
Incluye
routingSummariesen la máscara de campo para que la respuesta incluya el arrayroutingSummaries. Este array contiene la duración y la distancia desde el origen de la ruta hasta cada lugar en la respuesta.
El Explorador de APIs te permite realizar solicitudes en vivo para que puedas familiarizarte con la API y sus opciones:
Cómo usar Text Search (nueva)
En la siguiente solicitud, se calcula la duración y la distancia del viaje a cada lugar en la respuesta de Text Search (nueva):
curl -X POST -d '{
"textQuery" : "Spicy Vegetarian Food in Sydney, Australia",
"routingParameters": {
"origin": {
"latitude": -33.8688,
"longitude": 151.1957362
}
}
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
'https://places.googleapis.com/v1/places:searchText'La respuesta contiene dos arrays JSON: el array places contiene los lugares coincidentes y el array routingSummaries contiene la duración y la distancia para viajar a cada lugar:
{ "places": [ { object (Place) } ] "routingSummaries": [ { object (RoutingSummary) } }
Cada elemento del array routingSummaries se encuentra en la ubicación del array correspondiente como el lugar en el array places. Es decir, el elemento en routingSummaries[0] corresponde al lugar en places[0].
La longitud del array routingSummaries es la misma que la del array places. En el caso de que no esté disponible el routingSummary para un lugar, la entrada del array estará vacía.
Como en este ejemplo se calcula la duración y la distancia desde el origen de la ruta hasta cada lugar, el campo routingSummaries.legs de la respuesta contiene un solo objeto Leg que contiene la duration y la distanceMeters desde el origen de la ruta hasta el lugar.
{ "places": [ { "formattedAddress": "1, Westfield Sydney Central Plaza, 450 George St, Sydney NSW 2000, Australia", "displayName": { "text": "Gözleme King Sydney", "languageCode": "en" } }, { "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, … ] "routingSummaries": [ { "legs": [ { "duration": "597s", "distanceMeters": 2607 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3fa97cd745:0x6aecf365bf497c08!3e0" }, { "legs": [ { "duration": "562s", "distanceMeters": 2345 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3da97f60c1:0x845f3273bd764f6c!3e0" }, … ] }
En este ejemplo, puedes ver que la duración y la distancia desde el origen de la ruta hasta el primer lugar en los resultados son de 597 segundos y 2,607 metros.
Cómo usar Nearby Search
En este ejemplo, se calcula la duración y la distancia del viaje a cada lugar en la respuesta de Nearby Search. En este ejemplo, se buscan restaurantes en Sídney, Australia, y se establece la restricción de ubicación y el origen de la ruta en la misma coordenada de latitud y longitud:
curl -X POST -d '{
"includedTypes": ["restaurant"],
"maxResultCount": 10,
"locationRestriction": {
"circle": {
"center": {
"latitude": -33.8688,
"longitude": 151.1957362},
"radius": 500.0
}
},
"routingParameters": {
"origin": {
"latitude": -33.8688,
"longitude": 151.1957362
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key:API_KEY" \
-H "X-Goog-FieldMask: places.displayName,routingSummaries" \
https://places.googleapis.com/v1/places:searchNearbyNo es necesario que uses las mismas coordenadas para la locationRestriction y el origen de la ruta. Por ejemplo, puedes establecer la locationRestriction en el punto central de Sídney para sesgar los resultados de la búsqueda hacia ese círculo. Sin embargo, luego estableces el origen de la ruta en las coordenadas de tu casa, lo que significa que se trata de una ubicación diferente dentro del círculo de búsqueda. Luego, la solicitud sesga los resultados de la búsqueda hacia el círculo y calcula los resúmenes de rutas según la ubicación de tu casa.
Cómo especificar opciones de viaje
De forma predeterminada, los cálculos de duración y distancia son para un automóvil. Sin embargo, puedes controlar el tipo de vehículo, así como otras opciones, en la búsqueda.
-
Usa el parámetro
routingParameters.travelModepara establecer el modo de transporte enDRIVE,BICYCLE,WALK, oTWO_WHEELER. Para obtener más información sobre estas opciones, consulta Tipos de vehículos disponibles para las rutas. -
Usa la propiedad
routingParameters.routingPreferencepara establecer la opción de preferencia de ruta enTRAFFIC_UNAWARE(predeterminada),TRAFFIC_AWAREoTRAFFIC_AWARE_OPTIMAL. Cada opción tiene diferentes niveles de calidad de los datos y latencia. Para obtener más información, consulta Especifica cómo y si se deben incluir datos de tráfico.La propiedad
routingParameters.routingPreferenceafecta las indicaciones que se incluyen en el campodirectionsUri(versión preliminar, fase previa a la DG), ya que Google Maps muestra opciones de tráfico cuando abre el vínculo. -
Usa la propiedad
routingParameters.routeModifierspara especificaravoidTolls,avoidHighways,avoidFerries, yavoidIndoor. Para obtener más información sobre estas opciones, consulta Especifica las funciones de ruta que se deben evitar.
En el siguiente ejemplo, se especifica el modo de viaje como DRIVE y se indica que se deben evitar las autopistas:
curl -X POST -d '{
"textQuery" : "Spicy Vegetarian Food in Sydney, Australia",
"routingParameters": {
"origin": {
"latitude": -33.8688,
"longitude": 151.1957362
},
"travelMode":"DRIVE",
"routeModifiers": {
"avoidHighways": true
}
}
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
'https://places.googleapis.com/v1/places:searchText'Pruébalo
El Explorador de APIs te permite realizar solicitudes de muestra para que puedas familiarizarte con la API y sus opciones.
Selecciona el ícono de API api en el lado derecho de la página.
De manera opcional, edita los parámetros de la solicitud.
Selecciona el botón Ejecutar. En el diálogo, elige la cuenta que deseas usar para realizar la solicitud.
En el panel Explorador de APIs, selecciona el ícono de pantalla completa fullscreen para expandir la ventana del Explorador de APIs.