Method: places.autocomplete

Renvoie les 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,
  "includePureServiceAreaBusinesses": boolean
}
Champs
input

string

Obligatoire. Chaîne de texte à rechercher.

locationBias

object (LocationBias)

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

Vous ne devez définir que locationBias ou locationRestriction. Si aucun de ces paramètres n'est défini, les résultats seront biaisés par l'adresse IP, ce qui signifie qu'elle sera mappée à un emplacement imprécis et utilisée comme signal de biais.

locationRestriction

object (LocationRestriction)

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

Vous ne devez définir qu'un seul élément locationBias ou locationRestriction. Si aucun de ces paramètres n'est défini, les résultats seront biaisés par l'adresse IP, ce qui signifie qu'elle sera mappée à un emplacement imprécis et utilisée comme signal de biais.

includedPrimaryTypes[]

string

Facultatif. Incluez le type d'établissement principal (par exemple, "restaurant" ou "station_service") dans les types d'établissements (https://developers.google.com/maps/documentation/places/web-service/place-types), ou uniquement (regions), ou uniquement (cities). 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. Inclure uniquement les résultats dans les régions spécifiées, jusqu'à 15 codes de région CLDR à deux caractères. 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 possède pas de traduction de la langue locale vers la langue languageCode.

regionCode

string

Facultatif. Code régional, spécifié sous forme de code régional CLDR à deux caractères. Cela affecte le formatage des adresses, le classement des résultats et peut avoir une incidence sur 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 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 cet élément est vide, la longueur est définie par défaut sur input.

includeQueryPredictions

boolean

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

sessionToken

string

Facultatif. Chaîne qui identifie une session Autocomplete à des fins de facturation. Doit s'agir d'une chaîne base64 sécurisée pour les URL et les noms de fichiers, ne comportant pas plus 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 vous omettez le paramètre sessionToken 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 la version 4 de l'UUID.
  • Assurez-vous que les identifiants utilisés pour toutes les requêtes Place Autocomplete, Places Details et Validation d'adresse au cours d'une session appartiennent au même projet Cloud Console.
  • 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.
includePureServiceAreaBusinesses

boolean

Facultatif. Inclut les établissements de services de proximité à domicile si le champ est défini sur "true". Un établissement de services de proximité à domicile est un établissement qui se rend directement chez les clients pour effectuer une prestation ou leur livrer directement des produits, mais qui n'accueille pas les clients dans ses locaux. Il peut s'agir, par exemple, d'entreprises comme les services de nettoyage ou de plomberie. Ces établissements n'ont pas d'adresse physique ni de lieu sur Google Maps. Places ne renverra pas les champs location, plusCode et d'autres champs liés à l'emplacement pour ces établissements.

Corps de la réponse

Proto de réponse pour places.autocomplete

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 à rechercher. 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 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 de prédiction pour 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 la ressource du lieu suggéré. Ce nom peut être utilisé dans d'autres API qui acceptent des 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)

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

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 en text ni inversement.

Ce texte peut différer de l'displayName renvoyé par places.get.

Peut être dans des langues différentes 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 en texte principal contenant le nom du lieu et texte secondaire contenant des éléments supplémentaires permettant de lever l'ambiguïté (comme 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 s'agit de deux façons différentes de représenter une prédiction de lieu. Les utilisateurs ne doivent pas essayer d'analyser structuredFormat en text ni 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 de même type présentent 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 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 formaté.

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 des plages de chaînes indiquant où la requête d'entrée a correspondu 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. L'ordre des plages est garanti avec 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 à partir de zéro du dernier caractère Unicode (exclusif).

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êtes, 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 supplémentaires permettant de lever l'ambiguïté (comme une ville ou une région) pour identifier plus précisément le lieu ou affiner la requête.

QueryPrediction

Résultats de prédiction pour une prédiction de saisie semi-automatique de requête.

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, la recherche textuelle).

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 s'agit de 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)

Répartition de la prédiction de la requête en texte principal contenant la requête et texte secondaire contenant des éléments supplémentaires permettant de lever l'ambiguïté (comme 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.