Saisie semi-automatique (nouveau)

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

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

Le service Autocomplete (nouveau) peut établir une correspondance avec des mots complets et des sous-chaînes de l'entrée, ce qui permet de trouver des noms de lieux, des adresses et des plus codes. Ainsi, les applications peuvent envoyer des requêtes lors de la frappe pour indiquer les lieux et les requêtes possibles à la volée.

La réponse de l'API Autocomplete (New) peut contenir deux types de prédictions:

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

Par exemple, vous appelez l'API en utilisant une chaîne contenant une saisie partielle de l'utilisateur, "pizza sicilienne", avec une zone de recherche limitée à San Francisco, en Californie. La réponse contient ensuite une liste de prédictions de lieux correspondant à la chaîne de recherche et à la zone de recherche, comme le restaurant nommé "Sicilian Pizza Kitchen", ainsi que des informations sur le lieu.

Les prédictions de lieu renvoyées sont conçues pour être présentées à l'utilisateur afin de l'aider à sélectionner le lieu souhaité. Vous pouvez effectuer une requête Place Details (New) pour obtenir plus d'informations sur l'une des prédictions de lieu renvoyées.

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

API Explorer vous permet d'envoyer des requêtes en direct afin de vous familiariser avec l'API et ses options:

Essayer

Requêtes Autocomplete (nouveau)

Une requête de saisie semi-automatique (nouvelle) est une requête HTTP POST envoyée à une URL sous la forme suivante:

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 fonctionnalité de saisie semi-automatique (nouvelle) renvoie un objet JSON en réponse. Dans la réponse :

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

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écifiez des mots et des sous-chaînes complets, des noms de lieux, des adresses et des Plus Codes. Le service de saisie semi-automatique (nouveau) renvoie les résultats correspondant à cette chaîne et les classe en fonction de leur pertinence estimée.

Paramètres facultatifs

  • FieldMask

    Spécifiez la liste des champs à renvoyer dans la réponse en créant un masque de champ de réponse. Transmettez le masque de champ de réponse à la méthode à l'aide de l'en-tête HTTP X-Goog-FieldMask.

    Spécifiez une liste de champs de suggestions à renvoyer, séparés par une virgule. Par exemple, pour récupérer les suggestions.placePrediction.place et suggestions.placePrediction.text de la suggestion.

      X-Goog-FieldMask: places.displayName,places.formattedAddress

    Utilisez * pour récupérer tous les champs.

      X-Goog-FieldMask: *
  • includedPrimaryTypes

    Un lieu ne peut avoir qu'un seul type principal parmi ceux listés dans le tableau A ou le 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, quelle que soit la valeur de type principal associée au lieu. Limitez les résultats à un ou plusieurs types principaux en transmettant le paramètre includedPrimaryTypes.

    Utilisez ce paramètre pour spécifier jusqu'à cinq valeurs de type du tableau A ou du tableau B. Pour être inclus dans la réponse, un lieu doit correspondre à l'une des valeurs de type principal spécifiées.

    Ce paramètre peut également inclure (regions) ou (cities). La collection de type (regions) filtre les zones ou les départements, tels que les quartiers et les codes postaux. La collection de types (cities) filtre les lieux que Google identifie comme une ville.

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

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

    Si la valeur est true, la réponse inclut les établissements qui se rendent directement chez les clients ou leur livrent des produits, mais qui ne disposent pas de locaux physiques. Si la valeur est false, l'API ne renvoie que les établissements disposant d'un établissement physique.

  • includeQueryPredictions

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

  • includedRegionCodes

    N'incluez que les résultats de la liste des régions spécifiées, sous la forme d'un tableau comportant jusqu'à 15 valeurs ccTLD ("domaine de premier niveau") à deux caractères. Si cette valeur est omise, aucune restriction n'est appliquée à la réponse. Par exemple, pour limiter les 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 de caractère Unicode basé sur zéro indiquant la position du curseur dans input. La position du curseur peut influencer les prédictions renvoyées. Si ce champ est vide, la longueur par défaut est input.

  • languageCode

    Langue de préférence pour renvoyer les résultats. Les résultats peuvent être dans des langues mixtes 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 de la langue locale vers languageCode.

    • Vous devez utiliser les codes de langue IETF BCP-47 pour indiquer la langue préférée.
    • Si languageCode n'est pas fourni, l'API utilise la valeur spécifiée dans l'en-tête Accept-Language. Si aucun n'est spécifié, la valeur par défaut est en. Si vous spécifiez un code de langue non valide, l'API renvoie une erreur INVALID_ARGUMENT.
    • 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. 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 et la population locale, tout en reflétant l'entrée utilisateur. Les prédictions de lieux sont mises en forme 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 sur la préférence de langue indiquée par le paramètre languageCode lorsqu'il est disponible. Sinon, ils utilisent les noms qui correspondent le mieux à l'entrée utilisateur.
      • Les adresses sont formatées dans la langue locale, dans un script lisible par l'utilisateur dans la mesure du possible, uniquement après avoir sélectionné des termes correspondant aux termes du paramètre input.
      • Toutes les autres adresses sont renvoyées dans la langue préférée, après avoir choisi des termes correspondants aux termes du paramètre input. Si un nom n'est pas disponible dans la langue de votre choix, 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 spécifiant la région dans laquelle les résultats doivent se trouver, et locationBias comme spécifiant la région à proximité de laquelle les résultats doivent se trouver, mais qui peut être en dehors de la zone.

    • locationBias

      Spécifie une zone à rechercher. Cet emplacement sert de biais, ce qui signifie que des résultats autour de l'emplacement spécifié peuvent être renvoyés, y compris en dehors de la zone spécifiée.

    • locationRestriction

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

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

    • Un cercle est défini par un point central et un rayon en mètres. Le rayon doit être compris entre 0,0 et 50 000, 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 ne 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 points low et des points élevés diamétralement opposés. Une fenêtre d'affichage est considérée comme une région fermée, ce qui signifie qu'elle inclut sa limite. Les limites de latitude doivent être comprises entre -90 et 90 degrés, et les limites de longitude entre -180 et 180 degrés, inclus:

      • Si low = high, la fenêtre d'affichage ne comprend qu'un seul point.
      • Si low.longitude > high.longitude, la plage de longitude est inversée (la fenêtre d'affichage croise la ligne de longitude de 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 est défini sur 180 degrés et high.longitude sur -180 degrés, la plage de longitude est vide.

      low et high doivent être renseignés, et la zone représentée ne doit pas être vide. Un viewport vide génère une erreur.

      Par exemple, ce viewport englobe entièrement la ville de New York :

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

    Point d'origine à partir duquel calculer la distance en ligne droite jusqu'à la destination (rendue sous la forme distanceMeters). Si cette valeur est omise, la distance en ligne droite ne sera pas renvoyée. Doit être spécifié sous la forme de 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 valeur ccTLD (TLD pour "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 du Royaume-Uni est "uk" (.co.uk), tandis que son code ISO 3166-1 est "gb" (techniquement pour l'entité "Royaume-Uni de Grande-Bretagne et d'Irlande du Nord").

    Si vous spécifiez un code de région non valide, l'API renvoie une erreur INVALID_ARGUMENT. Le paramètre peut avoir une incidence 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 les appels Autocomplete (New) en tant que "sessions". La saisie semi-automatique (nouvelle) utilise des jetons de session pour regrouper les phases de requête et de sélection d'une recherche de saisie semi-automatique d'un utilisateur dans une session distincte à des fins de facturation. Pour en savoir plus, consultez la section Jetons de session.

Exemples de saisie semi-automatique (nouvelle)

Limiter la recherche à une zone à l'aide de locationRestriction

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

curl -X POST -d '{
  "input": "Art museum",
  "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/ChIJkQQVTZqAhYARHxPt2iJkm1Q",
          "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q",
          "text": {
            "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA",
            "matches": [
              {
                "startOffset": 6,
                "endOffset": 16
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "Asian Art Museum",
              "matches": [
                {
                  "startOffset": 6,
                  "endOffset": 16
                }
              ]
            },
            "secondaryText": {
              "text": "Larkin Street, San Francisco, CA, USA"
            }
          },
          "types": [
            "establishment",
            "museum",
            "point_of_interest"
          ]
        }
      },
      {
        "placePrediction": {
          "place": "places/ChIJI7NivpmAhYARSuRPlbbn_2w",
          "placeId": "ChIJI7NivpmAhYARSuRPlbbn_2w",
          "text": {
            "text": "de Young Museum, Hagiwara Tea Garden Drive, San Francisco, CA, USA",
            "matches": [
              {
                "endOffset": 15
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "de Young Museum",
              "matches": [
                {
                  "endOffset": 15
                }
              ]
            },
            "secondaryText": {
              "text": "Hagiwara Tea Garden Drive, San Francisco, CA, USA"
            }
          },
          "types": [
            "establishment",
            "point_of_interest",
            "tourist_attraction",
            "museum"
          ]
        }
      },
      /.../
    ]
  }

Vous pouvez également utiliser locationRestriction pour limiter les recherches à une fenêtre d'affichage rectangulaire. L'exemple suivant limite la requête au centre-ville de San Francisco:

  curl -X POST -d '{
    "input": "Art museum",
    "locationRestriction": {
      "rectangle": {
        "low": {
          "latitude": 37.7751,
          "longitude": -122.4219
        },
        "high": {
          "latitude": 37.7955,
          "longitude": -122.3937
        }
      }
    }
  }' \
  -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
  https://places.googleapis.com/v1/places:autocomplete

Les résultats sont contenus dans le tableau suggestions:

  {
    "suggestions": [
      {
        "placePrediction": {
          "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q",
          "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q",
          "text": {
            "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA",
            "matches": [
              {
                "startOffset": 6,
                "endOffset": 16
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "Asian Art Museum",
              "matches": [
                {
                  "startOffset": 6,
                  "endOffset": 16
                }
              ]
            },
            "secondaryText": {
              "text": "Larkin Street, San Francisco, CA, USA"
            }
          },
          "types": [
            "point_of_interest",
            "museum",
            "establishment"
          ]
        }
      },
      {
        "placePrediction": {
          "place": "places/ChIJyQNK-4SAhYARO2DZaJleWRc",
          "placeId": "ChIJyQNK-4SAhYARO2DZaJleWRc",
          "text": {
            "text": "International Art Museum of America, Market Street, San Francisco, CA, USA",
            "matches": [
              {
                "startOffset": 14,
                "endOffset": 24
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "International Art Museum of America",
              "matches": [
                {
                  "startOffset": 14,
                  "endOffset": 24
                }
              ]
            },
            "secondaryText": {
              "text": "Market Street, San Francisco, CA, USA"
            }
          },
          "types": [
            "museum",
            "point_of_interest",
            "tourist_attraction",
            "art_gallery",
            "establishment"
          ]
        }
      }
    ]
  }

Pondérer la recherche sur une zone à l'aide de locationBias

Avec locationBias, la localisation sert de biais, ce qui signifie que des résultats situés autour du lieu spécifié peuvent être renvoyés, y compris des résultats situés en dehors de la zone spécifiée. Dans l'exemple suivant, vous orientez la requête vers le centre-ville de San Francisco:

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"
        ]
      }
    },
    ...
  ]
}

Vous pouvez également utiliser locationBias pour limiter les recherches à une fenêtre d'affichage rectangulaire. L'exemple suivant limite la requête au centre-ville de San Francisco:

  curl -X POST -d '{
    "input": "Amoeba",
    "locationBias": {
      "rectangle": {
        "low": {
          "latitude": 37.7751,
          "longitude": -122.4219
        },
        "high": {
          "latitude": 37.7955,
          "longitude": -122.3937
        }
      }
    }
  }' \
  -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
  https://places.googleapis.com/v1/places:autocomplete

Bien que les résultats de recherche dans la fenêtre d'affichage rectangulaire apparaissent dans la réponse, certains résultats se trouvent en dehors des limites définies en raison d'un biais. Les résultats sont également inclus 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": [
            "point_of_interest",
            "store",
            "establishment"
          ]
        }
      },
      {
        "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": [
            "point_of_interest",
            "store",
            "establishment"
          ]
        }
      },
      {
        "placePrediction": {
          "place": "places/ChIJRdmfADq_woARYaVhnfQSUTI",
          "placeId": "ChIJRdmfADq_woARYaVhnfQSUTI",
          "text": {
            "text": "Amoeba Music, Hollywood Boulevard, Los Angeles, CA, USA",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "structuredFormat": {
            "mainText": {
              "text": "Amoeba Music",
              "matches": [
                {
                  "endOffset": 6
                }
              ]
            },
            "secondaryText": {
              "text": "Hollywood Boulevard, Los Angeles, CA, USA"
            }
          },
          "types": [
            "point_of_interest",
            "store",
            "establishment"
          ]
        }
      },
    /.../
    ]
  }

Utiliser includedPrimaryTypes

Utilisez le paramètre includedPrimaryTypes pour spécifier jusqu'à cinq valeurs de type du tableau A, du tableau B, ou uniquement (regions) ou (cities). Pour être inclus dans la réponse, un lieu doit correspondre à l'une des valeurs de type principal spécifiées.

Dans l'exemple suivant, vous spécifiez une chaîne input de "Soccer" et utilisez le paramètre includedPrimaryTypes pour limiter les résultats aux é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 des établissements d'un type que vous ne souhaitez pas, comme "athletic_field".

Demander des prédictions de requête

Les prédictions de requête ne sont pas renvoyées par défaut. Utilisez le paramètre de requête 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 à la fois des prédictions de lieux et des prédictions de requêtes, 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 de texte recommandée. Vous pouvez envoyer une requête Text Search (nouvelle version) pour obtenir plus d'informations sur les prédictions de requêtes 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 la réponse qui contient la distance en ligne droite entre origin et la destination. Cet exemple définit l'origine 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 maintenant 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

API Explorer vous permet d'envoyer des exemples de requêtes afin de vous familiariser avec l'API et ses options.

  1. Sélectionnez l'icône API Développez l'explorateur d'API. 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 sur le masque de champ.
  3. Modifiez éventuellement le corps de la requête.
  4. Sélectionnez le bouton Execute (Exécuter). Dans le pop-up, sélectionnez le compte que vous souhaitez utiliser pour effectuer la demande.
  5. Dans le panneau "Explorateur d'API", sélectionnez l'icône de développement Développez l'explorateur d'API. pour développer la fenêtre de l'explorateur d'API.