O Place Photos (legado), parte da API Places, é uma API somente leitura que permite adicionar conteúdo fotográfico de alta qualidade ao seu aplicativo. Com o Place Photos (legado), você tem acesso a milhões de fotos armazenadas no banco de dados do Places. Quando você consegue informações de local usando uma solicitação do Place Details, são retornadas referências de fotos para o conteúdo fotográfico relevante. As solicitações de Find Place (legado), Nearby Search (legado) e Text Search (legado) também retornam uma única referência de foto por lugar, quando relevante. Usando o Place Photos (legado), é possível acessar as fotos referenciadas e redimensionar a imagem de acordo com o tamanho ideal para o aplicativo.
Solicitações do Place Photos (legado)
Uma solicitação de fotos de lugares (legada) é um URL HTTP do seguinte formato:
https://maps.googleapis.com/maps/api/place/photo?parameters
Certos parâmetros são obrigatórios para iniciar uma solicitação de pesquisa. Como é padrão em URLs, todos os parâmetros são separados usando o caractere E comercial (&
). A lista de parâmetros e os valores possíveis estão enumerados abaixo.
Required parameters
photo_reference
A string identifier that uniquely identifies a photo. Photo references are returned from either a Place Search or Place Details request.
maxheight or maxwidth
maxheight
specifies the maximum desired height, in pixels, of the image. If the image is smaller than the values specified, the original image will be returned. If the image is larger in either dimension, it will be scaled to match the smaller of the two dimensions, restricted to its original aspect ratio.maxwidth
specifies the maximum desired width, in pixels, of the image. If the image is smaller than the values specified, the original image will be returned. If the image is larger in either dimension, it will be scaled to match the smaller of the two dimensions, restricted to its original aspect ratio.Both the
maxheight
andmaxwidth
properties accept an integer between1
and1600
.You must specify either
maxheight
, ormaxwidth
, or both.
Referências de fotos
Todas as solicitações para o Place Photos (legado) precisam incluir um photo_reference
, retornado na resposta a uma solicitação do Find Place (legado), Nearby Search (legado), Text Search (legado) ou Place Details (legado). A resposta a essas solicitações vai conter um campo photos[]
se o lugar tiver conteúdo fotográfico relacionado.
Observação: o número de fotos retornadas varia de acordo com a solicitação.
- Uma solicitação de Find Place (legado), Nearby Search (legado) ou Text Search (legado)
retorna, no máximo, um elemento
photo
na matriz. - Uma solicitação de Place Details (legado) retorna até dez elementos
photo
.
Cada elemento photo
contém os seguintes campos:
photo_reference
: uma string usada para identificar a foto quando você faz uma solicitação de fotos de lugares (legado).height
: a altura máxima da imagem.width
: a largura máxima da imagem.html_attributions[]
: contém todas as atribuições obrigatórias. Esse campo sempre estará presente, mas pode estar vazio.
As fotos retornadas pelo Place Photos (legado) têm origem em vários locais, incluindo 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 vai ser incluída na imagem. No entanto, se o elemento photo
retornado incluir um valor no campo html_attributions
, 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 (legado):
curl "https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJcUElzOzMQQwRLuV30nMUEUM&key=YOUR_API_KEY"
Confira abaixo um exemplo da matriz photos[]
na resposta.
...
"photos" : [
{
"html_attributions" : [],
"height" : 853,
"width" : 1280,
"photo_reference" : "ATJ83zhSSAtkh5LTozXMhBghqubeOxnZWUV2m7Hv2tQaIzKQJgvZk9yCaEjBW0r0Zx1oJ9RF1G7oeM34sQQMOv8s2zA0sgGBiyBgvdyMxeVByRgHUXmv-rkJ2wyvNv17jyTSySm_-_6R2B0v4eKX257HOxvXlx_TSwp2NrICKrZM2d5d2P4q"
}]
...
Exemplo de Place Photos (legado)
Um exemplo de solicitação é mostrado abaixo. Essa solicitação retorna a imagem referenciada, redimensionando-a para que tenha no máximo 400 pixels de largura.
https://maps.googleapis.com/maps/api/place/photo?maxwidth=400&photo_reference=ATJ83zhSSAtkh5LTozXMhBghqubeOxnZWUV2m7Hv2tQaIzKQJgvZk9yCaEjBW0r0Zx1oJ9RF1G7oeM34sQQMOv8s2zA0sgGBiyBgvdyMxeVByRgHUXmv-rkJ2wyvNv17jyTSySm_-_6R2B0v4eKX257HOxvXlx_TSwp2NrICKrZM2d5d2P4q &key=YOUR_API_KEY
Resposta do Place Photos (legado)
A resposta de uma solicitação bem-sucedida de fotos de lugares (legado) é uma imagem. O tipo da imagem depende do tipo da foto enviada originalmente.
Se a solicitação exceder a cota disponível, o servidor vai retornar um status HTTP 403 e mostrar a imagem abaixo para indicar que a cota foi excedida:
Se o servidor não conseguir entender sua solicitação, ele vai retornar o status HTTP 400, que indica uma solicitação inválida. Os motivos mais comuns para um pedido inválido incluem:
- A referência de foto enviada não foi especificada corretamente.
- A solicitação não incluiu os parâmetros
maxwidth
oumaxheight
. - O valor do parâmetro
maxwidth
oumaxheight
foi definido comonull
. - O
photo_reference
expirou. Sephoto_reference
expirar, faça uma solicitação para Place Details (legado), Find Place (legado), Nearby Search (legado), ou Text Search (legado) para receber o valor atualizado dephoto_reference
.