Calculer le résumé de l'itinéraire
Pour utiliser Text Search (nouvelle version) ou Nearby Search (nouvelle version) afin de calculer la durée et la distance du trajet vers chaque lieu de la réponse :
-
Transmettez le
routingParameters.originparamètre dans la requête pour spécifier les coordonnées de latitude et de longitude de l'origine de l'itinéraire. Ce paramètre est obligatoire pour calculer la durée et la distance vers chaque lieu de la réponse. -
Incluez
routingSummariesdans le masque de champ afin que la réponse inclue le tableauroutingSummaries. Ce tableau contient la durée et la distance entre l'origine de l'itinéraire et chaque lieu de la réponse.
L'APIs Explorer vous permet d'effectuer des requêtes en direct pour vous familiariser avec l'API et ses options :
Utiliser Text Search (nouvelle version)
Dans la requête suivante, vous calculez la durée et la distance du trajet vers chaque lieu de la réponse Text Search (nouvelle version) :
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 réponse contient deux tableaux JSON : le tableau places contient les lieux correspondants, et le tableau routingSummaries contient la durée et la distance du trajet vers chaque lieu :
{ "places": [ { object (Place) } ] "routingSummaries": [ { object (RoutingSummary) } }
Chaque élément du tableau routingSummaries se trouve au même emplacement que le lieu correspondant dans le tableau places. Autrement dit, l'élément routingSummaries[0] correspond au lieu places[0].
La longueur du tableau routingSummaries est identique à celle du tableau places. Si le routingSummary d'un lieu n'est pas disponible, l'entrée du tableau est vide.
Comme cet exemple calcule la durée et la distance entre l'origine de l'itinéraire et chaque lieu, le champ routingSummaries.legs de la réponse contient un seul objet Leg qui contient la duration et la distanceMeters entre l'origine de l'itinéraire et le lieu.
{ "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" }, … ] }
Dans cet exemple, vous pouvez voir que la durée et la distance entre l'origine de l'itinéraire et le premier lieu des résultats sont de 597 secondes et 2 607 mètres.
Utiliser Nearby Search
Dans cet exemple, vous calculez la durée et la distance du trajet vers chaque lieu de la réponse Nearby Search. Cet exemple recherche des restaurants à Sydney, en Australie, et définit la restriction de lieu et l'origine de l'itinéraire sur les mêmes coordonnées de latitude et de longitude :
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:searchNearbyVous n'êtes pas obligé d'utiliser les mêmes coordonnées pour la locationRestriction et l'origine de l'itinéraire. Par exemple, vous définissez la locationRestriction sur le point central de Sydney pour orienter les résultats de recherche vers ce cercle. Mais vous définissez ensuite l'origine de l'itinéraire sur les coordonnées de votre domicile, c'est-à-dire sur un autre lieu dans le cercle de recherche. La requête oriente ensuite les résultats de recherche vers le cercle et calcule les résumés de l'itinéraire en fonction de l'emplacement de votre domicile.
Spécifier les options de transport
Par défaut, les calculs de durée et de distance concernent une voiture. Toutefois, vous pouvez contrôler le type de véhicule, ainsi que d'autres options, dans la recherche.
-
Utilisez le paramètre
routingParameters.travelModepour définir le mode de transport surDRIVE,BICYCLE,WALK, ouTWO_WHEELER. Pour en savoir plus sur ces options, consultez la section Types de véhicules disponibles pour les itinéraires. -
Utilisez la propriété
routingParameters.routingPreferencepour définir l'option de préférence d'itinéraire surTRAFFIC_UNAWARE(par défaut),TRAFFIC_AWAREouTRAFFIC_AWARE_OPTIMAL. Chaque option présente des niveaux de qualité des données et latence différents. Pour en savoir plus, consultez la section Spécifier comment et si inclure des données sur le trafic.La propriété
routingParameters.routingPreferenceaffecte les itinéraires contenus dans le champdirectionsUrien preview (pré-DG), car Google Maps affiche les options de trafic lorsqu'il ouvre le lien. -
Utilisez la propriété
routingParameters.routeModifierspour spécifieravoidTolls,avoidHighways,avoidFerries, etavoidIndoor. Pour en savoir plus sur ces options, consultez la section Spécifier les caractéristiques d'itinéraire à éviter.
Dans l'exemple suivant, vous spécifiez le mode de transport DRIVE et évitez les autoroutes :
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'Essayer
L'APIs Explorer vous permet d'effectuer des requêtes exemples pour vous familiariser avec l'API et ses options.
Sélectionnez l'icône d'API api à droite de la page.
Vous pouvez modifier les paramètres de la requête.
Sélectionnez le bouton Exécuter. Dans la boîte de dialogue, choisissez le compte que vous souhaitez utiliser pour effectuer la requête.
Dans le panneau APIs Explorer, sélectionnez l'icône plein écran fullscreen pour agrandir la fenêtre APIs Explorer.