Introduction
Autocomplete (New) est un service Web qui renvoie des prédictions de lieux et de requêtes en réponse à une requête HTTP. Dans la requête, spécifiez une chaîne de recherche textuelle et des limites géographiques qui contrôlent la zone de recherche.
La saisie semi-automatique (nouvelle version) peut établir une correspondance avec des mots et des sous-chaînes complets de l'entrée afin de trouver des noms de lieux, des adresses et des Plus Codes. Ainsi, les applications peuvent envoyer des requêtes lors de la frappe pour indiquer les lieux et les requêtes possibles à la volée.
La réponse d'Autocomplete (New) peut contenir deux types de prédictions :
- Prédictions de lieux : lieux (établissements, adresses ou points d'intérêt, par exemple) en fonction de la chaîne de texte d'entrée et de la zone de recherche spécifiées. Les prédictions de lieux sont renvoyées par défaut.
- Prédictions de requêtes : chaînes de requête correspondant à la chaîne de texte saisie et à la zone de recherche. Les prédictions de requêtes ne sont pas renvoyées par défaut. Utilisez le paramètre de requête
includeQueryPredictions
pour ajouter des prédictions de requêtes à la réponse.
Par exemple, vous appelez Autocomplete (New) en utilisant comme entrée une chaîne contenant une saisie utilisateur partielle, "pizza sicilienne", avec la zone de recherche limitée à San Francisco, en Californie. La réponse contient ensuite une liste de prédictions de lieux correspondant à la chaîne de recherche et à la zone de recherche, comme le restaurant "Sicilian Pizza Kitchen", ainsi que des informations sur le lieu.
Les prédictions de lieux renvoyées sont conçues pour être présentées à l'utilisateur afin de l'aider à sélectionner le lieu souhaité. Vous pouvez effectuer une requête Place Details (New) pour obtenir plus d'informations sur les prédictions de lieux renvoyées.
La réponse peut également contenir une liste de prédictions de requêtes correspondant à la chaîne de recherche et à la zone de recherche, comme "Sicilian Pizza & Pasta". Chaque prédiction de requête dans la réponse inclut le champ text
contenant une chaîne de recherche textuelle recommandée. Utilisez cette chaîne comme entrée pour Text Search (nouvelle version) afin d'effectuer une recherche plus détaillée.
APIs Explorer vous permet d'envoyer des requêtes en direct pour vous familiariser avec l'API et ses options :
Requêtes Autocomplete (nouveau)
Une requête Autocomplete (New) est une requête HTTP POST envoyée à une URL au format suivant :
https://places.googleapis.com/v1/places:autocomplete
Transmettez tous les paramètres dans le corps de la requête JSON ou dans les en-têtes dans le cadre de la requête POST. Exemple :
curl -X POST -d '{ "input": "pizza", "locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Paramètres possibles
Paramètre |
Description |
---|---|
Chaîne de texte à rechercher (mots complets, sous-chaînes, noms de lieux, adresses, Plus Codes). |
|
|
Liste de champs séparés par une virgule indiquant les champs à renvoyer dans la réponse. |
Limite les résultats aux lieux correspondant à l'un des cinq types principaux spécifiés au maximum. |
|
Si la valeur est "true", les entreprises sans établissement physique (entreprises de services de proximité) sont incluses. Valeur par défaut : "false". |
|
Si la valeur est "true", la réponse inclut à la fois les prédictions de lieux et de requêtes. Valeur par défaut : "false". |
|
Tableau de codes pays à deux caractères (15 maximum) pour limiter les résultats. |
|
Décalage de caractère Unicode basé sur zéro de la position du curseur dans la chaîne d'entrée, qui influence les prédictions. La valeur par défaut est la longueur de l'entrée. |
|
Langue préférée (code IETF BCP-47) pour les résultats. La valeur par défaut est l'en-tête Accept-Language ou &39;en'. |
|
Spécifie une zone (cercle ou rectangle) vers laquelle pondérer les résultats de recherche, en autorisant les résultats en dehors de la zone. Ne peut pas être utilisé avec locationRestriction. |
|
Spécifie une zone (cercle ou rectangle) dans laquelle restreindre les résultats de recherche. Les résultats en dehors de cette zone sont exclus. Cet argument ne peut pas être utilisé avec locationBias. |
|
Point d'origine (latitude, longitude) utilisé pour calculer la distance en ligne droite (distanceMeters) jusqu'aux destinations prévues. |
|
Code de région utilisé pour mettre en forme la réponse et orienter les suggestions (par exemple, 'uk', 'fr'). |
|
Chaîne générée par l'utilisateur pour regrouper les appels Autocomplete dans une session à des fins de facturation. |
À propos de la réponse
Autocomplete (New) renvoie un objet JSON en réponse. Dans la réponse :
- Le tableau
suggestions
contient tous les lieux et requêtes prédits, classés par ordre de pertinence perçue. Chaque lieu est représenté par un champplacePrediction
et chaque requête par un champqueryPrediction
. - Un champ
placePrediction
contient des informations détaillées sur une seule prédiction de lieu, y compris l'ID du lieu et la description textuelle. - Un champ
queryPrediction
contient des informations détaillées sur une seule prédiction de requête.
L'objet JSON complet se présente sous la forme suivante :
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 }] }, ... }, { "queryPrediction": { "text": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 }] }, ... } ...] }
Paramètres obligatoires
-
entrée
Chaîne de texte sur laquelle effectuer la recherche. Spécifiez des mots et des sous-chaînes complets, des noms de lieux, des adresses et des Plus Codes. Le service Autocomplete (nouveau) renvoie les résultats correspondant à cette chaîne et les classe en fonction de leur pertinence estimée.
Paramètres facultatifs
-
FieldMask
Spécifiez la liste des champs à renvoyer dans la réponse en créant un masque de champ de réponse. Transmettez le masque de champ de réponse à la méthode à l'aide de l'en-tête HTTP
X-Goog-FieldMask
.Spécifiez une liste de champs de suggestions à renvoyer, séparés par une virgule. Par exemple, pour récupérer les
suggestions.placePrediction.text.text
etsuggestions.queryPrediction.text.text
de la suggestion.X-Goog-FieldMask: suggestions.placePrediction.text.text,suggestions.queryPrediction.text.text
Utilisez
*
pour récupérer tous les champs.X-Goog-FieldMask: *
-
includedPrimaryTypes
Un lieu ne peut avoir qu'un seul type principal parmi ceux listés dans le Tableau A ou le Tableau B. Par exemple, le type principal peut être
"mexican_restaurant"
ou"steak_house"
.Par défaut, l'API renvoie tous les lieux en fonction du paramètre
input
, quelle que soit la valeur du type principal associée au lieu. Limitez les résultats à un ou plusieurs types principaux en transmettant le paramètreincludedPrimaryTypes
.Utilisez ce paramètre pour spécifier jusqu'à cinq valeurs de type issues du Tableau A ou du Tableau B. Un lieu doit correspondre à l'une des valeurs de type principal spécifiées pour être inclus dans la réponse.
Ce paramètre peut également inclure
(regions)
ou(cities)
. Filtres de collection de type(regions)
pour les zones ou les divisions, telles que les quartiers et les codes postaux. La collection de types(cities)
filtre les lieux que Google identifie comme des villes.La requête est rejetée avec une erreur
INVALID_REQUEST
si :- Plus de cinq types sont spécifiés.
- Tout type est spécifié en plus de
(cities)
ou(regions)
. - vous spécifiez des types non reconnus ;
-
includePureServiceAreaBusinesses
Si la valeur est définie sur
true
, la réponse inclut les établissements qui se rendent chez les clients ou leur livrent directement des produits, mais qui n'ont pas de locaux physiques. Si la valeur est définie surfalse
, l'API ne renvoie que les établissements disposant d'un emplacement physique. -
includeQueryPredictions
Si la valeur est
true
, la réponse inclut à la fois les prédictions de lieu et de requête. La valeur par défaut estfalse
, ce qui signifie que la réponse n'inclut que les prédictions de lieux. -
includedRegionCodes
N'incluez que les résultats de la liste des régions spécifiées, sous la forme d'un tableau de valeurs ccTLD (domaine de premier niveau) à deux caractères (jusqu'à 15). Si elle est omise, aucune restriction n'est appliquée à la réponse. Par exemple, pour limiter les régions à l'Allemagne et à la France :
"includedRegionCodes": ["de", "fr"]
Si vous spécifiez à la fois
locationRestriction
etincludedRegionCodes
, les résultats se trouvent dans la zone d'intersection des deux paramètres. -
inputOffset
Décalage de caractère Unicode (basé sur zéro) indiquant la position du curseur dans
input
. La position du curseur peut influencer les prédictions renvoyées. Si elle est vide, la longueur par défaut estinput
. -
languageCode
Langue préférée dans laquelle renvoyer les résultats. Les résultats peuvent être dans différentes langues si la langue utilisée dans
input
est différente de la valeur spécifiée parlanguageCode
, ou si le lieu renvoyé n'a pas de traduction de la langue locale verslanguageCode
.- Vous devez utiliser les codes de langue IETF BCP-47 pour spécifier la langue de votre choix.
-
Si
languageCode
n'est pas fourni, l'API utilise la valeur spécifiée dans l'en-têteAccept-Language
. Si aucune valeur n'est spécifiée, la valeur par défaut esten
. Si vous spécifiez un code de langue non valide, l'API renvoie une erreurINVALID_ARGUMENT
. - La langue préférée a une faible influence sur l'ensemble des résultats que l'API choisit de renvoyer, ainsi que sur l'ordre dans lequel ils sont renvoyés. Cela affecte également la capacité de l'API à corriger les fautes d'orthographe.
-
L'API tente de fournir une adresse postale lisible pour l'utilisateur et la population locale, tout en reflétant l'entrée utilisateur. Les prédictions de lieux sont mises en forme différemment en fonction de la saisie de l'utilisateur dans chaque requête.
-
Les termes correspondants dans le paramètre
input
sont choisis en premier, en utilisant des noms alignés sur la préférence linguistique indiquée par le paramètrelanguageCode
, le cas échéant, ou en utilisant des noms qui correspondent le mieux à la saisie de l'utilisateur. -
Les adresses postales sont mises en forme dans la langue locale, dans un script lisible par l'utilisateur, si possible, uniquement après que les termes correspondants ont été sélectionnés pour correspondre à ceux du paramètre
input
. -
Toutes les autres adresses sont renvoyées dans la langue préférée, une fois que les termes correspondants ont été choisis pour correspondre aux termes du paramètre
input
. Si aucun nom n'est disponible dans la langue de votre choix, l'API utilise la correspondance la plus proche.
-
Les termes correspondants dans le paramètre
locationBias ou locationRestriction
Vous pouvez spécifier
locationBias
oulocationRestriction
, mais pas les deux, pour définir la zone de recherche. ConsidérezlocationRestriction
comme spécifiant la région dans laquelle les résultats doivent se trouver, etlocationBias
comme spécifiant la région dont les résultats doivent être proches, mais qui peut être en dehors de la zone.locationBias
Spécifie une zone de recherche. Cet emplacement sert de biais, ce qui signifie que des résultats autour de l'emplacement spécifié peuvent être renvoyés, y compris des résultats en dehors de la zone spécifiée.
locationRestriction
Spécifie une zone de recherche. Les résultats en dehors de la zone spécifiée ne sont pas renvoyés.
Spécifiez la région
locationBias
oulocationRestriction
en tant que Viewport rectangulaire ou cercle.Un cercle est défini par un point central et un rayon en mètres. Le rayon doit être compris entre 0,0 et 50 000,0 (inclus). La valeur par défaut est 0.0. Pour
locationRestriction
, vous devez définir le rayon sur une valeur supérieure à 0,0. Sinon, la requête ne renvoie aucun résultat.Exemple :
"locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } }
Un rectangle est une fenêtre d'affichage de latitude et de longitude, représentée par deux points
low
et hauts diagonalement opposés. Une fenêtre d'affichage est considérée comme une région fermée, ce qui signifie qu'elle inclut sa limite. Les limites de latitude doivent être comprises entre -90 et 90 degrés inclus, et les limites de longitude doivent être comprises entre -180 et 180 degrés inclus :- Si
low
=high
, la fenêtre d'affichage se compose de ce seul point. - Si
low.longitude
>high.longitude
, la plage de longitude est inversée (la fenêtre d'affichage traverse la ligne de longitude de 180 degrés). - Si
low.longitude
= -180 degrés ethigh.longitude
= 180 degrés, la fenêtre d'affichage inclut toutes les longitudes. - Si
low.longitude
= 180 degrés ethigh.longitude
= -180 degrés, la plage de longitude est vide.
low
ethigh
doivent être renseignés, et la boîte représentée ne peut pas être vide. Un viewport vide génère une erreur.Par exemple, cette fenêtre d'affichage englobe entièrement la ville de New York :
"locationBias": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } }
- Si
-
origin
Point d'origine à partir duquel calculer la distance à vol d'oiseau jusqu'à la destination (renvoyée sous la forme
distanceMeters
). Si cette valeur est omise, la distance à vol d'oiseau ne sera pas renvoyée. Doit être spécifié sous la forme de coordonnées de latitude et de longitude :"origin": { "latitude": 40.477398, "longitude": -74.259087 }
-
regionCode
Code régional utilisé pour mettre en forme la réponse, spécifié sous la forme d'une valeur ccTLD ("domaine de premier niveau") à deux caractères. La plupart des codes ccTLD sont identiques aux codes ISO 3166-1, à quelques exceptions près. Par exemple, le ccTLD du Royaume-Uni est "uk" (.co.uk), tandis que son code ISO 3166-1 est "gb" (techniquement pour l'entité "Royaume-Uni de Grande-Bretagne et d'Irlande du Nord").
Les suggestions sont également biaisées en fonction des codes régionaux. Google recommande de définir
regionCode
en fonction des préférences régionales de l'utilisateur.Si vous spécifiez un code de région non valide, l'API renvoie une erreur
INVALID_ARGUMENT
. Ce paramètre peut avoir une incidence sur les résultats en fonction de la loi applicable. -
sessionToken
Les jetons de session sont des chaînes générées par l'utilisateur qui suivent les appels Autocomplete (nouveau) en tant que "sessions". Autocomplete (nouveau) utilise des jetons de session pour regrouper les phases de requête et de sélection d'une recherche de saisie semi-automatique d'un utilisateur dans une session distincte à des fins de facturation. Pour en savoir plus, consultez Jetons de session.
Choisir des paramètres pour biaiser les résultats
Les paramètres de la saisie semi-automatique (nouveau) peuvent influencer différemment les résultats de recherche. Le tableau suivant fournit des recommandations pour l'utilisation des paramètres en fonction du résultat souhaité.Paramètre | Recommandation d'utilisation |
---|---|
regionCode |
Définie en fonction des préférences régionales de l'utilisateur. |
includedRegionCodes |
Définissez cette option pour limiter les résultats à la liste des régions spécifiées. |
locationBias |
À utiliser lorsque les résultats sont préférés dans ou autour d'une région. Le cas échéant, définissez la région comme étant la fenêtre d'affichage de la carte que l'utilisateur consulte. |
locationRestriction |
Utilisez only lorsque les résultats en dehors d'une région ne doivent pas être renvoyés. |
origin |
À utiliser lorsque vous souhaitez une distance en ligne droite pour chaque prédiction. |
Exemples de saisie semi-automatique (nouveau)
Restreindre la recherche à une zone à l'aide de locationRestriction
locationRestriction
spécifie la zone à rechercher. Les résultats en dehors de la zone spécifiée ne sont pas renvoyés. Dans l'exemple suivant, vous utilisez locationRestriction
pour limiter la requête à un cercle de 5 000 mètres de rayon centré sur San Francisco :
curl -X POST -d '{ "input": "Art museum", "locationRestriction": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Tous les résultats des zones spécifiées sont contenus dans le tableau suggestions
:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q", "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q", "text": { "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "structuredFormat": { "mainText": { "text": "Asian Art Museum", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "secondaryText": { "text": "Larkin Street, San Francisco, CA, USA" } }, "types": [ "establishment", "museum", "point_of_interest" ] } }, { "placePrediction": { "place": "places/ChIJI7NivpmAhYARSuRPlbbn_2w", "placeId": "ChIJI7NivpmAhYARSuRPlbbn_2w", "text": { "text": "de Young Museum, Hagiwara Tea Garden Drive, San Francisco, CA, USA", "matches": [ { "endOffset": 15 } ] }, "structuredFormat": { "mainText": { "text": "de Young Museum", "matches": [ { "endOffset": 15 } ] }, "secondaryText": { "text": "Hagiwara Tea Garden Drive, San Francisco, CA, USA" } }, "types": [ "establishment", "point_of_interest", "tourist_attraction", "museum" ] } }, /.../ ] }
Vous pouvez également utiliser locationRestriction
pour limiter les recherches à une zone d'affichage rectangulaire. L'exemple suivant limite la requête au centre-ville de San Francisco :
curl -X POST -d '{ "input": "Art museum", "locationRestriction": { "rectangle": { "low": { "latitude": 37.7751, "longitude": -122.4219 }, "high": { "latitude": 37.7955, "longitude": -122.3937 } } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Les résultats sont contenus dans le tableau suggestions
:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q", "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q", "text": { "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "structuredFormat": { "mainText": { "text": "Asian Art Museum", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "secondaryText": { "text": "Larkin Street, San Francisco, CA, USA" } }, "types": [ "point_of_interest", "museum", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJyQNK-4SAhYARO2DZaJleWRc", "placeId": "ChIJyQNK-4SAhYARO2DZaJleWRc", "text": { "text": "International Art Museum of America, Market Street, San Francisco, CA, USA", "matches": [ { "startOffset": 14, "endOffset": 24 } ] }, "structuredFormat": { "mainText": { "text": "International Art Museum of America", "matches": [ { "startOffset": 14, "endOffset": 24 } ] }, "secondaryText": { "text": "Market Street, San Francisco, CA, USA" } }, "types": [ "museum", "point_of_interest", "tourist_attraction", "art_gallery", "establishment" ] } } ] }
Pondérer la recherche sur une zone à l'aide de locationBias
Avec locationBias
, l'emplacement sert de biais, ce qui signifie que des résultats autour de l'emplacement spécifié peuvent être renvoyés, y compris des résultats en dehors de la zone spécifiée. Dans l'exemple suivant, vous orientez la requête vers le centre-ville de San Francisco :
curl -X POST -d '{ "input": "Amoeba", "locationBias": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Les résultats contiennent désormais beaucoup plus d'éléments, y compris ceux situés en dehors du rayon de 5 000 mètres :
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "electronics_store", "point_of_interest", "store", "establishment", "home_goods_store" ] } }, { "placePrediction": { "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw", "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw", "text": { "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Telegraph Avenue, Berkeley, CA, USA" } }, "types": [ "electronics_store", "point_of_interest", "establishment", "home_goods_store", "store" ] } }, ... ] }
Vous pouvez également utiliser locationBias
pour limiter les recherches à une zone d'affichage rectangulaire. L'exemple suivant limite la requête au centre-ville de San Francisco :
curl -X POST -d '{ "input": "Amoeba", "locationBias": { "rectangle": { "low": { "latitude": 37.7751, "longitude": -122.4219 }, "high": { "latitude": 37.7955, "longitude": -122.3937 } } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Bien que les résultats de recherche dans la fenêtre d'affichage rectangulaire apparaissent dans la réponse, certains résultats se trouvent en dehors des limites définies en raison de la pondération. Les résultats sont également contenus dans le tableau suggestions
:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw", "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw", "text": { "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Telegraph Avenue, Berkeley, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJRdmfADq_woARYaVhnfQSUTI", "placeId": "ChIJRdmfADq_woARYaVhnfQSUTI", "text": { "text": "Amoeba Music, Hollywood Boulevard, Los Angeles, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Hollywood Boulevard, Los Angeles, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, /.../ ] }
Utiliser includedPrimaryTypes
Utilisez le paramètre includedPrimaryTypes
pour spécifier jusqu'à cinq valeurs de type issues du Tableau A, du Tableau B, ou uniquement (regions)
ou (cities)
. Un lieu doit correspondre à l'une des valeurs de type principal spécifiées pour être inclus dans la réponse.
Dans l'exemple suivant, vous spécifiez une chaîne input
"Soccer" et utilisez le paramètre includedPrimaryTypes
pour limiter les résultats aux établissements de type "sporting_goods_store"
:
curl -X POST -d '{ "input": "Soccer", "includedPrimaryTypes": ["sporting_goods_store"], "locationBias": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Si vous omettez le paramètre includedPrimaryTypes
, les résultats peuvent inclure des établissements d'un type que vous ne souhaitez pas, comme "athletic_field"
.
Demander des prédictions de requêtes
Les prédictions de requêtes ne sont pas renvoyées par défaut. Utilisez le paramètre de requête includeQueryPredictions
pour ajouter des prédictions de requêtes à la réponse. Exemple :
curl -X POST -d '{ "input": "Amoeba", "includeQueryPredictions": true, "locationBias": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Le tableau suggestions
contient désormais à la fois les prédictions de lieux et les prédictions de requêtes, comme indiqué ci-dessus dans À propos de la réponse. Chaque prédiction de requête inclut le champ text
contenant une chaîne de recherche textuelle recommandée. Vous pouvez envoyer une requête Text Search (nouvelle version) pour obtenir plus d'informations sur les prédictions de requêtes renvoyées.
Utiliser l'origine
Dans cet exemple, incluez origin
dans la requête en tant que coordonnées de latitude et de longitude. Lorsque vous incluez origin
, Autocomplete (New) inclut le champ distanceMeters
dans la réponse, qui contient la distance à vol d'oiseau entre origin
et la destination. Cet exemple définit l'origine sur le centre de San Francisco :
curl -X POST -d '{ "input": "Amoeba", "origin": { "latitude": 37.7749, "longitude": -122.4194 }, "locationRestriction": { "circle": { "center": { "latitude": 37.7749, "longitude": -122.4194 }, "radius": 5000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
La réponse inclut maintenant distanceMeters
:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "home_goods_store", "establishment", "point_of_interest", "store", "electronics_store" ], "distanceMeters": 3012 } } ] }
Distance manquante dans la réponse
Dans certains cas, distanceMeters
est absent du corps de la réponse, même lorsque origin
est inclus dans la requête. Cela peut se produire dans les scénarios suivants :
distanceMeters
n'est pas inclus dans les prédictionsroute
.distanceMeters
n'est pas inclus lorsque sa valeur est0
, ce qui est le cas pour les prédictions qui se trouvent à moins d'un mètre de l'emplacementorigin
fourni.
Les bibliothèques clientes qui tentent de lire le champ distanceMeters
à partir d'un objet analysé renvoient un champ avec la valeur 0
.
Pour éviter d'induire les utilisateurs en erreur, n'affichez pas de distance nulle.
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.