Calculer le récapitulatif du routage
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 paramètre
routingParameters.origin
dans la requête pour spécifier les coordonnées de latitude et de longitude de l'origine du trajet. Ce paramètre est obligatoire pour calculer la durée et la distance jusqu'à chaque lieu dans la réponse. -
Incluez
routingSummaries
dans le masque de champ pour que la réponse inclue le tableauroutingSummaries
. Ce tableau contient la durée et la distance entre le point de départ de l'itinéraire et chaque lieu de la réponse.
APIs Explorer vous permet d'envoyer 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 (New) :
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 à parcourir pour se rendre à chaque lieu :
{ "places": [ { object (Place) } ] "routingSummaries": [ { object (RoutingSummary) } }
Chaque élément du tableau routingSummaries
se trouve à l'emplacement 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 le point de départ du routage et chaque lieu, le champ routingSummaries.legs
de la réponse contient un seul objet Leg
qui contient les valeurs duration
et distanceMeters
entre le point de départ du routage 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 du trajet et le premier lieu dans les 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 de la recherche à proximité. Cet exemple recherche des restaurants à Sydney, en Australie, et définit la restriction de localisation et l'origine du trajet 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:searchNearby
Vous n'avez pas besoin d'utiliser les mêmes coordonnées pour locationRestriction
et l'origine du trajet. Par exemple, vous définissez locationRestriction
sur le point central de Sydney pour orienter les résultats de recherche vers ce cercle. Mais vous définissez ensuite l'origine du trajet sur les coordonnées de votre maison, c'est-à-dire sur un autre lieu à l'intérieur du cercle de recherche. La requête biaise ensuite les résultats de recherche vers le cercle et calcule les récapitulatifs d'itinéraire en fonction de l'emplacement de votre maison.
Spécifier les options de voyage
Par défaut, les calculs de durée et de distance sont effectués pour 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.travelMode
pour définir le mode de transport surDRIVE
,BICYCLE
,WALK
ouTWO_WHEELER
. Pour en savoir plus sur ces options, consultez Types de véhicules disponibles pour les itinéraires. -
Utilisez la propriété
routingParameters.routingPreference
pour définir l'option de préférence de routage surTRAFFIC_UNAWARE
(par défaut),TRAFFIC_AWARE
ouTRAFFIC_AWARE_OPTIMAL
. Chaque option présente des niveaux de qualité et de latence des données différents. Pour en savoir plus, consultez Spécifier comment et si inclure les données de trafic.La propriété
routingParameters.routingPreference
affecte les itinéraires contenus dans le champdirectionsUri
de la version Preview (pré-DG), car Google Maps affiche les options de trafic lorsqu'il ouvre le lien. -
Utilisez la propriété
routingParameters.routeModifiers
pour spécifieravoidTolls
,avoidHighways
,avoidFerries
etavoidIndoor
. Pour en savoir plus sur ces options, consultez Spécifier les caractéristiques de route à éviter.
Dans l'exemple suivant, vous spécifiez le mode de déplacement comme DRIVE
et vous demandez d'éviter 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
APIs Explorer vous permet d'effectuer des exemples de requêtes pour vous familiariser avec l'API et ses options.
Sélectionnez l'icône API api à droite de la page.
Vous pouvez également modifier les paramètres de la requête.
Sélectionnez le bouton Exécuter. Dans la boîte de dialogue, sélectionnez le compte que vous souhaitez utiliser pour envoyer la demande.
Dans le panneau APIs Explorer, sélectionnez l'icône plein écran fullscreen pour développer la fenêtre APIs Explorer.