Saisie semi-automatique des requêtes (ancienne)

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

Query Autocomplete (ancienne version) peut être utilisé pour fournir une prédiction de requête pour les recherches géographiques textuelles, en renvoyant des suggestions de requêtes à 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).

Query Autocomplete (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, l'utilisateur peut saisir une recherche par catégorie, comme "pizza près de New York". Le service renvoie alors une liste de suggestions de requêtes correspondant à la chaîne. Comme Query Autocomplete (ancienne version) peut correspondre à la fois à des mots complets et à des sous-chaînes, les applications peuvent envoyer des requêtes lors de la frappe pour fournir des prédictions à la volée.

Une requête Query Autocomplete (ancienne version) est une URL HTTP au format suivant :

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

où output peut être json ou xml.

Certains paramètres sont obligatoires pour lancer une requête Query Autocomplete (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 les résultats doivent être renvoyés.

  • Consultez la liste des langues acceptées. 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 s'efforce de fournir une adresse postale lisible à la fois pour l'utilisateur et pour les habitants. Pour atteindre cet objectif, elle 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 préférée. Les composants d'adresse sont tous renvoyés dans la même langue, qui est choisie à partir du premier composant.
  • Si aucun nom n'est disponible dans la langue préférée, l'API utilise la correspondance la plus proche.
  • La langue préférée a une légère influence sur l'ensemble des résultats que l'API choisit de renvoyer et sur l'ordre dans lequel ils sont renvoyés. Le geocoder 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, sous forme de coordonnées latitude,longitude, autour duquel effectuer la recherche. Le service Places utilise la position pour pondérer la recherche afin de 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 ignoré si query contient un emplacement explicite tel que Market in Barcelona. L'utilisation de guillemets autour de la requête peut également influencer l'importance accordée à location et radius.

offset

Position, dans le terme d'entrée, du dernier caractère utilisé par le service pour faire correspondre les prédictions. Par exemple, si l'entrée est Google et que le décalage est de 3, le service correspondra à Goo. La chaîne déterminée par le décalage est mise en correspondance uniquement avec le premier mot du terme d'entrée. 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 saisie.

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 est 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 n'est pas accepté et génère une erreur INVALID_REQUEST.
  • Query Autocomplete : 50 000 mètres
  • Text Search : 50 000 mètres

Exemples de Query Autocomplete (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 near Par" (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 de ces exemples par votre propre clé.

Réponse Query Autocomplete (ancienne version)

Les réponses Query Autocomplete (ancienne version) sont renvoyées au format indiqué par l'option output dans le chemin d'accès de la requête d'URL. 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 l'élément 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 être présent dans l'objet de réponse. Ce champ contient des informations plus détaillées sur les raisons du code d'état donné. 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 être présent dans l'objet de réponse. Ce champ n'est renvoyé que pour les requêtes réussies. 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 la recherche a reçu des limites dans un emplacement distant.
  • INVALID_REQUEST, qui indique que la requête API n'a pas été rédigée correctement, généralement en raison de l'absence du paramètre input.
  • OVER_QUERY_LIMIT indiquant l'un des éléments suivants :
    • Vous avez dépassé la limite de RPS.
    • La facturation n'a pas été activée sur votre compte.
    • Le crédit mensuel de 200 $ ou la limite d'utilisation que vous avez définie vous-même a été dépassé.
    • Le mode de facturation fourni n'est plus valide (une carte de crédit est arrivée à expiration, par exemple).
    Pour en savoir plus sur la résolution de cette erreur, consultez les questions fréquentes sur Maps.
  • REQUEST_DENIED, qui indique que votre requête a été rejetée, généralement pour l'une des raisons suivantes :
    • 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 par l'humain 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 par programmation l'adresse formatée.

required Tableau<PlaceAutocompleteMatchedSubstring>

Liste de 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 surbrillance si vous le souhaitez.

Pour en savoir plus, consultez PlaceAutocompleteMatchedSubstring.

required PlaceAutocompleteStructuredFormat

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

Pour en savoir plus, consultez PlaceAutocompleteStructuredFormat.

required Tableau<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épart 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 le point de départ. 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 API Places. Pour en savoir plus sur les ID de lieu, consultez la présentation des ID de lieu.

facultatif chaîne

Voir place_id.

facultatif Array<string>

Contient un tableau des 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 Tableau<PlaceAutocompleteMatchedSubstring>

Contient un tableau avec la 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 surbrillance 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 Tableau<PlaceAutocompleteMatchedSubstring>

Contient un tableau avec la 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 surbrillance 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.