Saisie semi-automatique (nouveau)

Sélectionnez une plate-forme : Android iOS JavaScript Services Web

Le service Autocomplete (New) est un service Web qui renvoie des lieux et interroger des prédictions en réponse à une requête HTTP. Dans la requête, spécifiez du texte chaîne de recherche et limites géographiques qui contrôlent la zone de recherche.

Le service de saisie semi-automatique (nouveau) peut établir une correspondance avec des mots entiers et sous-chaînes de l'entrée, pour trouver des noms de lieux, des adresses et plus codes. Les applications peuvent donc envoyer requêtes lors de la saisie de l'utilisateur, afin de fournir des prédictions de lieux et de requêtes à la volée.

La réponse de l'API de saisie semi-automatique (nouvelle version) peut contenir deux types de prédictions:

  • Prédictions de lieux: lieux tels que des établissements, des adresses et des points de en fonction de la chaîne de texte d'entrée spécifiée et de la zone de recherche. Les prédictions de lieu sont renvoyées par défaut.
  • Prédictions de requête: chaînes de requête correspondant à la chaîne de texte saisie et dans la zone de recherche. Les prédictions de requête ne sont pas renvoyées par défaut. Utilisez les le paramètre de requête includeQueryPredictions pour ajouter des prédictions de requête au de réponse.

Par exemple, vous appelez l'API en utilisant comme entrée une chaîne contenant une entrée utilisateur partielle, "Sicilian piz", avec la zone de recherche limitée à San Francisco, Californie. La réponse contient alors une liste de prédictions de lieu correspondant à la chaîne de recherche et à la zone de recherche, par exemple le "Sicilian Pizza Kitchen" et d'obtenir des informations sur le lieu.

Les prédictions de lieu renvoyées sont conçues pour être présentées à l'utilisateur pour sélectionner le lieu souhaité. Vous pouvez créer un Place Details (New) pour obtenir plus d'informations sur les prédictions de lieu renvoyées.

La réponse peut également contenir une liste de prédictions de requête correspondant aux chaîne de recherche et zone de recherche, par exemple "Sicilian Pizza & Des pâtes". Chaque prédiction de requête dans La réponse inclut le champ text contenant une chaîne de recherche textuelle recommandée. Utilisez ça comme entrée pour Text Search (nouvelle version) pour effectuer une recherche plus détaillée.

APIs Explorer vous permet d'effectuer des requêtes en direct afin que vous puissiez vous familiariser avec l'API et la Options d'API:

Essayer

Requêtes Autocomplete (nouvelle)

Une requête Autocomplete (New) est une requête HTTP POST adressée à une URL dans au format suivant:

https://places.googleapis.com/v1/places:autocomplete

Transmettez tous les paramètres dans le corps de la requête JSON ou dans les en-têtes dans la requête POST. Exemple :

curl -X POST -d '{
  "input": "pizza",
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965
      },
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

À propos de la réponse

La saisie semi-automatique (nouveau) renvoie un objet JSON en tant que réponse. Dans la réponse :

  • Le tableau suggestions contient tous les lieux et requêtes prédits dans l'ordre en fonction de leur pertinence. Chaque lieu est représenté par placePrediction et chaque requête est représentée par un champ queryPrediction.
  • Un champ placePrediction contient des informations détaillées sur un seul la prédiction de lieu, y compris l'ID de lieu et la description textuelle.
  • Un champ queryPrediction contient des informations détaillées sur un seul la prédiction des requêtes.

L'objet JSON complet se présente sous la forme suivante:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }]
        },
      ...
    },
    {
      "queryPrediction": {
        "text": {
          "text": "Amoeba Music",
          "matches": [
            {
              "endOffset": 6
            }]
        },
        ...
    }
  ...]
}

Paramètres obligatoires

  • entrée

    Chaîne de texte dans laquelle effectuer la recherche. spécifier des mots complets et des sous-chaînes ; des noms de lieux, des adresses et des plus codes ; Service Autocomplete (nouveau) renvoie les résultats correspondant à cette chaîne et les classe en fonction leur pertinence perçue.

Paramètres facultatifs

  • includedPrimaryTypes

    Un lieu ne peut avoir qu'un seul type principal parmi les types listés dans Tableau A ou Tableau B. Par exemple : le type principal peut être "mexican_restaurant" ou "steak_house".

    Par défaut, l'API renvoie tous les lieux en fonction du paramètre input, quel que soit le de la valeur du type principal associé au lieu. Limiter les résultats à un certain nombre les types principaux en transmettant le paramètre includedPrimaryTypes.

    Utilisez ce paramètre pour spécifier jusqu'à cinq valeurs de type du Tableau A ou Tableau B. Un lieu doit correspond à l'une des valeurs de type principal spécifiées à inclure dans la réponse.

    Ce paramètre peut également inclure, à la place, (regions) ou (cities). La collection de type (regions) filtre les zones ou les départements, tels que les quartiers et les codes postaux. Le type de filtre (cities) permet de filtrer les lieux que Google identifie en tant que ville.

    La requête est rejetée avec une erreur INVALID_REQUEST dans les cas suivants:

    • Plus de cinq types sont spécifiés.
    • Tous les types sont spécifiés en plus de (cities) ou (regions).
    • Tous les types non reconnus sont spécifiés.
  • includeQueryPredictions

    Si la valeur est true, la réponse inclut à la fois des prédictions de lieu et de requête. La valeur par défaut La valeur est false, ce qui signifie que la réponse n'inclut que des prédictions de lieu.

  • includedRegionCodes

    Inclure uniquement les résultats de la liste des régions spécifiées, sous la forme d'un tableau de 15 maximum ccTLD ("domaine de premier niveau") à deux caractères. Si cette valeur est omise, aucune restriction n'est appliquée à la réponse. Par exemple : afin de limiter ces régions à l'Allemagne et à la France:

        "includedRegionCodes": ["de", "fr"]

    Si vous spécifiez à la fois locationRestriction et includedRegionCodes, les résultats sont situés dans la zone d'intersection des deux paramètres.

  • inputOffset

    Décalage du caractère Unicode de base zéro indiquant la position du curseur dans input. La position du curseur peut influencer les prédictions renvoyées. Si ce champ n'est pas renseigné, la valeur par défaut longueur de input.

  • languageCode

    Langue préférée dans laquelle les résultats doivent être renvoyés. Les résultats peuvent être rédigés dans différentes langues. si la langue utilisée dans input est différente de la valeur spécifiée par languageCode, ou si le lieu renvoyé n'a pas de traduction du texte langue locale vers languageCode.

    • Vous devez utiliser les formats IETF Codes de langue BCP-47 pour spécifier la langue préférée.
    • Si languageCode n'est pas fourni, l'API utilise la valeur spécifiée dans le paramètre Accept-Language. Si aucune de ces valeurs n'est spécifiée, la valeur par défaut est en Si vous spécifiez un code de langue non valide, l'API renvoie une INVALID_ARGUMENT erreur.
    • La langue préférée a une petite influence sur l'ensemble des résultats l'API choisit de les renvoyer, ainsi que l'ordre dans lequel ils sont renvoyés. Cela affecte également la capacité de l'API à corriger les fautes d'orthographe.
    • L'API tente de fournir une adresse postale lisible à la fois pour l'utilisateur de la population locale, tout en reflétant les entrées utilisateur. Les prédictions de lieu sont formatées différemment en fonction de l'entrée utilisateur dans chaque requête.
      • Les termes correspondants dans le paramètre input sont choisis en premier, avec des noms alignés. avec la préférence de langue indiquée par le paramètre languageCode lorsque disponibles, tout en utilisant les noms qui correspondent le mieux à l'entrée utilisateur.
      • Les adresses postales sont formatées dans la langue locale, dans un script lisible par l'utilisateur. lorsque cela est possible, uniquement après que les termes correspondants ont été sélectionnés pour correspondre aux termes du Paramètre input.
      • Toutes les autres adresses sont renvoyées dans la langue préférée, une fois que les termes correspondants ont été a été choisi pour correspondre aux termes du paramètre input. Si un nom n'est pas disponible dans la langue préférée, l'API utilise la correspondance la plus proche.
  • locationBias ou locationRestriction

    Vous pouvez spécifier locationBias ou locationRestriction, mais pas les deux, pour définir la zone de recherche. Considérez locationRestriction comme une spécification la région dans laquelle les résultats doivent se trouver, et locationBias comme spécifiant la région dont les résultats doivent être proches, mais qui peuvent se trouver en dehors de la zone.

    • locationBias

      Spécifie une zone de recherche. Cet emplacement sert de biais, ce qui signifie des résultats situés à proximité du lieu spécifié, y compris des résultats en dehors de la zone spécifiée.

    • locationRestriction

      Spécifie une zone de recherche. Les résultats situés en dehors de la zone spécifiée renvoyé.

    Spécifiez la région locationBias ou locationRestriction en tant que une fenêtre d'affichage rectangulaire ou un cercle.

    • Un cercle est défini par le point central et le rayon en mètres. Le rayon doit être compris entre 0.0 et 50000.0, inclus. La valeur par défaut est 0.0. Pour locationRestriction, vous devez définir le rayon sur une valeur supérieure à 0,0. Sinon, la requête renvoie aucun résultat.

      Exemple :

      "locationBias": {
        "circle": {
          "center": {
            "latitude": 37.7937,
            "longitude": -122.3965
          },
          "radius": 500.0
        }
      }
    • Un rectangle est une fenêtre d'affichage de latitude-longitude, représentée par deux le low et les points hauts en diagonale. Une fenêtre d'affichage est considérée comme fermée, ce qui signifie qu'elle inclut ses limites. Les limites de latitude doit être comprise entre -90 et 90 degrés inclus, et les limites de longitude doit être comprise entre -180 et 180 degrés inclus:

      • Si low = high, la fenêtre d'affichage est constituée de ce seul point.
      • Si low.longitude > high.longitude, la plage de longitudes est inversée (la fenêtre d'affichage traverse la ligne de longitude à 180 degrés).
      • Si low.longitude = -180 degrés et high.longitude = 180 degrés, la fenêtre d'affichage inclut toutes les longitudes.
      • Si low.longitude = 180 degrés et high.longitude = -180 degrés, la plage de longitudes est vide.

      Vous devez renseigner les champs low et high, et la zone représentée Ce champ est obligatoire. Une fenêtre d'affichage vide entraîne une erreur.

      Par exemple, cette fenêtre d'affichage englobe entièrement New York:

      "locationBias": {
        "rectangle": {
          "low": {
            "latitude": 40.477398,
            "longitude": -74.259087
          },
          "high": {
            "latitude": 40.91618,
            "longitude": -73.70018
          }
        }
      }
  • origine

    Point de départ à partir duquel calculer la distance en ligne droite par rapport à la destination (renvoyée sous la forme distanceMeters). Si cette valeur est est omise, la distance en ligne droite n'est pas renvoyée. Doit être spécifié en tant que coordonnées de latitude et de longitude:

    "origin": {
        "latitude": 40.477398,
        "longitude": -74.259087
    }
  • regionCode

    Code régional utilisé pour mettre en forme la réponse, spécifié sous la forme d'une ccTLD ("domaine de premier niveau") à deux caractères. La plupart des codes ccTLD sont identiques aux codes ISO 3166-1, à quelques exceptions près. Par exemple, le ccTLD au Royaume-Uni est "uk" (.co.uk), tandis que son code ISO 3166-1 est "gb". (d'un point de vue technique, du Royaume-Uni de Grande-Bretagne et d'Irlande du Nord).

    Si vous spécifiez un code de région non valide, l'API renvoie un INVALID_ARGUMENT . Ce paramètre peut avoir un impact sur les résultats en fonction de la législation applicable.

  • sessionToken

    Les jetons de session sont des chaînes générées par l'utilisateur qui suivent la saisie semi-automatique (Nouveau) les appels en tant que "sessions". La saisie semi-automatique (nouveau) utilise des jetons de session pour regrouper les phases de requête et de sélection d'une recherche avec saisie semi-automatique d'un utilisateur dans une session distincte pour à des fins de facturation. Pour en savoir plus, consultez Jetons de session :

Exemples de saisie semi-automatique (nouveau)

Utiliser locationRestriction et locationBias

Par défaut, l'API utilise la pondération de l'adresse IP pour contrôler la zone de recherche. Avec la pondération des adresses IP, l'API utilise Adresse IP de l'appareil afin de pondérer les résultats. Vous pouvez éventuellement utiliser locationRestriction ou locationBias, mais pas les deux, pour spécifier une zone de recherche.

locationRestriction spécifie la zone à rechercher. Résultats en dehors de la zone spécifiée ne sont pas renvoyées. Dans l'exemple suivant, vous utilisez locationRestriction pour limiter requête pour un cercle de 5 000 mètres de rayon autour de San Francisco:

curl -X POST -d '{
  "input": "Amoeba",
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Tous les résultats des zones spécifiées sont contenus dans le tableau suggestions:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "home_goods_store",
          "establishment",
          "store",
          "point_of_interest",
          "electronics_store"
        ]
      }
    }
  ]
}

Avec locationBias, la localisation sert de biais, c'est-à-dire que les résultats situés autour de la la position spécifiée peut être renvoyée, y compris des résultats situés en dehors de la zone spécifiée. Dans Par exemple, remplacez la requête par locationBias:

curl -X POST -d '{
  "input": "Amoeba",
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Les résultats contiennent désormais beaucoup plus d'éléments, y compris des résultats situés en dehors du rayon de 5 000 mètres:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "electronics_store",
          "point_of_interest",
          "store",
          "establishment",
          "home_goods_store"
        ]
      }
    },
    {
      "placePrediction": {
        "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw",
        "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw",
        "text": {
          "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Telegraph Avenue, Berkeley, CA, USA"
          }
        },
        "types": [
          "electronics_store",
          "point_of_interest",
          "establishment",
          "home_goods_store",
          "store"
        ]
      }
    },
    ...
  ]
}

Utiliser includePrimaryTypes

Utilisez le paramètre includedPrimaryTypes pour spécifier jusqu'à cinq valeurs de type à partir de Tableau A Tableau B (regions) ou (cities) seulement. Un lieu doit correspondre à l'un des valeurs de type principal à inclure dans la réponse.

Dans l'exemple suivant, vous spécifiez une chaîne input correspondant à "Football" et utilisez le paramètre includedPrimaryTypes pour limiter les résultats à Établissements de type "sporting_goods_store":

curl -X POST -d '{
  "input": "Soccer",
  "includedPrimaryTypes": ["sporting_goods_store"],
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Si vous omettez le paramètre includedPrimaryTypes, les résultats peuvent inclure d'un type dont vous n'avez pas besoin, tels que "athletic_field".

Demander des prédictions de requête

Les prédictions de requête ne sont pas renvoyées par défaut. Utiliser le includeQueryPredictions pour ajouter des prédictions de requête à la réponse. Exemple :

curl -X POST -d '{
  "input": "Amoeba",
  "includeQueryPredictions": true,
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Le tableau suggestions contient désormais des prédictions de lieu et de requête comme indiqué ci-dessus dans la section À propos de la réponse. Chaque prédiction de requête inclut le champ text contenant une chaîne de recherche textuelle recommandée. Vous pouvez créer un Text Search (nouvelle version) pour obtenir plus d'informations sur les prédictions de requête renvoyées.

Utiliser l'origine

Dans cet exemple, incluez origin dans la requête en tant que coordonnées de latitude et de longitude. Lorsque vous incluez origin, l'API inclut le champ distanceMeters dans qui contient la distance en ligne droite entre origin et la destination. Dans l'exemple ci-dessous, le point de départ est défini sur le centre de San Francisco:

curl -X POST -d '{
  "input": "Amoeba",
  "origin": {
    "latitude": 37.7749,
    "longitude": -122.4194
  },
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

La réponse inclut désormais distanceMeters:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "home_goods_store",
          "establishment",
          "point_of_interest",
          "store",
          "electronics_store"
        ],
        "distanceMeters": 3012
      }
    }
  ]
}

Essayer

APIs Explorer vous permet de créer des exemples de requêtes afin de vous familiariser avec l'API et ses options.

  1. Sélectionnez l'icône API Développez APIs Explorer., sur le côté droit de la page.
  2. Vous pouvez également développer Afficher les paramètres standards et définir Le paramètre fields au masque de champ.
  3. Vous pouvez également modifier le corps de la requête.
  4. Sélectionnez le bouton Execute (Exécuter). Dans la fenêtre pop-up, sélectionnez le compte à utiliser pour effectuer la demande.
  5. Dans le panneau APIs Explorer, sélectionnez l'icône de développement, Développez APIs Explorer., pour développer la fenêtre de l'explorateur d'API.