Combiner les résumés d'itinéraire avec la recherche sur le trajet
Vous pouvez combiner les calculs du récapitulatif de l'itinéraire avec la recherche le long d'un itinéraire. Dans ce cas, Text Search (nouvelle version) renvoie la durée et la distance du trajet vers chaque lieu de la réponse, puis de chaque lieu vers la destination finale de l'itinéraire.
Pour utiliser Text Search (nouvelle version) afin de calculer le récapitulatif de l'itinéraire et d'effectuer une recherche le long d'un itinéraire :
-
Utilisez l'API Routes pour calculer un itinéraire qui renvoie une polyligne d'itinéraire dans la réponse.
-
Utilisez le paramètre
searchAlongRouteParameters.polyline.encodedPolyline
pour transmettre la polyligne de l'itinéraire à la recherche de texte (nouveau) afin de biaiser les résultats de recherche vers l'itinéraire. La réponse contient ensuite les lieux qui correspondent aux critères de recherche et qui sont également situés à proximité de l'itinéraire spécifié. -
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 :
Par défaut, la recherche de texte (nouveau) s'effectue sur l'ensemble de l'itinéraire :
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food", "searchAlongRouteParameters": { "polyline": { "encodedPolyline": "ROUTE_POLYLINE" } } }' \ -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 : le tableau places
contenant les lieux correspondants et le tableau routingSummaries
contenant la durée et la distance à parcourir pour se rendre à chaque lieu :
{ "places": [ { "formattedAddress": "1199 El Camino Real, San Bruno, CA 94066, USA", "priceLevel": "PRICE_LEVEL_INEXPENSIVE", "displayName": { "text": "Vegan Mob - Vegan BBQ and Soul Food", "languageCode": "en" } }, { "formattedAddress": "839 Kearny St, San Francisco, CA 94108, USA", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Enjoy Vegetarian", "languageCode": "en" } }, … ], "routingSummaries": [ { "legs": [ { "duration": "285s", "distanceMeters": 1616 }, { "duration": "2466s", "distanceMeters": 58147 } ], "directionsUri": "https://www.google.com/maps/dir/37.42268,-122.08473/''/37.77877,-122.38781/data=!4m7!4m6!1m0!1m2!1m1!1s0x808f87f9ede375f5:0xa37171fea1a16b28!1m0!3e0" }, { "legs": [ { "duration": "696s", "distanceMeters": 4704 }, { "duration": "2787s", "distanceMeters": 58901 } ], "directionsUri": "https://www.google.com/maps/dir/37.42268,-122.08473/''/37.77877,-122.38781/data=!4m7!4m6!1m0!1m2!1m1!1s0x808580f4cebdb06f:0xd3af09e5742234f2!1m0!3e0" }, … ] }
Pour chaque entrée du tableau legs
, la recherche de texte (nouveau) renvoie un temps de trajet à deux étapes :
-
La première section contient la durée et la distance du trajet entre l'origine et le lieu. Dans cet exemple, la durée et la distance entre l'origine et le premier lieu des résultats sont de 285 secondes et 1 616 mètres.
-
La deuxième section contient la durée et la distance du trajet entre le lieu et la destination de l'itinéraire. Dans cet exemple, la durée et la distance sont de 2 466 secondes et 58 147 mètres.
Spécifier l'origine du routage, le mode de transport et les modificateurs d'itinéraire
Vous pouvez modifier le calcul du récapitulatif de recherche et de routage en spécifiant l'origine du routage, le mode de déplacement, les modificateurs d'itinéraire et les préférences de routage. Le mode de déplacement et les modificateurs d'itinéraire fonctionnent de la même manière que pour le calcul des résumés d'itinéraire sans spécifier d'itinéraire, comme indiqué dans la section Spécifier les options de déplacement.
Par défaut, la première étape de chaque résultat contient la distance entre l'origine définie par la polyligne et chaque lieu. Toutefois, vous pouvez remplacer cette valeur par défaut en spécifiant explicitement une origine de routage dans la requête. Si elle est spécifiée, la première étape de toutes les réponses indique les distances et la durée à partir de l'origine du trajet spécifiée, ce qui remplace l'origine de la polyligne.
Dans l'exemple suivant, vous spécifiez une origine de routage comme étant les coordonnées de San Mateo, en Californie, vous indiquez d'éviter les péages et vous définissez le nombre de résultats sur 5 :
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food", "maxResultCount": 5, "searchAlongRouteParameters": { "polyline": { "encodedPolyline": "ROUTE_POLYLINE" } }, "routingParameters": { "origin": { "latitude": 37.56617, "longitude": -122.30870 }, "travelMode":"DRIVE", "routeModifiers": { "avoidTolls": 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'
L'image suivante montre une carte contenant la polyligne de l'itinéraire, la nouvelle origine (repère bleu clair) et les lieux dans les résultats de recherche (repères verts). Notez que tous les résultats se trouvent sur l'itinéraire, mais après San Mateo :

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.