Usar tokens de sessão com a API Map Tiles

Um token de sessão é uma parte dos dados (um UUID) usado em chamadas REST para identificar um sessão: uma uma série de trocas de mensagens relacionadas. É necessário incluir um token de sessão em todas as solicitações de blocos 2D e imagens do Street View. Você a inclui como o valor de um parâmetro session anexado a todas as solicitações URLs.

Na API Map Tiles, um token de sessão representa um conjunto definido de opções de exibição. Isso significa que você não precisa passar um conjunto de opções de exibição com para cada solicitação de bloco. Você pode usar o mesmo token de sessão em vários clientes. No momento, um token de sessão tem validade por duas semanas após a emissão, mas isso pode mudar. É possível verificar o tempo de expiração token de sessão observando o campo expiry na mensagem de resposta.

Solicitação de token de sessão

Para solicitar um token de sessão, envie uma solicitação POST HTTPS para o endpoint createSession, conforme mostrado no exemplo a seguir. Você deve enviar a solicitação com uma Cabeçalho Content-Type: application/json.

curl -X POST -d '{
  "mapType": "streetview",
  "language": "en-US",
  "region": "US"
}' \
-H 'Content-Type: application/json' \
"https://tile.googleapis.com/v1/createSession?key=YOUR_API_KEY"

Campos obrigatórios

mapType

o tipo de mapa base. Esse valor pode ser um destes:

roadmap
Os blocos de mapas pintados padrão do Google Maps.
satellite
Imagens de satélite.
terrain
Imagens de terreno. Ao selecionar terrain como o tipo de mapa, você também deve incluem o tipo de camada layerRoadmap (descrito nos Campos opcionais ).
streetview
Panoramas do Street View Para mais informações, consulte Blocos do Street View.
language

Um Tag de idioma IETF que especifica o idioma usado para exibir informações nos blocos. Para Por exemplo, en-US especifica o idioma inglês falado nos Estados Unidos.

region

Um Repositório comum de dados de localidade identificador de região (duas letras maiúsculas) que representa a localização física do usuário. Por exemplo, US.

Campos opcionais

imageFormat
Especifica o formato do arquivo a ser retornado. Os valores válidos são jpeg ou png. Arquivos JPEG não aceitam transparência, portanto, não são recomendados para os blocos sobrepostos. Se você não especificar um imageFormat, o melhor formato para o bloco será escolhido automaticamente.
scale

Amplia o tamanho dos elementos do mapa (como rótulos de estradas), mantendo o tamanho do bloco e a área de cobertura do bloco padrão. Aumentar a escala também diminui o número de rótulos no mapa, o que reduz a desorganização. O seguinte são valores scale válidos:

  • scaleFactor1x: o padrão.
  • scaleFactor2x: dobra o tamanho do rótulo e remove rótulos de recursos menores.
  • scaleFactor4x: quadruplica o tamanho do marcador e remove os marcadores de recursos secundários.

Os exemplos a seguir demonstram o efeito do dimensionamento dos elementos do mapa.

Fator de escala 1x Fator de escala 2x
Mapa mostrando fator de escala 1x Mapa mostrando fator de escala 2x
highDpi
Especifica se é necessário retornar blocos de alta resolução. Se o fator de escala for aumentado, highDpi será usado para aumentar o tamanho do bloco. Normalmente, aumentar o fator de escala aumenta o bloco resultante em uma imagem do mesmo tamanho, o que diminui a qualidade. Com highDpi, o tamanho resultante também é maior, preservando a qualidade. DPI significa pontos por polegada, e DPI alto significa o bloco é renderizado usando mais pontos por polegada do que o normal. Se for true, o o número de pixels em cada uma das dimensões x e y é multiplicado pela escala, fator (ou seja , 2x ou 4x). A área de cobertura do bloco permanece inalterada. Esse parâmetro funciona apenas com valores scale de 2x ou 4x. Ele não tem efeito sobre Blocos de escala 1x.
Fator de escala 1x Fator de escala 2x DPI alto
Mapa exibido com resolução normal Mapa exibido com resolução de 2x de DPI alto
layerTypes

Uma matriz de valores que especifica os tipos de camada adicionados ao mapa. Os valores válidos são:

layerRoadmap
Obrigatório se você especificar terrain como o tipo de mapa. Também pode ser opcional sobrepostas ao tipo de mapa satellite. Não afeta os blocos de roteiro.
layerStreetview
Mostra ruas e locais compatíveis com o Street View usando contornos azuis no mapa.
layerTraffic
Exibe as condições atuais de trânsito.
styles

Uma matriz de objetos de estilo JSON que especificam a aparência e o nível de detalhes dos recursos do mapa, como vias, parques e áreas construídas. A estilização é usada para personalizar o mapa básico padrão do Google. O parâmetro styles só é válido se o tipo de mapa for roadmap. Para obter a sintaxe de estilo completa, consulte a seção Referência de estilos.

overlay

Um valor booleano que especifica se layerTypes precisa ser renderizado como uma sobreposição separada ou combinado com a imagem base. Quando true, o mapa base não será exibido. Se você não definiu nenhum layerTypes, esse valor é ignorado.

Por exemplo, solicitar um tipo de mapa satellite com uma camada layerRoadmap e overlay definido como false resulta em blocos equivalentes ao tipo de mapa hybrid usada na API Maps JavaScript (imagem à esquerda). O mesmo mapa e tipos de camada com overlay definido como true resulta em um bloco transparente com uma sobreposição de mapa, estilizada corretamente para sobreposição em imagens de satélite (imagem à direita).

overlay: falso overlay: verdadeiro
Sobreposição definida como falsa Sobreposição definida como verdadeira

O JSON a seguir é um exemplo de corpo de solicitação típico que contém campos obrigatórios e opcionais.

{
  "mapType": "satellite",
  "language": "en-US",
  "region": "us",
  "layerTypes": [ "layerRoadmap", "layerStreetview" ],
  "overlay":  true,
  "scale": "scaleFactor1x",
  "styles": [
    {
      "stylers": [
        { "hue": "#00ffe6" },
        { "saturation": -20 }
      ]
    },{
      "featureType": "road",
      "elementType": "geometry",
      "stylers": [
        { "lightness": 100 },
        { "visibility": "simplified" }
      ]
    }
  ]
}

Este exemplo fornece uma sobreposição adequada para combinar com imagens de satélite. O exemplo contém um roteiro e uma sobreposição do Street View. O mapa resultante é renderizado com nomes e dados no idioma inglês, pois é falada nos Estados Unidos.

apiOptions: uma matriz de valores que especificam outras opções a serem aplicadas. As opções compatíveis são:

  • MCYJ5E517XR2JC: ativar novo mapa style. Durante o período de ativação, suas solicitações vão receber os a menos que esse valor seja especificado.

Resposta do token de sessão

O JSON a seguir é um exemplo de corpo de resposta.

{
  "session": "IgAAAHGU9jnAU4KOAfwY3Bcd6eH_WxQsyocSBAdUnAr9pnvTTNXtF9c_27RBo94ytEXTDg",
  "expiry": "1361828036",
  "tileWidth": 256,
  "tileHeight": 256,
  "imageFormat": "png"
}

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

session
Um valor de token de sessão que você precisa incluir em todas as solicitações da API Map Tiles.
expiry
Uma string que contém o horário (em segundos desde o período) em que o token expira. Um token de sessão é válido por duas semanas a partir da criação a qualquer momento, mas ela pode ser alterada sem aviso prévio.
tileWidth
A largura dos blocos medida em pixels.
tileHeight
A altura dos blocos medida em pixels.
imageFormat
O formato da imagem, que pode ser png ou jpeg.