Photo du lieu (nouveau)

Sélectionnez une plate-forme: Android iOS Service Web

Le service Place Photo (nouveau) est une API en lecture seule qui vous permet d'ajouter du contenu photographique de haute qualité à votre application. Le service Place Photos vous donne accès à des millions de photos stockées dans la base de données Places.

Lorsque vous obtenez des informations sur un lieu à l'aide d'une requête de Places Details, Nearby Search ou Text Search, vous pouvez également demander des ressources photo pour le contenu photographique correspondant. Le service Photo vous permet ensuite d'accéder aux photos référencées et de redimensionner l'image pour qu'elle s'adapte parfaitement à votre application.

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

Essayer

Requêtes Place Photo

Une requête de photo de lieu est une requête HTTP GET envoyée à une URL sous la forme suivante:
https://places.googleapis.com/v1/NAME/media?key=API_KEY&PARAMETERS

Les paramètres suivants sont obligatoires:

  • NAME contient le nom de ressource de la photo.
  • API_KEY contient la clé API.
  • PARAMETERS contient le paramètre maxHeightPx, le paramètre maxWidthPx ou les deux.

La liste complète des paramètres obligatoires et facultatifs est décrite ci-dessous.

Paramètres obligatoires

Nom de la photo

Identifiant de chaîne qui identifie de manière unique une photo. Les noms des photos sont renvoyés à partir d'une requête Place Details (New), Nearby Search (New) ou Text Search (New) dans la propriété name de chaque élément du tableau photos[].

Pour obtenir un exemple, consultez Obtenir le nom d'une photo.

maxHeightPx et maxWidthPx

Indique la hauteur et la largeur maximales souhaitées, en pixels, de l'image. Si l'image est plus petite que les valeurs spécifiées, l'image d'origine est renvoyée. Si l'image est plus grande dans l'une ou l'autre des dimensions, elle est mise à l'échelle pour correspondre à la plus petite des deux dimensions, en respectant ses proportions d'origine. Les propriétés "maxheight" et "maxwidth" acceptent un entier compris entre 1 et 4 800.

Vous devez spécifier maxHeightPx, maxWidthPx ou les deux.

Paramètres facultatifs

skipHttpRedirect

Si la valeur est false (par défaut), effectuez une redirection HTTP vers l'image pour la renvoyer. Si la valeur est true, ignorez la redirection et renvoyez une réponse JSON contenant les détails de l'image. Exemple :

{
  "name": "places/ChIJj61dQgK6j4AR4GeTYWZsKWw/photos/Aaw_FcKly0DEv3EWmDJyHiEqXIP5mowOc99lN1GzBun6KHH52AZ5fFA/media",
  "photoUri": "https://lh3.googleusercontent.com/a-/AD_cFT-b=s100-p-k-no-mo"
}

Cette option est ignorée pour les requêtes non HTTP.

Obtenir le nom d'une photo

Toutes les requêtes adressées au service Place Photo doivent inclure un nom de ressource photo, renvoyé dans la réponse à une requête Nearby Search, Text Search ou Place Details. La réponse à ces requêtes contient un tableau photos[] si le lieu comporte du contenu photographique associé.

Chaque élément de photo[] contient les champs suivants:

  • name : chaîne contenant le nom de la ressource de la photo lorsque vous effectuez une requête Photo. Cette chaîne se présente sous la forme suivante:

    places/PLACE_ID/photos/PHOTO_RESOURCE
  • heightPx : hauteur maximale de l'image, en pixels.
  • widthPx : largeur maximale de l'image, en pixels.
  • authorAttributions[] : attributions requises. Ce champ est toujours présent, mais peut être vide.

Les photos renvoyées par le service Photo sont extraites de plusieurs sources : elles peuvent être fournies par des propriétaires d'établissement ou par des utilisateurs. Dans la plupart des cas, les photos de lieu peuvent être utilisées sans attribution, ou contiendront déjà l'attribution. Toutefois, si l'élément photo renvoyé inclut une valeur dans le champ authorAttributions, vous devez inclure l'attribution supplémentaire dans votre application partout où vous affichez l'image.

L'exemple suivant montre une requête Place Details qui inclut photos dans le masque de champ afin que la réponse inclue le tableau photos[]:

curl -X GET \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: id,displayName,photos" \
https://places.googleapis.com/v1/places/ChIJ2fzCmcW7j4AR2JzfXBBoh6E
Vous trouverez ci-dessous un exemple de tableau photos[] dans la réponse.
    ...
    "photos" : [
      {
        "name": "places/ChIJ2fzCmcW7j4AR2JzfXBBoh6E/photos/AUacShh3_Dd8yvV2JZMtNjjbbSbFhSv-0VmUN-uasQ2Oj00XB63irPTks0-A_1rMNfdTunoOVZfVOExRRBNrupUf8TY4Kw5iQNQgf2rwcaM8hXNQg7KDyvMR5B-HzoCE1mwy2ba9yxvmtiJrdV-xBgO8c5iJL65BCd0slyI1",
        "widthPx": 6000,
        "heightPx": 4000,
        "authorAttributions": [
          {
            "displayName": "John Smith",
            "uri": "//maps.google.com/maps/contrib/101563",
            "photoUri": "//lh3.googleusercontent.com/a-/AD_cFT-b=s100-p-k-no-mo"
          }
        ]
      },    ...

Demander une photo d'un lieu

L'exemple de requête ci-dessous renvoie une image à l'aide de sa ressource name, en la redimensionnant pour qu'elle mesure au maximum 400 x 400 pixels:

https://places.googleapis.com/v1/places/ChIJ2fzCmcW7j4AR2JzfXBBoh6E/photos/AUacShh3_Dd8yvV2JZMtNjjbbSbFhSv-0VmUN-uasQ2Oj00XB63irPTks0-A_1rMNfdTunoOVZfVOExRRBNrupUf8TY4Kw5iQNQgf2rwcaM8hXNQg7KDyvMR5B-HzoCE1mwy2ba9yxvmtiJrdV-xBgO8c5iJL65BCd0slyI1/media?maxHeightPx=400&maxWidthPx=400&key=API_KEY

La réponse d'une requête Place Photo réussie est une image. Le type d'image dépend du type de photo envoyée initialement.

Si votre requête dépasse votre quota disponible, le serveur renvoie un état HTTP 403 et affiche l'image ci-dessous pour indiquer que le quota a été dépassé:

Image "Quota dépassé"

Si le serveur ne parvient pas à comprendre votre requête, il renvoie l'état HTTP 400, qui indique une requête non valide. Voici les raisons les plus courantes d'une requête non valide:

  • Le nom de la photo envoyée n'a pas été correctement spécifié.
  • La requête n'incluait pas le paramètre maxHeightPx ou maxWidthPx.
  • La valeur du paramètre maxHeightPx ou maxWidthtPx a été définie sur null.
  • Cet name est arrivé à expiration. Si name expire, envoyez une requête à Place Details (New), Nearby Search (New) ou Text Search (New) pour obtenir un nouvel name.

Essayer

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

Pour envoyer une demande:

  1. Sélectionnez l'icône API Développez l'explorateur d'API. sur le côté droit de la page.
  2. Définissez le paramètre name sur:
    places/PLACE_ID/photos/PHOTO_RESOURCE/media
    name
  3. Définissez skipHttpRedirect sur true pour que la requête renvoie une réponse JSON. Par défaut, la requête renvoie l'image, qui ne peut pas être affichée par API Explorer.
  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.