Usa tokens de sesión con la API de Map Tiles

Un token de sesión es un dato (un UUID) que se usa en las llamadas de REST para identificar una sesión, es decir, una serie de intercambios de mensajes relacionados. Debes incluir un token de sesión en todas las solicitudes de imágenes de Street View y mosaicos 2D. Lo incluyes como el valor de un parámetro session anexado a todas las URLs de solicitud.

En la API de Map Tiles, un token de sesión representa un conjunto definido de opciones de visualización. Esto significa que no tienes que pasar un conjunto de opciones de visualización con cada solicitud de tarjeta. Puedes usar el mismo token de sesión en varios clientes. Actualmente, un token de sesión es válido por dos semanas desde el momento de su emisión, pero esto puede cambiar. Siempre puedes verificar la hora de vencimiento de un token de sesión en el campo expiry del mensaje de respuesta.

Solicitud de token de sesión

Para solicitar un token de sesión, envía una solicitud HTTPS POST al extremo createSession, como se muestra en el siguiente ejemplo. Debes enviar la solicitud con un encabezado 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 obligatorios

mapType

tipo de mapa básico. Este valor puede ser uno de los que se detallan a continuación:

roadmap
Los mosaicos de mapas estándares pintados de Google Maps.
satellite
Imágenes satelitales.
terrain
Imágenes de terreno Cuando seleccionas terrain como el tipo de mapa, también debes incluir el tipo de capa layerRoadmap (que se describe en la sección Campos opcionales).
streetview
Panorámicas de Street View Para obtener más información, consulta Mosaicos de Street View.
language

Una etiqueta de idioma IETF que especifica el idioma que se usa para mostrar la información en las tarjetas. Por ejemplo, en-US especifica el idioma inglés como se habla en los Estados Unidos.

region

Un identificador de región del Repositorio de datos de configuración regional común (dos letras mayúsculas) que representa la ubicación física del usuario. Por ejemplo, US

Campos opcionales

imageFormat
Especifica el formato de archivo que se debe mostrar. Los valores válidos son jpeg o png. Los archivos JPEG no admiten transparencia, por lo que no se recomiendan para mosaicos superpuestos. Si no especificas un imageFormat, se elegirá automáticamente el mejor formato para la tarjeta.
scale

Aumenta la escala de los elementos del mapa (como las etiquetas de rutas), a la vez que conserva el tamaño de los mosaicos y el área de cobertura del mosaico predeterminado. El aumento de la escala también reduce la cantidad de etiquetas en el mapa, lo que disminuye el desorden. Los siguientes valores son valores de scale válidos:

  • scaleFactor1x: Es el valor predeterminado.
  • scaleFactor2x: duplica el tamaño de las etiquetas y quita las etiquetas de componentes menores.
  • scaleFactor4x: cuadruplica el tamaño de las etiquetas y quita las etiquetas de componentes menores.

En los siguientes ejemplos, se demuestra el efecto del escalamiento de los elementos del mapa.

Factor de escala 1x Factor de escala 2x
Mapa que muestra el factor de escala 1x Mapa que muestra el factor de escala 2x
highDpi
Especifica si se deben mostrar mosaicos de alta resolución. Si se aumenta el factor de escala, se usa highDpi para aumentar el tamaño de la tarjeta. Por lo general, cuando se aumenta el factor de escala, se amplía el mosaico resultante y se convierte en una imagen del mismo tamaño, lo que disminuye la calidad. Con highDpi, también se aumenta el tamaño resultante, lo que mantiene la calidad. DPI significa puntos por pulgada, y Alta DPI significa que la tarjeta se renderiza con más puntos por pulgada de lo normal. Si es true, la cantidad de píxeles en cada una de las dimensiones de "x" e "y" se multiplica por el factor de escala (es decir , 2x o 4x). El área de cobertura del mosaico no se modifica. Este parámetro solo funciona con valores scale de 2 o 4 veces. No tiene efecto en los mosaicos de escala 1x.
Factor de escala 1x Factor de escala 2x High DPI
Mapa que se muestra con una resolución normal El mapa se muestra con una resolución de 2 veces más alta de DPI
layerTypes

Es un array de valores que especifica los tipos de capas agregados al mapa. Los valores válidos son los siguientes:

layerRoadmap
Es obligatorio si especificas terrain como el tipo de mapa. De manera opcional, también se puede superponer en el tipo de mapa satellite. No tiene efecto en los mosaicos de la hoja de ruta.
layerStreetview
Muestra las calles y ubicaciones compatibles con Street View mediante contornos azules en el mapa.
layerTraffic
Muestra las condiciones actuales del tráfico.
styles

Un array de objetos de diseño JSON que especifica el aspecto y el nivel de detalle de los componentes de mapa, como rutas, parques y áreas con edificaciones. El diseño se utiliza para personalizar el mapa base estándar de Google. El parámetro styles solo es válido si el tipo de mapa es roadmap. Para conocer la sintaxis de diseño completa, consulta la Referencia de diseño.

overlay

Es un valor booleano que especifica si layerTypes debe renderizarse como una superposición independiente o combinarse con las imágenes base. Cuando el valor es true, no se muestra el mapa base. Si no definiste ningún layerTypes, se ignorará este valor.

Por ejemplo, si solicitas un tipo de mapa satellite con una capa layerRoadmap, y el valor de overlay establecido en false se generan mosaicos equivalentes al tipo de mapa hybrid que se usa en la API de Maps JavaScript (imagen izquierda). Los mismos tipos de mapas y capas con la overlay establecida en true generan un mosaico transparente con una superposición de mapa, diseñada de forma adecuada para superponerse sobre imágenes satelitales (imagen derecha).

overlay: falso overlay: verdadero
Se estableció la superposición como falsa Se estableció la superposición como verdadera

El siguiente JSON es un ejemplo de un cuerpo de solicitud típico que contiene campos obligatorios y opcionales.

{
  "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" }
      ]
    }
  ]
}

En este ejemplo, se proporciona una superposición adecuada para combinar con imágenes satelitales. En el ejemplo, se incluye una superposición de un mapa de ruta y una de Street View. El mapa resultante se renderiza con nombres y datos en inglés, como se habla en Estados Unidos.

apiOptions: Es un array de valores que especifica las opciones adicionales que se aplicarán. Las opciones compatibles son las siguientes:

  • MCYJ5E517XR2JC: Habilita el nuevo diseño de mapa. Durante el período de aceptación, tus solicitudes obtendrán el diseño existente, a menos que se especifique este valor.

Respuesta de token de sesión

El siguiente JSON es un ejemplo de cuerpo de respuesta.

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

La siguiente lista contiene definiciones de los campos del cuerpo de la respuesta.

session
Un valor de token de sesión que debes incluir en todas tus solicitudes a la API de Map Tiles.
expiry
Es una cadena que contiene la hora (en segundos desde el ciclo de entrenamiento) en la que vence el token. Un token de sesión es válido por dos semanas desde su fecha de creación, pero esta política puede cambiar sin aviso previo.
tileWidth
Es el ancho de los mosaicos medido en píxeles.
tileHeight
La altura de los mosaicos medida en píxeles
imageFormat
Es el formato de imagen, que puede ser png o jpeg.