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,
  "includeFutureOpeningBusinesses": boolean
}
Champs
input

string

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

locationBias

object (LocationBias)

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

Vous ne devez définir qu'un seul élément locationBias ou locationRestriction. Si aucun des deux n'est défini, les résultats seront biaisés par l'adresse IP, ce qui signifie que l'adresse IP sera associée à un emplacement imprécis et utilisée comme signal de pondération.

locationRestriction

object (LocationRestriction)

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

Vous ne devez définir qu'un seul élément locationBias ou locationRestriction. Si aucun des deux n'est défini, les résultats seront biaisés par l'adresse IP, ce qui signifie que l'adresse IP sera associé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") dans les types de lieux (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 lieux sont renvoyés.

includedRegionCodes[]

string

Facultatif. Incluez 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 limitera pas les résultats. Si locationRestriction et includedRegionCodes sont tous les deux définis, les résultats se trouveront dans la zone d'intersection.

languageCode

string

Facultatif. Langue dans laquelle renvoyer les résultats. La valeur par défaut est "en-US". Les résultats peuvent être dans plusieurs langues si la langue utilisée dans input est différente de languageCode ou si le lieu renvoyé n'a pas été traduit de la langue locale vers languageCode.

regionCode

string

Facultatif. Code régional, spécifié sous forme de code CLDR à deux caractères. Cela affecte la mise en forme 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 d'origine à partir duquel calculer la distance géodésique jusqu'à la destination (renvoyée sous la forme distanceMeters). Si cette valeur est omise, la distance géodésique ne sera pas renvoyée.

inputOffset

integer

Facultatif. Décalage de caractère Unicode basé sur zéro (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 inclut à la fois les prédictions de lieux et de requêtes. 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. Il doit s'agir d'une chaîne Base64 compatible avec les URL et les noms de fichiers, et ne pas comporter 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 d'une session doivent appartenir au même projet de la console Google Cloud. Lorsque la session prend fin, 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, Place Details et Address Validation 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.
includePureServiceAreaBusinesses

boolean

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

includeFutureOpeningBusinesses

boolean

Facultatif. Si la valeur est "true", incluez les établissements qui ne sont pas encore ouverts, mais qui le seront à l'avenir.

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

Champs d'application des autorisations

Requiert le niveau d'accès OAuth suivant :

  • https://www.googleapis.com/auth/cloud-platform

LocationBias

Région dans laquelle effectuer la recherche. Les résultats peuvent être biaisé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 ressource du lieu suggéré. Ce nom peut être utilisé dans d'autres API qui acceptent les noms de lieux.

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'UI distincts, mais associés, peuvent utiliser structuredFormat à 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 l'inverse.

Il peut différer du displayName renvoyé par places.get.

La réponse peut être dans plusieurs langues si la demande 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 en texte secondaire contenant des caractéristiques supplémentaires permettant de lever toute ambiguïté (comme une ville ou une région).

structuredFormat est recommandé pour les développeurs qui souhaitent afficher deux éléments d'UI 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 l'inverse.

types[]

string

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

Un type est une catégorie de lieu. Les lieux ayant des types partagés auront 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, comme les itinéraires, ne renseignent pas 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 qui peut être utilisé tel quel ou mis en forme avec matches.

matches[]

object (StringRange)

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

Ces valeurs sont des décalages de caractères Unicode de text. Les plages sont garanties d'être classées par ordre croissant des valeurs de décalage.

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 de base zéro du dernier caractère Unicode (exclusif).

StructuredFormat

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

Pour les prédictions de lieux, 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 de clarification 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 caractéristiques de clarification supplémentaires (telles qu'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 qui pourrait être utilisée dans un point de terminaison de recherche (par exemple, la recherche de texte).

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'UI distincts, mais associé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 en text ni l'inverse.

La réponse 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 languageCode.

structuredFormat

object (StructuredFormat)

Répartition de la prédiction de requête en texte principal contenant la requête et texte secondaire contenant des fonctionnalités de clarification supplémentaires (telles qu'une ville ou une région).

structuredFormat est recommandé pour les développeurs qui souhaitent afficher deux éléments d'UI 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 requête. Les utilisateurs ne doivent pas essayer d'analyser structuredFormat en text ni l'inverse.