Blocos do Street View

Exemplo do Street ViewOs blocos do Street View são semelhantes aos blocos em 2D, mas contêm imagens panorâmicas tiradas no nível da rua. Com o Street View, é possível explorar pontos turísticos do mundo, ver belezas naturais e entrar em lugares como museus, estádios, restaurantes ou pequenas empresas. Esse endpoint de API oferece acesso a:

  • Blocos do Street View do Google Maps
  • Metadados do Street View
  • Miniaturas do Street View

É possível juntar blocos de imagens tiradas na rua para criar um efeito panorâmico de vida real. Além disso, você pode consultar até 100 IDs de panoramas para um conjunto de locais (como uma rota) e acessar metadados mais detalhados sobre a posição da câmera.

É necessário ter um visualizador para unir blocos do Street View. Por exemplo, o visualizador de panorama personalizado do Street View.

Com a chave de API, é possível acessar as imagens do Street View seguindo as etapas abaixo.

  1. Consiga um token de sessão. Defina o valor de mapType como streetview.

  2. Use o token de sessão para ver o identificador de panorama (panoId) de um ou mais locais geográficos.

  3. Use os identificadores de panorama da resposta de pesquisa "panoId" para ver:

    1. Metadados do Street View. Você também pode receber metadados do Street View transmitindo um conjunto de coordenadas e um raio.

    2. Miniaturas do Street View.

    3. Blocos do Street View.

Métodos do Street View

Para acessar imagens e metadados do Street View, chame um dos quatro métodos a seguir.

Método Descrição
https://tile.googleapis.com/v1/streetview/tiles Retorna blocos individuais do Street View. Você pode recuperar blocos do Street View em seis níveis de zoom: de 512 a 13.312 pixels.
https://tile.googleapis.com/v1/streetview/panoIds Permite pesquisar em massa em até 100 locais. Retorna IDs de panoramas para todos os locais com imagens.
https://tile.googleapis.com/v1/streetview/thumbnail Retorna uma imagem JPEG em miniatura de uma cena do Street View. Permite informar um título, inclinação, dimensões e campo de visão. As dimensões mínimas são 16 x 16 pixels. As dimensões máximas são 250 x 600 pixels.
https://tile.googleapis.com/v1/streetview/metadata Fornece informações detalhadas sobre o panorama especificado. Os detalhes incluem o endereço relacionado e links para panoramas adjacentes.

Você pode encontrar o identificador de panorama de uma ou mais localizações geográficas transmitindo as coordenadas (lat, lng) para o método panoIds. O corpo da solicitação é um objeto JSON que contém uma matriz locations e, opcionalmente, um radius, conforme mostrado no exemplo de código JSON a seguir.

curl -X POST -d '{
  "locations": [
    {"lat": -33.883837, "lng": 151.209307},
    {"lat": -33.883700, "lng": 151.210307},
    {"lat": 0, "lng": 0}
  ],
  "radius": 50
}' \
-H 'Content-Type: application/json' \
"https://tile.googleapis.com/v1/streetview/panoIds?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY"
locations
A matriz locations precisa conter pelo menos um conjunto de valores de coordenadas, mas é possível incluir mais (até 100).
radius
O valor radius (medido em metros) define o raio do círculo ao redor do local especificado em que a pesquisa de panoramas será feita. O valor padrão é 50 metros.

Resposta do panoId

A API Map Tiles tenta encontrar o panorama mais próximo de cada local e retorna os IDs dos panoramas. Uma solicitação panoIds bem-sucedida retorna um objeto JSON que contém uma matriz panoIds. A matriz contém uma lista de IDs do panorama, na ordem em que você os solicitou. Se a API Map Tiles não encontrar panoramas para os locais solicitados, uma string vazia será retornada nesse local da matriz. Confira um exemplo no código JSON a seguir.

{
  "panoIds": [
    "ACfH-n2HcBvRry_3oc9grw",
    "f5DJZatBAAAXHlooS2wKbw",
    ""
  ]
}

Você pode usar panoIds para:

Metadados do Street View

As solicitações de metadados do Street View recuperam informações sobre panoramas. Uma solicitação de metadados do Street View é uma solicitação HTTPS GET. Você pode recuperar informações sobre panoramas de duas maneiras:

  • Se você transmitir um pano_id, a API Map Tiles vai retornar os metadados desse panorama.

  • No entanto, se você transmitir lat e lng, a API Map Tiles vai retornar os metadados do panorama mais próximo dentro do raio de pesquisa especificado.

Transmitir um conjunto de coordenadas e um raio

curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&lat=lat&lng=lng&radius=meters"

Como os IDs de panoramas são temporários, recomendamos que você transmita um conjunto de coordenadas e um valor radius na sua solicitação inicial de metadados do Street View. Confira um exemplo no snippet de código abaixo.

curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&lat=47.62066&lng=-122.34923&radius=50"

Transmitir o panoId de uma imagem do Street View

curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=panoId"

Resposta de metadados

O código JSON a seguir é um exemplo de uma resposta típica de metadados.

{
 "panoId": "rZ9KeTyhA11i0VppYNzsSg",
 "lat": 37.420864219339165,
 "lng": -122.08446528377291,
 "imageHeight": 6656,
 "imageWidth": 13312,
 "tileHeight": 512,
 "tileWidth": 512,
 "heading": 94.35,
 "tilt": 88.39652,
 "roll": 1.7181772,
 "imageryType": "outdoor",
 "date": "2023-01",
 "copyright": "© 2023 Google",
 "reportProblemLink": "https://cbks0.googleapis.com/cbk?output=report&panoid=rZ9KeTyhA11i0VppYNzsSg&cb_client=api&cbp=1,0,,0,0&hl=en-US&gl=us",
 "addressComponents": [
  {
   "longName": "United States",
   "shortName": "United States",
   "types": [
    "country"
   ]
  },
  {
   "longName": "Mountain View, California",
   "shortName": "Mountain View, California",
   "types": [
    "locality"
   ]
  },
  {
   "longName": "Charleston Rd",
   "shortName": "Charleston Rd",
   "types": [
    "route"
   ]
  },
  {
   "longName": "1635",
   "shortName": "1635",
   "types": [
    "street_number"
   ]
  }
 ],
 "links": [
  {
   "panoId": "Yw4pqzA4FEq1qs-BwZSvSQ",
   "heading": 274.47998046875,
   "text": "Charleston Rd"
  },
  {
   "panoId": "1cODYwFRw1aZ45IignDIMw",
   "heading": 94.47999572753906,
   "text": "Charleston Rd"
  }
 ]
}

A lista a seguir contém definições dos campos no corpo da resposta.

panoId
O ID exclusivo do panorama. Não é necessário que os IDs de panorama sejam válidos por mais tempo do que uma única sessão de usuário.
lat, lng
As coordenadas (latitude e longitude) do panorama. Esses valores podem ser diferentes das coordenadas que você transmitiu na solicitação, porque o local é ajustado ao panorama mais próximo.
imageHeight, imageWidth
As dimensões da imagem do panorama costurado.
tileHeight, tileWidth
As dimensões de um único bloco de panorama.
heading
A direção da bússola, medida em graus, no sentido horário a partir do Norte. Os cabeçalhos são retornados dentro do intervalo [0,360], com 0 representando o Norte.
tilt
A inclinação do panorama, medida em graus do polo sul dele até o horizonte. Os valores retornados estão dentro do intervalo [0, 180]. Um valor de 90 graus indica que o horizonte já está alinhado no equador do panorama.
roll
A rotação no sentido horário em torno da linha de visão aplicada ao panorama para nivelar o horizonte. Os valores retornados estão dentro do intervalo [0, 360].
imageryType
Indica o tipo de imagem. Os valores válidos são indoor e outdoor.
date
A data em que a imagem foi tirada. Nem todas as imagens têm dados de data. Mas, quando disponível, esse campo contém uma combinação de ano (AAAA) e mês (MM). Por exemplo: 2023-05 ou 2024.
copyright
O texto de direitos autorais que você precisa exibir como atribuição com a imagem do Street View.
reportProblemLink
Um hiperlink que seus usuários podem usar para informar problemas com este bloco do Street View. Você precisa exibir esse hiperlink no canto inferior direito da imagem e incluir um texto como "Informar um problema com esta imagem".
addressComponent
Um geocódigo estruturado que contém detalhes sobre o endereço do panorama. Para mais informações, consulte Solicitações e respostas de geocodificação na documentação da API Geocoding.
links
Uma lista de IDs de panorama vinculados a este. Também contém o título em que o link é encontrado. Por exemplo, se a orientação for 180°, o panorama vinculado estará ao sul do panorama atual. Devido à natureza transitória dos IDs de panoramas, não dependa deles por mais do que uma única sessão de usuário.

Miniaturas do Street View

Você pode solicitar imagens do Street View no formato thumbnail. As miniaturas não são imagens lado a lado, com tamanho, cabeçalho, inclinação e campo de visão definidos pelo usuário. As imagens das miniaturas têm uma resolução mais baixa do que os blocos e um tamanho de arquivo menor. Para fazer uma solicitação de miniatura, envie uma solicitação GET para o endpoint thumbnail, conforme demonstrado no protótipo de código a seguir.

curl "https://tile.googleapis.com/v1/streetview/thumbnail?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=panoId&height=FROM_16_TO_250&width=FROM_16_TO_600&pitch=FROM-90_TO_90&yaw=FROM-360_TO_360&fov=FROM_30_TO_120"

Considere o exemplo de código a seguir, que faz o download de uma miniatura de imagens do Street View tiradas em Whistler, Canadá.

curl "https://tile.googleapis.com/v1/streetview/thumbnail?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=Zzl28rqGJgaL2IdkUleP8A&height=200&width=200&pitch=0&yaw=250&fov=80" --output /tmp/example_thumbnail.png

Miniatura do Street View de Whistler, Canadá

Parâmetros obrigatórios

panoId
O ID exclusivo da miniatura que você quer. Você pode acessar os valores do ID do panorama no endpoint panoIds ou no endpoint metadata. Ambos aceitam coordenadas geográficas e retornam o panoId apropriado.
session
Um token de sessão válido.
key
Sua chave de API.

Parâmetros opcionais

height
Especifica a altura da miniatura em pixels, variando de 16 a 250 pixels. Se você não especificar uma altura, o padrão será o valor máximo permitido de 250 pixels. Se você especificar um valor fora do intervalo, a miniatura será ajustada ao valor válido mais próximo.
width
Especifica a largura da miniatura em pixels, variando de 16 a 600 pixels. Se você não especificar uma largura, ela será padronizada para o valor máximo permitido de 600 pixels. Se você especificar um valor fora do intervalo, a miniatura será ajustada ao valor válido mais próximo.
pitch
Especifica o ângulo da câmera ao longo do eixo vertical. Os valores válidos estão no intervalo de -90 a 90 (inclusive). O valor padrão é 0.
yaw
Especifica a direção da câmera ao longo do eixo horizontal. Os valores válidos estão no intervalo de -360 a 360 (inclusive). O valor padrão é 0.
fov
Especifica o campo de visão horizontal, expresso em graus, com um valor máximo de 120. Ao lidar com uma janela de visualização de tamanho fixo, assim como com uma imagem do Street View de tamanho definido, o campo de visão representa o zoom. Valores menores especificam um nível maior de zoom. O valor padrão é 90.

Blocos de imagem do Street View

Quando você tiver um panoId, poderá solicitar um bloco de imagem do Street View. As solicitações de blocos são HTTPS GET. Considere este exemplo.

curl "https://tile.googleapis.com/v1/streetview/tiles/z/x/y?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=panoId"

Neste exemplo de código, z é o nível de zoom, e x e y são as coordenadas do bloco do bloco do Street View que você quer. Os níveis de zoom nos panoramas do Street View precisam estar no intervalo [0,5], sendo que 0 representa o campo de visão mais amplo.

Nível de zoom Campo de visão aproximado
0 360°
1 180°
2 90°
3
4 22,5°
5 11,25°

Respostas dos blocos do Street View

Uma solicitação de bloco do Street View bem-sucedida retorna uma imagem no formato e tamanho especificados na resposta createSession.

O resultado de uma solicitação de Bloco bem-sucedida

No nível de zoom zero, o panorama inteiro é redimensionado em um bloco de dimensões tileWidth por tileHeight. Como os panoramas são maiores na dimensão x, o bloco conterá um espaço vazio na dimensão y:

Nível de zoom zero

No nível de zoom cinco, o panorama em tamanho original é usado e dividido em blocos.

Você precisa exibir informações de direitos autorais em todos os panoramas do Street View. A string a ser exibida pode variar entre os panoramas. Para conseguir as informações de direitos autorais, solicite os metadados do Street View e consulte o campo copyright da resposta. Para mais informações, consulte Atribuições de dados.