Foto do local (novo)

Selecione a plataforma: Android iOS Web Service

O serviço Place Photo (New) é uma API somente leitura que permite adicionar conteúdo fotográfico de alta qualidade ao seu aplicativo. O serviço Place Photo permite acessar milhões de fotos armazenadas no banco de dados do Places.

Quando você recebe informações de local usando uma solicitação do Place Details, do Nearby Search ou do Text Search, também é possível solicitar recursos de foto para conteúdo fotográfico relevante. Usando o serviço Photo, é possível acessar as fotos referenciadas e redimensionar a imagem de acordo com o tamanho ideal para o aplicativo.

O APIs Explorer permite fazer solicitações em tempo real para que você se familiarize com a API e as opções dela:

Pedidos de fotos do lugar

Uma solicitação de foto do lugar é uma solicitação HTTP GET para um URL no formato:
https://places.googleapis.com/v1/NAME/media?key=API_KEY&PARAMETERS

Em que os seguintes parâmetros são necessários:

  • NAME contém o nome do recurso da foto.
  • API_KEY contém a chave de API.
  • PARAMETERS contém o parâmetro maxHeightPx, o parâmetro maxWidthPx ou ambos.

Confira abaixo a lista completa de parâmetros obrigatórios e opcionais.

Parâmetros obrigatórios

Nome da foto

Um identificador de string que identifica exclusivamente uma foto. Os nomes das fotos são retornados de uma solicitação de Place Details (New), Nearby Search (New) ou Text Search (New) na propriedade name de cada elemento da matriz photos[].

Para conferir um exemplo, consulte Receber o nome de uma foto.

maxHeightPx e maxWidthPx

Especifica a altura e a largura máximas desejadas, em pixels, da imagem. Se a imagem for menor do que os valores especificados, a imagem original será retornada. Se a imagem for maior em qualquer dimensão, ela será dimensionada para corresponder à menor das duas dimensões, restrita à proporção original. As propriedades "maxheight" e "maxwidth" aceitam um número inteiro entre 1 e 4800.

É necessário especificar maxHeightPx, maxWidthPx ou ambos.

Parâmetros opcionais

skipHttpRedirect

Se false (padrão), faça um redirecionamento HTTP para a imagem para retornar a imagem. Se true, pule o redirecionamento e retorne uma resposta JSON com os detalhes da imagem. Exemplo:

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

Essa opção é ignorada para solicitações não HTTP.

Receber o nome de uma foto

Todas as solicitações para o serviço de foto do lugar precisam incluir um nome de recurso de foto, retornado na resposta a uma solicitação do Place Details, do Text Search ou do Nearby Search. A resposta a essas solicitações contém uma matriz photos[] se o lugar tiver conteúdo fotográfico relacionado.

Cada elemento de photo[] contém os seguintes campos:

  • name: uma string que contém o nome do recurso da foto quando você realiza uma solicitação de foto. Essa string está no formato:

    places/PLACE_ID/photos/PHOTO_RESOURCE
  • heightPx: a altura máxima da imagem em pixels.
  • widthPx: a largura máxima da imagem, em pixels.
  • authorAttributions[]: todas as atribuições obrigatórias. Esse campo está sempre presente, mas pode estar vazio.

As fotos retornadas pelo serviço Photo têm origem em vários locais, inclusive de proprietários de empresas e imagens enviadas pelos usuários. Na maioria dos casos, essas fotos podem ser usadas sem atribuição ou a atribuição necessária será incluída como parte da imagem. No entanto, se o elemento photo retornado incluir um valor no campo authorAttributions, será necessário incluir a atribuição adicional no aplicativo sempre que você mostrar a imagem.

O exemplo a seguir mostra uma solicitação de detalhes do lugar que inclui photos na máscara de campo para que a resposta inclua a matriz 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
Confira abaixo um exemplo de matriz photos[] na resposta.
    ...
    "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"
          }
        ]
      },    ...

Solicitar uma foto de um lugar

O exemplo de solicitação abaixo retorna uma imagem usando o recurso name, redimensionando-o para que tenha no máximo 400 pixels de altura e largura:

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

A resposta de uma solicitação de Place Photo bem-sucedida é uma imagem. O tipo da imagem depende do tipo da foto enviada originalmente.

Se a solicitação exceder a cota disponível, o servidor retornará um status HTTP 403 e exibirá a imagem abaixo para indicar que a cota foi excedida:

Imagem de cota excedida

Se o servidor não conseguir entender sua solicitação, ele retornará o status HTTP 400, que indica uma solicitação inválida. Os motivos mais comuns para uma solicitação inválida incluem:

  • O nome da foto enviada não foi especificado corretamente.
  • A solicitação não incluiu o parâmetro maxHeightPx ou maxWidthPx.
  • O valor do parâmetro maxHeightPx ou maxWidthtPx foi definido como null.
  • O name expirou. Se o name expirar, faça uma solicitação para Place Details (novo), Nearby Search (novo) ou Text Search (novo) para receber um novo name.

Confira!

O API Explorer permite fazer solicitações de amostra para que você se familiarize com a API e as opções dela.

Para fazer uma solicitação:

  1. Selecione o ícone da API api no lado direito da página.
  2. Defina o parâmetro name como:
    places/PLACE_ID/photos/PHOTO_RESOURCE/media
  3. Defina skipHttpRedirect como true para que a solicitação retorne uma resposta JSON. Por padrão, a solicitação retorna a imagem, que não pode ser exibida pelo API Explorer.
  4. Selecione o botão Executar. No pop-up, escolha a conta que você quer usar para fazer a solicitação.
  5. No painel do API Explorer, selecione o ícone de tela cheia fullscreen para expandir a janela do API Explorer.