Method: places.autocomplete

Renvoie 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 sur laquelle doit porter la recherche.

locationBias

object (LocationBias)

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

Vous ne pouvez définir qu'un seul des éléments 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 mappée à un emplacement imprécis et utilisée comme signal de pondération.

locationRestriction

object (LocationRestriction)

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

Vous ne pouvez définir qu'un seul des éléments 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 mappée à un emplacement imprécis et utilisée comme signal de pondération.

includedPrimaryTypes[]

string

Facultatif. Type de lieu principal inclus (par exemple, "restaurant" ou "gas_station") de https://developers.google.com/maps/documentation/places/web-service/place-types. Un lieu n'est renvoyé que si son type principal est inclus 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 uniquement les résultats des régions spécifiées, sous la forme de 15 codes régionaux CLDR à deux caractères maximum. Un ensemble vide ne limitera pas les résultats. Si les champs locationRestriction et includedRegionCodes sont tous les deux définis, les résultats sont situé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 s'afficher dans plusieurs langues si la langue utilisée dans input est différente de languageCode ou si le lieu affiché n'a pas de traduction de la langue locale vers languageCode.

regionCode

string

Facultatif. Code régional, spécifié sous forme de code CLDR à deux caractères. Cela affecte le format des adresses et 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ée en tant que distanceMeters). Si cette valeur est omise, la distance géodésique n'est pas renvoyée.

inputOffset

integer

Facultatif. Décalage de caractères Unicode basé sur 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 valeur par défaut est la longueur de input.

includeQueryPredictions

boolean

Facultatif. Si la valeur est "true", la réponse inclura à la fois les 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 qui identifie une session de saisie semi-automatique à des fins de facturation. Il doit s'agir d'une chaîne en base64 avec nom de fichier et URL ne dépassant pas 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 cours d'une session doivent appartenir au même projet de 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. Nous vous recommandons d'utiliser un UUID version 4.
  • Assurez-vous que les identifiants utilisés pour toutes les requêtes Place Autocomplete, Place Details et Address Validation au cours d'une session appartiennent au même projet de 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 est facturée individuellement.

Corps de la réponse

Fichier 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 décroissant de pertinence.

LocationBias

Région dans laquelle effectuer la recherche. Les résultats peuvent être pondérés selon 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 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 sont 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 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 d'un lieu.

queryPrediction

object (QueryPrediction)

Prédiction d'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é. Pour les résultats d'établissements, 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 différentes 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 plusieurs langues si les requêtes input et languageCode sont dans des langues différentes ou si le lieu n'a pas de traduction de la langue locale vers languageCode.

structuredFormat

object (StructuredFormat)

Décomposition de la prédiction de lieu sous la forme d'un texte principal contenant le nom du lieu et d'un texte secondaire contenant d'autres éléments permettant de faire la distinction (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 différentes 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 du tableau B dans le tableau https://developers.google.com/maps/documentation/places/web-service/place-types.

Un type est une catégorisation d'un lieu. Les lieux partageant des types partagés partagent 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 (itinéraires, par exemple) ne soient pas renseignées dans ce champ.

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 la correspondance entre la requête d'entrée et 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 des critères autres 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. Les plages sont triées selon des valeurs de décalage croissantes.

StringRange

Identifie une sous-chaîne dans 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 (exclusif).

StructuredFormat

Contient une répartition des prédictions 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 d'autres éléments géographiques permettant de faire la distinction (comme une ville ou une région) permettant d'identifier plus précisément le lieu ou d'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 d'autres éléments géographiques permettant de faire la distinction (comme une ville ou une région) permettant d'identifier plus précisément 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 plusieurs langues si les requêtes input et languageCode sont dans des langues différentes ou si une partie de la requête n'a pas de traduction de la langue locale vers la langue languageCode.

structuredFormat

object (StructuredFormat)

Décomposition de la prédiction de requête sous la forme d'un texte principal contenant la requête et d'un texte secondaire contenant d'autres caractéristiques permettant de faire la distinction (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 différentes de représenter une prédiction de requête. Les utilisateurs ne doivent pas essayer d'analyser structuredFormat dans text, ou inversement.