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

Desarrolladores del Espacio Económico Europeo (EEE)

Un token de sesión es un fragmento de datos (un UUID) que se usa en las llamadas a 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 mosaicos 2D y de imágenes de Street View. Lo incluyes como el valor de un parámetro session que se agrega 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 mosaico. Puedes usar el mismo token de sesión en varios clientes. Actualmente, un token de sesión es válido durante dos semanas a partir de su hora de emisión, pero esto podría cambiar. Puedes verificar la hora de vencimiento de un token de sesión consultando el campo expiry en el 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 mapa pintados estándar 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 información en los mosaicos. Por ejemplo, en-US especifica el idioma inglés tal como se habla en Estados Unidos.

region

Un identificador de región de Common Locale Data Repository (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 mostrará. Los valores válidos son jpeg o png. Los archivos JPEG no admiten transparencia, por lo que no se recomiendan para los mosaicos de superposición. Si no especificas un imageFormat, se elige automáticamente el mejor formato para el mosaico.
scale

Aumenta el tamaño de los elementos del mapa (como las etiquetas de las rutas) y, al mismo tiempo, conserva el tamaño del mosaico y el área de cobertura del mosaico predeterminado. Si aumentas la escala, también se reduce la cantidad de etiquetas en el mapa, lo que disminuye el desorden. Los siguientes valores son válidos para scale:

  • scaleFactor1x: El valor predeterminado.
  • scaleFactor2x: Duplica el tamaño de la etiqueta y quita las etiquetas de funciones secundarias.
  • scaleFactor4x: Cuadruplica el tamaño de la etiqueta y quita las etiquetas de funciones secundarias.

En los siguientes ejemplos, se muestra el efecto de ajustar la escala de los elementos del mapa.

Factor de escala 1x Factor de escala 2x
Mapa que muestra el factor de escala 1x Mapa que muestra un factor de escala de 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 del mosaico. Por lo general, si aumentas el factor de escala, el mosaico resultante se amplía a una imagen del mismo tamaño, lo que reduce la calidad. Con highDpi, también se aumenta el tamaño resultante, lo que preserva la calidad. DPI significa puntos por pulgada, y High DPI significa que el mosaico 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 x e y se multiplica por el factor de escala (es decir , 2x o 4x). El área de cobertura del mosaico no cambia. Este parámetro solo funciona con valores scale de 2x o 4x. No tiene efecto en los mosaicos de escala 1x.
Factor de escala 1x Factor de escala 2x High DPI
Mapa que se muestra en resolución normal Mapa que se muestra con una resolución de DPI alta de 2x
layerTypes

Un array de valores que especifica los tipos de capa que se agregaron al mapa. Los valores válidos son los siguientes:

layerRoadmap
Es obligatorio si especificas terrain como el tipo de mapa. También se puede superponer de forma opcional en el tipo de mapa satellite. No tiene efecto en los mosaicos de mapa de ruta.
layerStreetview
Muestra las calles y ubicaciones habilitadas para Street View con contornos azules en el mapa.
layerTraffic
Muestra las condiciones de tráfico actuales.
styles

Un array de objetos de estilo JSON que especifican la apariencia y el nivel de detalle de las funciones del mapa, como las rutas, los parques y las áreas urbanizadas. El diseño se usa 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 ver la sintaxis completa del estilo, consulta la Referencia de estilo.

overlay

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

Por ejemplo, si solicitas un tipo de mapa satellite con una capa layerRoadmap y overlay configurado como false, se obtienen mosaicos equivalentes al tipo de mapa hybrid que se usa en la API de Maps JavaScript (imagen de la izquierda). Los mismos tipos de mapa y capa con overlay configurado como true dan como resultado un mosaico transparente con una superposición de mapa, con el estilo adecuado para superponerse sobre imágenes satelitales (imagen de la derecha).

overlay: false overlay: true
Superposición establecida como falsa Superposición establecida en verdadero

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. El ejemplo contiene un mapa de ruta y una superposición de Street View. El mapa resultante se renderiza con nombres y datos en inglés, tal como se habla en Estados Unidos.

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
Una cadena que contiene la hora (en segundos desde la época) en la que vence el token. Un token de sesión es válido durante dos semanas a partir de su hora de creación, pero esta política puede cambiar sin previo aviso.
tileWidth
El ancho de los mosaicos medido en píxeles.
tileHeight
La altura de los mosaicos medida en píxeles.
imageFormat
El formato de imagen, que puede ser png o jpeg.