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 lugar (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.
Parâmetros obrigatórios
-
photo_reference
Um identificador de string que identifica uma foto de maneira exclusiva. As referências de fotos são retornadas de uma solicitação de Place Search ou Place Details.
-
maxheight ou maxwidth
maxheightespecifica a altura máxima preferida da imagem, em pixels. Se a imagem for menor 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.maxwidthespecifica a largura máxima preferida da imagem em pixels. Se a imagem for menor 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
maxheightemaxwidthaceitam um número inteiro entre1e1600.É necessário especificar
maxheight,maxwidthou ambos.
Referências de fotos
Todas as solicitações para Place Photos (legado) precisam incluir um photo_reference, retornado na resposta a uma solicitação de 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
photona 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 Place Photos (legada).height: a altura máxima da imagem.width: a largura máxima da imagem.html_attributions[]: contém 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 Place Details (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 Place Photos (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 uma solicitação inválida incluem:
- A referência de foto enviada não foi especificada corretamente.
- A solicitação não incluiu os parâmetros
maxwidthoumaxheight. - O valor do parâmetro
maxwidthoumaxheightfoi definido comonull. - O
photo_referenceexpirou. Sephoto_referenceexpirar, 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.