Saisie semi-automatique des requêtes (ancienne)

Développeurs de l'Espace économique européen (EEE)

La saisie semi-automatique des requêtes (ancienne version) peut être utilisée pour fournir une prédiction de requête pour les recherches géographiques textuelles, en renvoyant des requêtes suggérées à mesure que vous tapez.

Requêtes Query Autocomplete (ancienne version)

Query Autocomplete (ancienne version) fait partie de l'API Places (ancienne version) et partage une clé API et un quota avec l'API Places (ancienne version).

La saisie semi-automatique des requêtes (ancienne version) vous permet d'ajouter des prédictions de requêtes géographiques à la volée à votre application. Au lieu de rechercher un lieu spécifique, un utilisateur peut saisir une recherche par catégorie, comme "pizza près de New York". Le service répond alors en proposant une liste de requêtes suggérées correspondant à la chaîne de texte. Comme la saisie semi-automatique des requêtes (ancienne version) peut correspondre à des mots entiers et à des sous-chaînes, les applications peuvent envoyer des requêtes à mesure que l'utilisateur saisit du texte pour fournir des prédictions à la volée.

Une requête d'autocomplete de requête (ancienne version) est une URL HTTP au format suivant :

https://maps.googleapis.com/maps/api/place/queryautocomplete/output?parameters

output peut être json ou xml.

Certains paramètres sont requis pour lancer une requête de saisie semi-automatique (ancienne version). Comme c'est la norme pour les URL, les différents paramètres sont séparés par une esperluette (&). La liste des paramètres et de leurs valeurs possibles est énumérée ci-dessous.

Paramètres obligatoires

  • entrée

    Chaîne de texte sur laquelle effectuer la recherche. Le service Place Autocomplete renvoie les résultats correspondant à cette chaîne et les classe en fonction de leur pertinence estimée.

Paramètres facultatifs

  • language

    Langue dans laquelle renvoyer les résultats.

    • Consultez la liste des langues disponibles. Google met souvent à jour les langues acceptées. Cette liste n'est donc pas exhaustive.
    • Si language n'est pas fourni, l'API tente d'utiliser la langue préférée spécifiée dans l'en-tête Accept-Language.
    • L'API met tout en œuvre pour fournir une adresse postale lisible à la fois pour l'utilisateur et les habitants. Pour ce faire, il renvoie les adresses postales dans la langue locale, translittérées dans un script lisible par l'utilisateur si nécessaire, en respectant la langue préférée. Toutes les autres adresses sont renvoyées dans la langue de préférence. Les composants d'adresse sont tous renvoyés dans la même langue, qui est choisie à partir du premier composant.
    • Si un nom n'est pas disponible dans la langue de votre choix, l'API utilise la correspondance la plus proche.
    • La langue préférée a une faible influence sur l'ensemble des résultats que l'API choisit de renvoyer et sur l'ordre dans lequel ils sont renvoyés. Le géocoder interprète les abréviations différemment selon la langue, par exemple les abréviations des types de rues ou les synonymes qui peuvent être valides dans une langue, mais pas dans une autre. Par exemple, utca et tér sont des synonymes de "rue" en hongrois.
  • position

    Définit un point (coordonnées latitude,longitude) autour duquel effectuer la recherche. Le service Places utilise la position pour orienter la recherche et privilégier les résultats dans la zone définie par location et radius. Des résultats en dehors de la zone définie peuvent toutefois être affichés.

    Le paramètre location peut être remplacé si query contient un emplacement explicite tel que Market in Barcelona. L'utilisation de guillemets autour de la requête peut également influencer le poids accordé à location et radius.
  • offset

    Position, dans le terme saisi, du dernier caractère que le service utilise pour faire correspondre les prédictions. Par exemple, si l'entrée est Google et que le décalage est de 3, le service effectuera une correspondance sur Goo. La chaîne déterminée par le décalage est mise en correspondance uniquement avec le premier mot du terme saisi. Par exemple, si le terme d'entrée est Google abc et que le décalage est de 3, le service tentera de trouver une correspondance avec Goo abc. Si aucun décalage n'est fourni, le service utilisera l'intégralité du terme. Le décalage doit généralement être défini sur la position du curseur de texte.

  • rayon

    Définit la distance (en mètres) dans laquelle renvoyer les résultats de lieux. Vous pouvez affiner les résultats à un cercle donné en transmettant les paramètres location et radius. Vous indiquez ainsi au service Places de privilégier les résultats situés à l'intérieur de ce cercle. Des résultats en dehors de la zone définie peuvent toutefois être affichés.

    Le rayon sera automatiquement limité à une valeur maximale en fonction du type de recherche et d'autres paramètres.

    • Saisie semi-automatique : 50 000 mètres
    • Nearby Search :
      • avec keyword ou name : 50 000 mètres
      • sans keyword ni name
        • Jusqu'à 50 000 mètres, ajusté de manière dynamique en fonction de la densité de la zone, indépendamment du paramètre rankby.
        • Lorsque vous utilisez rankby=distance, le paramètre de rayon ne sera pas accepté et générera une erreur INVALID_REQUEST.
    • Saisie semi-automatique des requêtes : 50 000 compteurs
    • Recherche textuelle : 50 000 mètres

Exemples de saisie semi-automatique des requêtes (ancienne version)

URL

https://maps.googleapis.com/maps/api/place/queryautocomplete/json
  ?input=pizza%20near%20par
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/place/queryautocomplete/json?input=pizza%20near%20par&key=YOUR_API_KEY'

Une requête "Pizza près de Par", avec des résultats en français :

URL

https://maps.googleapis.com/maps/api/place/queryautocomplete/json
  ?input=pizza%20near%20par
  &language=fr
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/place/queryautocomplete/json?input=pizza%20near%20par&language=fr&key=YOUR_API_KEY'

Notez que vous devrez remplacer la clé API dans ces exemples par la vôtre.

Réponse Query Autocomplete (ancienne)

Les réponses à la saisie semi-automatique des requêtes (ancienne version) sont renvoyées dans le format indiqué par le tag output dans le chemin d'accès de l'URL de la requête. Les résultats ci-dessous sont renvoyés pour une requête avec les paramètres suivants :

URL

https://maps.googleapis.com/maps/api/place/queryautocomplete/json
  ?input=pizza%20near%20par
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/place/queryautocomplete/json?input=pizza%20near%20par&key=YOUR_API_KEY'

JSON

{
  "predictions":
    [
      {
        "description": "pizza near Paris, France",
        "matched_substrings":
          [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 11 }],
        "structured_formatting":
          {
            "main_text": "pizza",
            "main_text_matched_substrings": [{ "length": 5, "offset": 0 }],
            "secondary_text": "near Paris, France",
            "secondary_text_matched_substrings": [{ "length": 3, "offset": 5 }],
          },
        "terms":
          [
            { "offset": 0, "value": "pizza" },
            { "offset": 6, "value": "near" },
            { "offset": 11, "value": "Paris" },
            { "offset": 18, "value": "France" },
          ],
      },
      {
        "description": "pizza near Pari Chowk, NRI City, Omega II, Noida, Uttar Pradesh, India",
        "matched_substrings":
          [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 11 }],
        "structured_formatting":
          {
            "main_text": "pizza",
            "main_text_matched_substrings": [{ "length": 5, "offset": 0 }],
            "secondary_text": "near Pari Chowk, NRI City, Omega II, Noida, Uttar Pradesh, India",
            "secondary_text_matched_substrings": [{ "length": 3, "offset": 5 }],
          },
        "terms":
          [
            { "offset": 0, "value": "pizza" },
            { "offset": 6, "value": "near" },
            { "offset": 11, "value": "Pari Chowk" },
            { "offset": 23, "value": "NRI City" },
            { "offset": 33, "value": "Omega II" },
            { "offset": 43, "value": "Noida" },
            { "offset": 50, "value": "Uttar Pradesh" },
            { "offset": 65, "value": "India" },
          ],
      },
      {
        "description": "pizza near Disneyland Park, Disneyland Drive, Anaheim, CA, USA",
        "matched_substrings":
          [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 22 }],
        "structured_formatting":
          {
            "main_text": "pizza",
            "main_text_matched_substrings": [{ "length": 5, "offset": 0 }],
            "secondary_text": "near Disneyland Park, Disneyland Drive, Anaheim, CA, USA",
            "secondary_text_matched_substrings":
              [{ "length": 3, "offset": 16 }],
          },
        "terms":
          [
            { "offset": 0, "value": "pizza" },
            { "offset": 6, "value": "near" },
            { "offset": 11, "value": "Disneyland Park" },
            { "offset": 28, "value": "Disneyland Drive" },
            { "offset": 46, "value": "Anaheim" },
            { "offset": 55, "value": "CA" },
            { "offset": 59, "value": "USA" },
          ],
      },
      {
        "description": "pizza near Cathédrale Notre-Dame de Paris, Parvis Notre-Dame - place Jean-Paul-II, Paris, France",
        "matched_substrings":
          [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 36 }],
        "structured_formatting":
          {
            "main_text": "pizza",
            "main_text_matched_substrings": [{ "length": 5, "offset": 0 }],
            "secondary_text": "near Cathédrale Notre-Dame de Paris, Parvis Notre-Dame - place Jean-Paul-II, Paris, France",
            "secondary_text_matched_substrings":
              [{ "length": 3, "offset": 30 }],
          },
        "terms":
          [
            { "offset": 0, "value": "pizza" },
            { "offset": 6, "value": "near" },
            { "offset": 11, "value": "Cathédrale Notre-Dame de Paris" },
            { "offset": 43, "value": "Parvis Notre-Dame - place Jean-Paul-II" },
            { "offset": 83, "value": "Paris" },
            { "offset": 90, "value": "France" },
          ],
      },
      {
        "description": "pizza near Paris Beauvais Airport, Route de l'Aéroport, Tillé, France",
        "matched_substrings":
          [{ "length": 5, "offset": 0 }, { "length": 3, "offset": 11 }],
        "structured_formatting":
          {
            "main_text": "pizza",
            "main_text_matched_substrings": [{ "length": 5, "offset": 0 }],
            "secondary_text": "near Paris Beauvais Airport, Route de l'Aéroport, Tillé, France",
            "secondary_text_matched_substrings": [{ "length": 3, "offset": 5 }],
          },
        "terms":
          [
            { "offset": 0, "value": "pizza" },
            { "offset": 6, "value": "near" },
            { "offset": 11, "value": "Paris Beauvais Airport" },
            { "offset": 35, "value": "Route de l'Aéroport" },
            { "offset": 56, "value": "Tillé" },
            { "offset": 63, "value": "France" },
          ],
      },
    ],
  "status": "OK",
}
    

XML

      
<AutocompletionResponse>
 <status>OK</status>
 <prediction>
  <description>pizza near Paris, France</description>
  <term>
   <value>pizza</value>
   <offset>0</offset>
  </term>
  <term>
   <value>near</value>
   <offset>6</offset>
  </term>
  <term>
   <value>Paris</value>
   <offset>11</offset>
  </term>
  <term>
   <value>France</value>
   <offset>18</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <matched_substring>
   <offset>11</offset>
   <length>3</length>
  </matched_substring>
  <structured_formatting>
   <description>pizza</description>
   <subdescription>near Paris, France</subdescription>
   <description_matched_substring>
    <offset>0</offset>
    <length>5</length>
   </description_matched_substring>
   <subdescription_matched_substring>
    <offset>5</offset>
    <length>3</length>
   </subdescription_matched_substring>
  </structured_formatting>
 </prediction>
 <prediction>
  <description>pizza near Pari Chowk, NRI City, Omega II, Noida, Uttar Pradesh, India</description>
  <term>
   <value>pizza</value>
   <offset>0</offset>
  </term>
  <term>
   <value>near</value>
   <offset>6</offset>
  </term>
  <term>
   <value>Pari Chowk</value>
   <offset>11</offset>
  </term>
  <term>
   <value>NRI City</value>
   <offset>23</offset>
  </term>
  <term>
   <value>Omega II</value>
   <offset>33</offset>
  </term>
  <term>
   <value>Noida</value>
   <offset>43</offset>
  </term>
  <term>
   <value>Uttar Pradesh</value>
   <offset>50</offset>
  </term>
  <term>
   <value>India</value>
   <offset>65</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <matched_substring>
   <offset>11</offset>
   <length>3</length>
  </matched_substring>
  <structured_formatting>
   <description>pizza</description>
   <subdescription>near Pari Chowk, NRI City, Omega II, Noida, Uttar Pradesh, India</subdescription>
   <description_matched_substring>
    <offset>0</offset>
    <length>5</length>
   </description_matched_substring>
   <subdescription_matched_substring>
    <offset>5</offset>
    <length>3</length>
   </subdescription_matched_substring>
  </structured_formatting>
 </prediction>
 <prediction>
  <description>pizza near Disneyland Park, Disneyland Drive, Anaheim, CA, USA</description>
  <term>
   <value>pizza</value>
   <offset>0</offset>
  </term>
  <term>
   <value>near</value>
   <offset>6</offset>
  </term>
  <term>
   <value>Disneyland Park</value>
   <offset>11</offset>
  </term>
  <term>
   <value>Disneyland Drive</value>
   <offset>28</offset>
  </term>
  <term>
   <value>Anaheim</value>
   <offset>46</offset>
  </term>
  <term>
   <value>CA</value>
   <offset>55</offset>
  </term>
  <term>
   <value>USA</value>
   <offset>59</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <matched_substring>
   <offset>22</offset>
   <length>3</length>
  </matched_substring>
  <structured_formatting>
   <description>pizza</description>
   <subdescription>near Disneyland Park, Disneyland Drive, Anaheim, CA, USA</subdescription>
   <description_matched_substring>
    <offset>0</offset>
    <length>5</length>
   </description_matched_substring>
   <subdescription_matched_substring>
    <offset>16</offset>
    <length>3</length>
   </subdescription_matched_substring>
  </structured_formatting>
 </prediction>
 <prediction>
  <description>pizza near Cathédrale Notre-Dame de Paris, Parvis Notre-Dame - place Jean-Paul-II, Paris, France</description>
  <term>
   <value>pizza</value>
   <offset>0</offset>
  </term>
  <term>
   <value>near</value>
   <offset>6</offset>
  </term>
  <term>
   <value>Cathédrale Notre-Dame de Paris</value>
   <offset>11</offset>
  </term>
  <term>
   <value>Parvis Notre-Dame - place Jean-Paul-II</value>
   <offset>43</offset>
  </term>
  <term>
   <value>Paris</value>
   <offset>83</offset>
  </term>
  <term>
   <value>France</value>
   <offset>90</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <matched_substring>
   <offset>36</offset>
   <length>3</length>
  </matched_substring>
  <structured_formatting>
   <description>pizza</description>
   <subdescription>near Cathédrale Notre-Dame de Paris, Parvis Notre-Dame - place Jean-Paul-II, Paris, France</subdescription>
   <description_matched_substring>
    <offset>0</offset>
    <length>5</length>
   </description_matched_substring>
   <subdescription_matched_substring>
    <offset>30</offset>
    <length>3</length>
   </subdescription_matched_substring>
  </structured_formatting>
 </prediction>
 <prediction>
  <description>pizza near Paris Beauvais Airport, Route de l'Aéroport, Tillé, France</description>
  <term>
   <value>pizza</value>
   <offset>0</offset>
  </term>
  <term>
   <value>near</value>
   <offset>6</offset>
  </term>
  <term>
   <value>Paris Beauvais Airport</value>
   <offset>11</offset>
  </term>
  <term>
   <value>Route de l'Aéroport</value>
   <offset>35</offset>
  </term>
  <term>
   <value>Tillé</value>
   <offset>56</offset>
  </term>
  <term>
   <value>France</value>
   <offset>63</offset>
  </term>
  <matched_substring>
   <offset>0</offset>
   <length>5</length>
  </matched_substring>
  <matched_substring>
   <offset>11</offset>
   <length>3</length>
  </matched_substring>
  <structured_formatting>
   <description>pizza</description>
   <subdescription>near Paris Beauvais Airport, Route de l'Aéroport, Tillé, France</subdescription>
   <description_matched_substring>
    <offset>0</offset>
    <length>5</length>
   </description_matched_substring>
   <subdescription_matched_substring>
    <offset>5</offset>
    <length>3</length>
   </subdescription_matched_substring>
  </structured_formatting>
 </prediction>
</AutocompletionResponse>
    
   

Lorsque le service Places renvoie des résultats JSON à partir d'une recherche, il les place dans un tableau predictions. Même si le service ne renvoie aucun résultat (par exemple, si le location est distant), il renvoie toujours un tableau predictions vide. Les réponses XML se composent de zéro ou plusieurs éléments <prediction>.

PlacesQueryAutocompleteResponse

Champ Obligatoire Type Description
required Array<PlaceAutocompletePrediction>

Contient un tableau de prédictions.

Pour en savoir plus, consultez PlaceAutocompletePrediction.

required PlacesAutocompleteStatus

Contient l'état de la requête et éventuellement des informations de débogage qui vous aident à savoir pourquoi la requête a échoué.

Pour en savoir plus, consultez PlacesAutocompleteStatus.

facultatif chaîne

Lorsque le service renvoie un code d'état autre que OK, un champ error_message supplémentaire peut figurer dans l'objet de réponse. Ce champ contient des informations plus détaillées sur les raisons du code d'état indiqué. Ce champ n'est pas toujours renvoyé et son contenu est susceptible d'être modifié.

facultatif Array<string>

Lorsque le service renvoie des informations supplémentaires sur la spécification de la requête, un champ info_messages supplémentaire peut figurer dans l'objet de réponse. Ce champ n'est renvoyé que pour les requêtes ayant abouti. Il n'est pas toujours renvoyé et son contenu est susceptible d'être modifié.

PlacesAutocompleteStatus

Codes d'état renvoyés par le service.

  • OK, qui indique que la requête API a abouti.
  • ZERO_RESULTS indiquant que la recherche a abouti, mais n'a renvoyé aucun résultat. Cela peut se produire si une limite a été transmise à la recherche dans un emplacement distant.
  • INVALID_REQUEST, qui indique que la requête API était mal formée, généralement en raison du paramètre input manquant.
  • OVER_QUERY_LIMIT indiquant l'un des éléments suivants :
    • Vous avez dépassé les limites de RPS.
    • La facturation n'a pas été activée pour votre compte.
    • Le crédit mensuel de 200 $ou la limite d'utilisation que vous avez définie vous-même ont été dépassés.
    • Le mode de facturation fourni n'est plus valide (une carte de crédit est arrivée à expiration, par exemple).
    Pour savoir comment résoudre cette erreur, consultez les questions fréquentes sur Maps.
  • REQUEST_DENIED, qui indique que votre demande a été refusée, généralement parce que :
    • La requête ne contient pas de clé API.
    • Le paramètre key n'est pas valide.
  • UNKNOWN_ERROR, qui indique une erreur inconnue.

Lorsque le service Places renvoie des résultats JSON à partir d'une recherche, il les place dans un tableau predictions. Même si le service ne renvoie aucun résultat (par exemple, si location est distant), il renvoie toujours un tableau predictions vide. Les réponses XML se composent de zéro ou plusieurs éléments <prediction>.

PlaceAutocompletePrediction

Champ Obligatoire Type Description
required chaîne

Contient le nom lisible du résultat renvoyé. Pour les résultats establishment, il s'agit généralement du nom de l'entreprise. Ce contenu est destiné à être lu tel quel. N'analysez pas l'adresse formatée de manière programmatique.

required Array<PlaceAutocompleteMatchedSubstring>

Liste des sous-chaînes décrivant l'emplacement du terme saisi dans le texte du résultat de la prédiction, afin que le terme puisse être mis en évidence si vous le souhaitez.

Pour en savoir plus, consultez PlaceAutocompleteMatchedSubstring.

required PlaceAutocompleteStructuredFormat

Fournit du texte préformaté qui peut être affiché dans vos résultats de saisie semi-automatique. Ce contenu est destiné à être lu tel quel. N'analysez pas l'adresse formatée de manière programmatique.

Pour en savoir plus, consultez PlaceAutocompleteStructuredFormat.

required Array<PlaceAutocompleteTerm>

Contient un tableau de termes identifiant chaque section de la description renvoyée (une section de la description se termine généralement par une virgule). Chaque entrée du tableau comporte un champ value contenant le texte du terme et un champ offset définissant la position de début de ce terme dans la description, mesurée en caractères Unicode.

Pour en savoir plus, consultez PlaceAutocompleteTerm.

facultatif entier

Distance en ligne droite (en mètres) depuis l'origine. Ce champ n'est renvoyé que pour les requêtes effectuées avec un origin.

facultatif chaîne

Identifiant textuel qui identifie un lieu de manière unique. Pour récupérer des informations sur le lieu, transmettez cet identifiant dans le champ placeId d'une requête de l'API Places. Pour en savoir plus sur les ID de lieu, consultez la présentation des ID de lieu.

facultatif chaîne

Consultez place_id.

facultatif Array<string>

Contient un tableau de types qui s'appliquent à ce lieu. Par exemple, [ "political", "locality" ] ou [ "establishment", "geocode", "beauty_salon" ]. Le tableau peut contenir plusieurs valeurs. En savoir plus sur les types de lieux

PlaceAutocompleteMatchedSubstring

Champ Obligatoire Type Description
required nombre

Longueur de la sous-chaîne correspondante dans le texte du résultat de la prédiction.

required nombre

Emplacement de début de la sous-chaîne correspondante dans le texte du résultat de la prédiction.

PlaceAutocompleteStructuredFormat

Champ Obligatoire Type Description
required chaîne

Contient le texte principal d'une prédiction, généralement le nom du lieu.

required Array<PlaceAutocompleteMatchedSubstring>

Contient un tableau avec une valeur offset et length. Ils décrivent l'emplacement du terme saisi dans le texte du résultat de la prédiction, afin que le terme puisse être mis en évidence si vous le souhaitez.

Pour en savoir plus, consultez PlaceAutocompleteMatchedSubstring.

facultatif chaîne

Contient le texte secondaire d'une prédiction, généralement l'emplacement du lieu.

facultatif Array<PlaceAutocompleteMatchedSubstring>

Contient un tableau avec une valeur offset et length. Ils décrivent l'emplacement du terme saisi dans le texte du résultat de la prédiction, afin que le terme puisse être mis en évidence si vous le souhaitez.

Pour en savoir plus, consultez PlaceAutocompleteMatchedSubstring.

PlaceAutocompleteTerm

Champ Obligatoire Type Description
required nombre

Définit la position de départ de ce terme dans la description, mesurée en caractères Unicode.

required chaîne

Texte du terme.