Method: places.autocomplete

Affiche des prédictions pour l'entrée donnée.

Requête HTTP

POST https://places.googleapis.com/v1/places:autocomplete

L'URL utilise la syntaxe de transcodage gRPC.

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation JSON
{
  "input": string,
  "locationBias": {
    object (LocationBias)
  },
  "locationRestriction": {
    object (LocationRestriction)
  },
  "includedPrimaryTypes": [
    string
  ],
  "includedRegionCodes": [
    string
  ],
  "languageCode": string,
  "regionCode": string,
  "origin": {
    object (LatLng)
  },
  "inputOffset": integer,
  "includeQueryPredictions": boolean,
  "sessionToken": string
}
Champs
input

string

Obligatoire. Chaîne de texte dans laquelle effectuer la recherche.

locationBias

object (LocationBias)

Facultatif. Limiter les résultats à un emplacement spécifié

Vous ne devez définir que locationBias ou locationRestriction. Si aucune de ces valeurs n'est définie, les résultats sont pondérés en fonction de l'adresse IP, ce qui signifie que l'adresse IP est associée à un emplacement imprécis et utilisée comme signal de pondération.

locationRestriction

object (LocationRestriction)

Facultatif. Limite les résultats à un emplacement spécifié.

Vous ne devez définir que locationBias ou locationRestriction. Si aucune de ces valeurs n'est définie, les résultats sont pondérés en fonction de l'adresse IP, ce qui signifie que l'adresse IP est associée à un emplacement imprécis et utilisée comme signal de pondération.

includedPrimaryTypes[]

string

Facultatif. Incluez le type de lieu principal (par exemple, "restaurant" ou "station-service") du tableau A ou du tableau B dans les types de lieux (https://developers.google.com/maps/documentation/places/web-service/place-types), ou seulement (régions) ou uniquement (villes). Un lieu n'est renvoyé que si son type principal figure dans cette liste. Vous pouvez spécifier jusqu'à cinq valeurs. Si aucun type n'est spécifié, tous les types de lieu sont renvoyés.

includedRegionCodes[]

string

Facultatif. Incluez les résultats uniquement dans les régions spécifiées, avec un maximum de 15 codes régionaux à deux caractères CLDR. Un ensemble vide ne limite pas les résultats. Si les champs locationRestriction et includedRegionCodes sont tous les deux définis, les résultats sont présentés dans la zone de l'intersection.

languageCode

string

Facultatif. Langue dans laquelle les résultats doivent être renvoyés. La valeur par défaut est "en-US". Les résultats peuvent être rédigés dans différentes langues si la langue utilisée dans input est différente de languageCode ou si le lieu renvoyé ne dispose pas d'une traduction de la langue locale vers la langue languageCode.

regionCode

string

Facultatif. Code régional, spécifié sous la forme d'un code régional CLDR à deux caractères. Cela affecte le format des adresses, le classement des résultats et peut influencer les résultats renvoyés. Cela ne limite pas les résultats à la région spécifiée. Pour limiter les résultats à une région, utilisez region_code_restriction.

origin

object (LatLng)

Facultatif. Point de départ à partir duquel calculer la distance géodésique jusqu'à la destination (renvoyé sous la forme distanceMeters). Si cette valeur est omise, la distance géodésique n'est pas renvoyée.

inputOffset

integer

Facultatif. Décalage de caractère Unicode de base à zéro de input indiquant la position du curseur dans input. La position du curseur peut influencer les prédictions renvoyées.

Si ce champ est vide, la longueur par défaut est input.

includeQueryPredictions

boolean

Facultatif. Si la valeur est "true", la réponse inclut à la fois des prédictions de lieu et de requête. Sinon, la réponse ne renverra que des prédictions de lieu.

sessionToken

string

Facultatif. Chaîne identifiant une session Autocomplete à des fins de facturation. Doit être une chaîne au format base64 sans risque pour les URL et les noms de fichiers, avec une longueur maximale de 36 caractères ASCII. Sinon, une erreur INVALID_ARGUMENT est renvoyée.

La session commence lorsque l'utilisateur commence à saisir une requête et se termine lorsqu'il sélectionne un lieu et qu'un appel à Place Details ou Address Validation est effectué. Chaque session peut comporter plusieurs requêtes, suivies d'une requête Place Details ou Address Validation. Les identifiants utilisés pour chaque requête au sein d'une session doivent appartenir au même projet dans la console Google Cloud. Une fois la session terminée, le jeton n'est plus valide. votre application doit générer un nouveau jeton pour chaque session. Si le paramètre sessionToken est omis ou si vous réutilisez un jeton de session, la session est facturée comme si aucun jeton n'était fourni (chaque requête est facturée séparément).

Nous vous recommandons de respecter les consignes suivantes:

  • Utilisez des jetons de session pour tous les appels Place Autocomplete.
  • Générez un nouveau jeton pour chaque session. L'utilisation d'un UUID version 4 est recommandée.
  • Assurez-vous que les identifiants utilisés pour toutes les requêtes Place Autocomplete, Place Details et Address Validation au sein d'une session appartiennent au même projet dans la console Cloud.
  • N'oubliez pas de transmettre un jeton de session unique pour chaque nouvelle session. Si vous utilisez le même jeton pour plusieurs sessions, chaque requête sera facturée individuellement.

Corps de la réponse

Proto de réponse pour places.complete.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "suggestions": [
    {
      object (Suggestion)
    }
  ]
}
Champs
suggestions[]

object (Suggestion)

Contient une liste de suggestions, classées par ordre de pertinence décroissant.

LocationBias

Région dans laquelle effectuer la recherche. Les résultats peuvent être faussés autour de la région spécifiée.

Représentation JSON
{

  // Union field type can be only one of the following:
  "rectangle": {
    object (Viewport)
  },
  "circle": {
    object (Circle)
  }
  // End of list of possible types for union field type.
}
Champs

Champ d'union type.

type ne peut être qu'un des éléments suivants :

rectangle

object (Viewport)

Fenêtre d'affichage définie par un angle nord-est et un angle sud-ouest.

circle

object (Circle)

Cercle défini par un point central et un rayon.

LocationRestriction

Région dans laquelle effectuer la recherche. Les résultats seront limités à la région spécifiée.

Représentation JSON
{

  // Union field type can be only one of the following:
  "rectangle": {
    object (Viewport)
  },
  "circle": {
    object (Circle)
  }
  // End of list of possible types for union field type.
}
Champs

Champ d'union type.

type ne peut être qu'un des éléments suivants :

rectangle

object (Viewport)

Fenêtre d'affichage définie par un angle nord-est et un angle sud-ouest.

circle

object (Circle)

Cercle défini par un point central et un rayon.

Suggestion

Résultat de la suggestion de saisie semi-automatique.

Représentation JSON
{

  // Union field kind can be only one of the following:
  "placePrediction": {
    object (PlacePrediction)
  },
  "queryPrediction": {
    object (QueryPrediction)
  }
  // End of list of possible types for union field kind.
}
Champs

Champ d'union kind.

kind ne peut être qu'un des éléments suivants :

placePrediction

object (PlacePrediction)

Prédiction pour un lieu.

queryPrediction

object (QueryPrediction)

Prédiction pour une requête.

PlacePrediction

Résultats d'une prédiction Place Autocomplete

Représentation JSON
{
  "place": string,
  "placeId": string,
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  },
  "types": [
    string
  ],
  "distanceMeters": integer
}
Champs
place

string

Nom de ressource du lieu suggéré. Ce nom peut être utilisé dans d'autres API qui acceptent les noms de lieu.

placeId

string

Identifiant unique du lieu suggéré. Cet identifiant peut être utilisé dans d'autres API qui acceptent les ID de lieu.

text

object (FormattableText)

Contient le nom lisible du résultat renvoyé. Dans les résultats d'un établissement, il s'agit généralement du nom et de l'adresse de l'établissement.

text est recommandé pour les développeurs qui souhaitent afficher un seul élément d'interface utilisateur. Les développeurs qui souhaitent afficher deux éléments d'interface utilisateur distincts, mais liés, peuvent utiliser structuredFormat à la place. Il existe deux façons de représenter une prédiction de lieu. Les utilisateurs ne doivent pas essayer d'analyser structuredFormat dans text ou inversement.

Ce texte peut être différent du displayName renvoyé par places.get.

Peut être dans des langues mixtes si la requête input et languageCode sont dans des langues différentes ou si le lieu ne dispose pas de traduction de la langue locale vers la langue languageCode.

structuredFormat

object (StructuredFormat)

Décomposition de la prédiction du lieu en texte principal contenant le nom du lieu et texte secondaire contenant d'autres caractéristiques spécifiques (une ville ou une région, par exemple).

structuredFormat est recommandé pour les développeurs qui souhaitent afficher deux éléments d'interface utilisateur distincts, mais liés. Les développeurs qui souhaitent afficher un seul élément d'interface utilisateur peuvent utiliser text à la place. Il existe deux façons de représenter une prédiction de lieu. Les utilisateurs ne doivent pas essayer d'analyser structuredFormat dans text ou inversement.

types[]

string

Liste des types qui s'appliquent à ce lieu à partir du tableau A ou B de la page https://developers.google.com/maps/documentation/places/web-service/place-types.

Un type est une catégorisation d'un lieu. Les lieux avec des types partagés partageront des caractéristiques similaires.

distanceMeters

integer

Longueur de la géodésique en mètres à partir de origin si origin est spécifié. Il est possible que certaines prédictions, telles que les itinéraires, ne soient pas remplies.

FormattableText

Texte représentant une prédiction de lieu ou de requête. Le texte peut être utilisé tel quel ou mis en forme.

Représentation JSON
{
  "text": string,
  "matches": [
    {
      object (StringRange)
    }
  ]
}
Champs
text

string

Texte pouvant être utilisé tel quel ou mis en forme avec matches.

matches[]

object (StringRange)

Liste de plages de chaînes identifiant où la requête d'entrée a été mise en correspondance dans text. Les plages peuvent être utilisées pour mettre en forme des parties spécifiques de text. Les sous-chaînes peuvent ne pas être des correspondances exactes de input si la correspondance a été déterminée par d'autres critères que la correspondance de chaîne (par exemple, des corrections orthographiques ou des translittérations).

Ces valeurs sont des décalages de caractères Unicode de text. Vous êtes certain que les plages sont classées dans des valeurs de décalage croissantes.

StringRange

Identifie une sous-chaîne d'un texte donné.

Représentation JSON
{
  "startOffset": integer,
  "endOffset": integer
}
Champs
startOffset

integer

Décalage basé sur zéro du premier caractère Unicode de la chaîne (inclus).

endOffset

integer

Décalage basé sur zéro du dernier caractère Unicode (exclus).

StructuredFormat

Contient la répartition d'une prédiction de lieu ou de requête en texte principal et texte secondaire.

Pour les prédictions de lieu, le texte principal contient le nom spécifique du lieu. Pour les prédictions de requête, le texte principal contient la requête.

Le texte secondaire contient des éléments géographiques de sélection supplémentaires (tels qu'une ville ou une région) pour identifier plus précisément le lieu ou affiner la requête.

Représentation JSON
{
  "mainText": {
    object (FormattableText)
  },
  "secondaryText": {
    object (FormattableText)
  }
}
Champs
mainText

object (FormattableText)

Représente le nom du lieu ou de la requête.

secondaryText

object (FormattableText)

Représente des éléments géographiques supplémentaires (tels qu'une ville ou une région) permettant d'identifier le lieu ou d'affiner la requête.

QueryPrediction

Résultats d'une prédiction Query Autocomplete.

Représentation JSON
{
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  }
}
Champs
text

object (FormattableText)

Texte prédit. Ce texte ne représente pas un lieu, mais plutôt une requête textuelle pouvant être utilisée dans un point de terminaison de recherche (par exemple, Text Search).

text est recommandé pour les développeurs qui souhaitent afficher un seul élément d'interface utilisateur. Les développeurs qui souhaitent afficher deux éléments d'interface utilisateur distincts, mais liés, peuvent utiliser structuredFormat à la place. Il existe deux façons différentes de représenter une prédiction de requête. Les utilisateurs ne doivent pas essayer d'analyser structuredFormat dans text ou inversement.

Peut être dans des langues mixtes si la requête input et languageCode sont dans des langues différentes ou si une partie de la requête ne comporte pas de traduction de la langue locale vers la langue languageCode.

structuredFormat

object (StructuredFormat)

Décomposition de la prédiction de la requête en texte principal contenant la requête et texte secondaire contenant des caractéristiques de sélection supplémentaires (telles qu'une ville ou une région).

structuredFormat est recommandé pour les développeurs qui souhaitent afficher deux éléments d'interface utilisateur distincts, mais liés. Les développeurs qui souhaitent afficher un seul élément d'interface utilisateur peuvent utiliser text à la place. Il existe deux façons différentes de représenter une prédiction de requête. Les utilisateurs ne doivent pas essayer d'analyser structuredFormat dans text ou inversement.