Descripción general de las tarjetas 2D

Ejemplo de hoja de rutaLas tarjetas de mapa son simplemente la división del mundo en una cuadrícula indexada. Te permite acceder a los datos de mapas y utilizarlos de manera eficiente y dinámica en varias escalas cartográficas. La API de Map Tiles te brinda acceso a varios geodatos temáticos, incluidos los seleccionados por Google:

  • Mosaicos de imágenes de rutas basadas en datos topográficos vectoriales con el diseño cartográfico de Google.

  • Ortofotografía capturada por cámaras satelitales y aéreas que proporcionan imágenes de la Tierra desde arriba (nadir).

  • Mapas de contornos de sombreado de colinas

Las tarjetas de mapa en 2D están georeferenciadas y alineadas entre sí. Se seleccionan según la extensión geográfica de la ventana de visualización y el nivel de zoom. Los niveles de zoom van de cero (para ver el mundo en su totalidad) a 22 (para ver calles y cuadras).

Temas de mapas

Puedes obtener mosaicos de mapas para los siguientes temas de mapas.

Tema del mapa Descripción
Hoja de ruta Rutas, edificios, lugares de interés y límites políticos
Satélite Imágenes fotográficas tomadas desde el espacio
Relieve Un mapa de contornos que muestra componentes naturales, como la vegetación

Para solicitar mosaicos de mapas desde la API de Map Tiles, primero debes solicitar un token de sesión. El token de sesión hace un seguimiento del estado actual de tu mapa y viewport. Cuando configures tu token de sesión, debes establecer el valor de mapType para que coincida con el tema del mapa que deseas. Luego, debes incluir el token de sesión en cada una de tus solicitudes a la API de Map Tiles.

Solicitudes de información de la ventana de visualización

El viewport define el tamaño del cuadro que enmarca la escena mundial. Las solicitudes de información a una ventana de visualización muestran detalles sobre las tarjetas del mapa que componen tu ventana de visualización actual. El motivo por el que solicitas información del viewport es para asegurarte de evitar solicitar imágenes en niveles de zoom que no existen.

Por ejemplo, la mayoría de las ciudades tienen imágenes en el nivel de zoom 22, pero no el océano, ya que solo mostraría cuadrados azules sin rasgos.

La solicitud de ventana de visualización es una solicitud HTTPS GET que tiene la siguiente forma.

curl "https://tile.googleapis.com/tile/v1/viewport?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&zoom=zoom&north=north&south=south&east=east&west=west"

La solicitud contiene los siguientes campos:

zoom
Es el nivel de zoom de la ventana de visualización.
north, south, east, west
Los puntos norte, sur, este y oeste más alejados de la ventana de visualización, expresados en grados. El norte y el sur deben estar dentro del rango (-90,90); el este y el oeste deben estar dentro del rango (-180, 180). Para expresar límites que crucen el antimeridiano, el oeste puede ser positivo (por ejemplo, 170) y el este puede ser negativo (por ejemplo, -170). Todos los parámetros son obligatorios.

Respuestas con información de la ventana de visualización

La respuesta del viewport te indica qué áreas tienen imágenes y en qué niveles de zoom. Una respuesta de información del viewport tiene el siguiente formato.

{
  "copyright": "Map data ©2023",
  "maxZoomRects": [
    {
      "maxZoom": 19,
      "north": 90,
      "south": -90,
      "east": 180,
      "west": -180
    },
    {
      "maxZoom": 9,
      "north": 90,
      "south": -90,
      "east": 180,
      "west": -180
    },
    {
      "maxZoom": 14,
      "north": 84.375,
      "south": -84.375,
      "east": 180,
      "west": -180
    }, ...
  ]
}

El cuerpo de la respuesta contiene los siguientes campos.

copyright
Contiene una cadena de atribución que debes mostrar en tu mapa cuando muestres mosaicos de mapas viales y satelitales. Para obtener más información, consulta las Políticas de la API de Map Tiles.
maxZoomRect
Contiene un array de rectángulos delimitadores que se superponen con la ventana de visualización actual. También contiene el nivel de zoom máximo disponible en cada rectángulo.

Funciones de las coordenadas del mosaico

Hay herramientas (funciones simples) disponibles en la mayoría de los lenguajes de programación para convertir de pares de latitud y longitud a coordenadas de mosaico en un nivel de zoom específico. Considera el siguiente ejemplo de código JavaScript que primero convierte de un latLng a un punto y, luego, de un punto a coordenadas de mosaico.

var TILE_SIZE = 256;

function fromLatLngToPoint(latLng) {
  var mercator = -Math.log(Math.tan((0.25 + latLng.lat() / 360) * Math.PI));
  return {
    x: TILE_SIZE * (latLng.lng() / 360 + 0.5),
    y: TILE_SIZE / 2 * (1 +  mercator / Math.PI)
  };
}

function fromLatLngToTileCoord(latLng, zoom) {
  var point = fromLatLngToPoint(latLng);
  var scale = Math.pow(2, zoom);

  return {
    x: Math.floor(point.x * scale / TILE_SIZE),
    y: Math.floor(point.y * scale / TILE_SIZE),
    z: zoom
  };
}