Migrer vers la recherche à proximité (nouveau)

L'API Places est compatible avec Nearby Search. Si vous connaissez la fonctionnalité Nearby Search existante, la nouvelle version apporte les modifications suivantes:

  • La nouvelle fonctionnalité Nearby Search utilise des requêtes HTTP POST. Transmettez des paramètres dans le corps de la requête ou dans les en-têtes dans le cadre d'une requête HTTP POST. En revanche, avec la fonctionnalité Nearby Search existante, vous transmettez les paramètres d'URL à l'aide d'une requête HTTP GET.
  • Le masquage du champ est obligatoire. Vous devez spécifier les champs qui doivent être renvoyés dans la réponse. Il n'existe pas de liste par défaut des champs renvoyés. Si vous omettez cette liste, les méthodes renvoient une erreur. Pour en savoir plus, consultez la section FieldMask.
  • La nouvelle fonctionnalité Nearby Search est compatible avec les clés API et les jetons OAuth en tant que mécanisme d'authentification.
  • Seul le format JSON est accepté comme format de réponse dans la nouvelle fonctionnalité Nearby Search.
  • Toutes les requêtes qui incluent une requête textuelle doivent désormais utiliser Text Search (nouvelle version), car Nearby Search (nouvelle version) n'est pas compatible avec la saisie de texte.
  • Le format de réponse JSON de l'API Nearby Search (nouvelle version) a changé par rapport au format des API existantes. Pour en savoir plus, consultez Migrer la réponse de l'API Places.

Le tableau suivant répertorie les paramètres de l'API Nearby Search existante qui ont été renommés ou modifiés pour la nouvelle Nearby Search, ou les paramètres qui ne sont plus compatibles.

Paramètre actuel Nouveau paramètre Remarques
keyword Non compatible. Utilisez plutôt Text Search (nouvelle version).
language languageCode
location locationRestriction Obligatoire.
maxprice/minprice Non compatible.
maxResultCount Nouveau paramètre.
opennow Non compatible.
pagetoken Non compatible.
radius Utilisez locationRestriction maintenant.
rankby rankPreference
regionCode Nouveau paramètre.
type includedTypes
excludedTypes
includedPrimaryTypes
excludedPrimaryTypes
Les nouveaux paramètres acceptent également plusieurs valeurs de type. L'API existante n'accepte qu'une seule valeur.

Exemple de requête

L'exemple de requête GET suivant utilise l'API Nearby Search existante. Dans cet exemple, vous demandez une réponse JSON contenant des informations sur les lieux de type restaurant et transmettez tous les paramètres en tant que paramètres d'URL:

curl -L -X GET \
'https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=37.7937%2C-122.3965&radius=500&type=restaurant&key=API_KEY'

Avec Nearby Search (nouveau), vous effectuez une requête POST et transmettez tous les paramètres dans le corps de la requête JSON ou dans les en-têtes dans le cadre de la requête POST. Cet exemple utilise également un masque de champ afin que la réponse n'inclut que le nom à afficher et l'adresse formatée du lieu:

curl -X POST -d '{
  "includedTypes": ["restaurant"],
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965},
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName,places.formattedAddress" \
https://places.googleapis.com/v1/places:searchNearby