Descripción general de las tarjetas 2D

Ejemplo de hoja de rutaMap Tiles no es más que la división del mundo en una cuadrícula indexada. Te permite acceder a datos del mapa y usarlos de manera eficiente y dinámica en varias escalas cartográficas. La API de Map Tiles te brinda acceso a varios conjuntos de datos geográficos temáticos, incluidos los seleccionados por Google:

  • Mosaicos de imágenes de la hoja de ruta basados 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 cenitales de la Tierra (nadir).

  • Mapas de contorno de sombras.

Todos los mosaicos de mapas en 2D tienen referencias geográficas y están alineados entre sí. Se seleccionan según la extensión geográfica del viewport y el nivel de zoom. Los niveles de zoom varían de cero (para ver el mundo en su totalidad) a 22 (para ver calles y bloques).

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 Mapa de contornos que muestra accidentes naturales, como vegetación

Para solicitar mosaicos de mapas de la API de Map Tiles API, 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 configuras tu token de sesión, debes establecer el valor 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 a una vista del puerto

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

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

La solicitud de viewport es una solicitud GET de HTTPS en 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 del viewport.
north, south, east y west
Son los puntos más alejados al norte, sur, este y oeste del viewport, expresados en grados. Los puntos norte y sur deben encontrarse en el rango de -90 a 90, mientras que el este y el oeste deben estar en el rango de -180 a 180. Para expresar límites que cruzan 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 de información de viewport

La respuesta de viewport te indica qué áreas tienen imágenes y con qué niveles de zoom. Una respuesta de información de viewport tiene la siguiente forma.

{
  "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 muestras la hoja de ruta y los mosaicos 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 el viewport actual. También contiene el nivel de zoom máximo disponible en cada rectángulo.

Funciones de las coordenadas de los mosaicos

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

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
  };
}