O Place Photo (novo) é uma API somente leitura que permite adicionar informações de alta qualidade conteúdo fotográfico ao aplicativo. O serviço Place Photo concede acesso a milhões de fotos armazenadas no banco de dados do Places.
Quando você recebe informações de um lugar usando uma solicitação de Place Details, Nearby Search ou Text Search, você também pode solicitar recursos fotográficos para conteúdo relevante. Com o serviço Photo, você pode acessar as fotos referenciadas e redimensionar a imagem para o tamanho ideal para seu para o aplicativo.
O APIs Explorer permite que você faça solicitações ativas para se familiarizar com a API e a Opções de API:
Faça um testeSolicitações de Place Photo
Uma solicitação de Place Photo é uma solicitação GET HTTP para um URL no formato:https://places.googleapis.com/v1/NAME/media?key=API_KEY&PARAMETERS
Quando os seguintes parâmetros são obrigatórios:
- NAME contém o nome de recurso da foto.
- API_KEY contém a chave de API.
- PARAMETERS contém o parâmetro
maxHeightPx
, o parâmetromaxWidthPx
ou ambos.
A lista completa de parâmetros obrigatórios e opcionais é descrita abaixo.
Parâmetros obrigatórios
Nome da foto
Um identificador de string que identifica uma foto de forma exclusiva. Os nomes das fotos são retornados por um
Place Details (novo), Nearby Search (novo),
ou solicitação Text Search (novo)
na propriedade name
de cada elemento da matriz photos[]
.
Veja um exemplo em Criar 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 que os valores especificados, a imagem original será retornada. Se a imagem for maior em ele será dimensionado para corresponder à menor das duas dimensões, restrita ao tamanho original proporção. As propriedades maxheight e maxwidth aceitam números inteiros entre 1 e 4.800.
Especifique maxHeightPx
, maxWidthPx
ou ambos.
Parâmetros opcionais
skipHttpRedirect
Se false
(padrão), faça um redirecionamento HTTP para a imagem a fim de retorná-la.
Se for true
, ignore o redirecionamento e retorne uma resposta JSON contendo 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 em solicitações que não são HTTP.
Obter o nome de uma foto
Todas as solicitações para o serviço Place Photo devem incluir um
nome de recurso de foto, retornado na resposta a uma Nearby Search, Text Search ou
solicitação do Place Details. A resposta a essas solicitações conterá uma matriz photos[]
se o
lugar tem conteúdo fotográfico relacionado.
Cada elemento de photo[]
contém os seguintes campos:
name
: uma string contendo o nome do recurso da foto quando você executar 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 necessárias. Isso campo está sempre presente, mas pode estar vazio.
Fotos retornadas pelo serviço Photo têm origem em vários locais,
incluindo proprietários de empresas e fotos enviadas por usuários. Na maioria dos casos,
fotos podem ser usadas sem atribuição ou terão a atribuição necessária
incluída na imagem. No entanto, se o elemento photo
retornado
incluir um valor no campo authorAttributions
, será necessário incluir o
atribuição adicional em seu aplicativo sempre que você exibir a imagem.
O exemplo a seguir mostra uma solicitação do Place Details que inclui photos
no
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/ChIJ2fzCmcW7j4AR2JzfXBBoh6EUm exemplo de matriz
photos[]
na resposta é mostrado abaixo.
... "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 lugar
O exemplo de solicitação abaixo retorna uma imagem usando o recurso name
, redimensionando-a 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 sua solicitação exceder a cota disponível, o servidor retornará um HTTP 403 e exibir a imagem abaixo para indicar que a cota foi foi excedido:
Se o servidor não entender sua solicitação, ele retornará HTTP 400. que indica uma solicitação inválida. As razões 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
maxHeightPx
nemmaxWidthPx
. - O valor do parâmetro
maxHeightPx
oumaxWidthtPx
foi definido. paranull
. name
expirou. Sename
expirar, faça uma solicitação para Place Details (novo), Nearby Search (novo) ou Text Search (novo) para obter um novoname
.
Confira!
Com o APIs Explorer, você pode fazer solicitações de amostra para se familiarizar com a API e as opções de API.
Para fazer uma solicitação:
- Selecione o ícone da API, , no lado direito da página.
- Defina o parâmetro
name
como:places/PLACE_ID/photos/PHOTO_RESOURCE/media
- Defina
skipHttpRedirect
comotrue
para que a solicitação retorne um JSON. resposta. Por padrão, a solicitação retorna a imagem, que não pode ser exibida pelo APIs Explorer. - Selecione o botão Execute. No pop-up, escolha a conta que você quer usar para fazer a solicitação.
No painel do APIs Explorer, selecione o ícone de expansão, para expandir a janela do APIs Explorer.