TileOverlay

La clase final pública TileOverlay extiende Object

Una superposición de mosaicos es un conjunto de imágenes que se muestran sobre los mosaicos del Mapa base. Estos mosaicos pueden ser transparentes, lo que te permite agregar elementos a mapas existentes. Una superposición de mosaicos tiene las siguientes propiedades:

Proveedor de mosaicos
El elemento TileProvider proporciona las imágenes que se usan en la superposición de mosaicos. Debes especificar el proveedor de mosaicos antes de agregarlo al mapa. No se puede cambiar el proveedor de mosaicos una vez agregado. Sin embargo, puedes modificar su comportamiento para que muestre diferentes imágenes con coordenadas específicas. Si cambian los mosaicos proporcionados por el proveedor de mosaicos, debes llamar a clearTileCache() posteriormente para asegurarte de que dejen de renderizarse los mosaicos anteriores.
Índice Z
Es el orden en el que se dibuja esta superposición de mosaicos con respecto a otras superposiciones (incluidos los objetos GroundOverlay, Circle, Polyline y Polygon, pero no los Marker). Una superposición con un índice z más grande se dibuja sobre aquellas con índices z más pequeños. Para las superposiciones con el mismo índice Z, el orden es arbitrario. El valor predeterminado del zIndex es 0.
Transparencia
Transparencia de la superposición de mosaicos en el rango [0..1], donde 0 significa que la superposición es opaca y 1 significa que es completamente transparente. Si el mapa de bits especificado ya es parcialmente transparente, la transparencia de cada píxel se ajustará en consecuencia (por ejemplo, si un píxel del mapa de bits tiene un valor alfa de 200 y especificas la transparencia de la superposición de mosaicos en 0.25, el píxel se renderizará en la pantalla con un valor alfa de 150). La especificación de esta propiedad es opcional y la transparencia predeterminada es 0 (opaco).
Visibilidad
Indica si la superposición de mosaicos es visible o invisible, es decir, si se dibujó en el mapa. Las superposiciones de mosaicos invisibles no se dibujan, pero conservan todas las demás propiedades. El valor predeterminado es true, es decir, visible.

Solo debes llamar a los métodos de esta clase en el subproceso principal. De lo contrario, se generará un IllegalStateException.

Coordenadas de mosaicos

Ten en cuenta que el mundo se proyecta con la proyección de Mercator (consulta Wikipedia) con el lado izquierdo (oeste) del mapa, que corresponde a -180 grados de longitud, y el lado derecho (este) del mapa, que corresponde a 180 grados de longitud. Para que el mapa sea cuadrado, el lado superior (norte) corresponde a 85.0511 grados de latitud y el lado inferior (sur) corresponde a -85.0511 grados de latitud. Las áreas fuera de este rango de latitud no se procesan.

En cada nivel de zoom, el mapa se divide en mosaicos y solo se descargan y procesan los mosaicos que se superponen con la pantalla. Cada mosaico es cuadrado y el mapa se divide en mosaicos de la siguiente manera:

  • En el nivel de zoom 0, un mosaico representa el mundo entero. Las coordenadas de ese mosaico son (x, y) = (0, 0).
  • En el nivel de zoom 1, el mundo se divide en 4 mosaicos ordenados en una cuadrícula de 2 x 2.
  • ...
  • En el nivel de zoom N, el mundo se divide en 4N mosaicos organizados en una cuadrícula de 2N x 2N.
Ten en cuenta que el nivel de zoom mínimo que admite la cámara (lo que puede depender de varios factores) es GoogleMap.getMinZoomLevel y el nivel de zoom máximo es GoogleMap.getMaxZoomLevel.

Las coordenadas de los mosaicos se miden desde la esquina superior izquierda (noroeste) del mapa. En el nivel de zoom N, los valores de x de las coordenadas del mosaico varían de 0 a 2N-1 y aumentan de oeste a este, y los valores de y varían de 0 a 2N-1 y aumentan de norte a sur.

Ejemplo

GoogleMap map; // ... get a map.
 TileProvider tileProvider; // ... create a tile provider.
 TileOverlay tileOverlay = map.addTileOverlay(
     new TileOverlayOptions().tileProvider(tileProvider));
 

Resumen de métodos públicos

void
clearTileCache()
Borra la caché de tarjetas, de modo que se vuelvan a solicitar todos los mosaicos desde TileProvider.
boolean
es igual a(Otro objeto)
Comprueba si este TileOverlay es igual a otro.
boolean
getFadeIn()
Obtiene si se debe aplicar fundido de entrada a los mosaicos de superposiciones.
Cadena
getId()
Obtiene el ID de esta superposición de mosaicos.
float
getTransparency()
Obtiene la transparencia de esta superposición de mosaicos.
float
getZIndex()
Obtiene el zIndex de esta superposición de mosaicos.
int
boolean
isVisible()
Obtiene la visibilidad de esta superposición de mosaicos.
void
remove()
Elimina esta superposición de mosaicos del mapa.
void
setFadeIn(fadeIn booleano)
Establece si se debe aplicar fundido de entrada a los mosaicos de superposiciones.
void
setTransparency(transparencia de número de punto flotante)
Define la transparencia de esta superposición de mosaicos.
void
setVisible(booleano visible)
Establece la visibilidad de esta superposición de mosaicos.
void
setZIndex(zIndex flotante)
Establece el zIndex de esta superposición de mosaicos.

Resumen de métodos heredados

Métodos públicos

público público clearTileCache ()

Borra la caché de tarjetas, de modo que se vuelvan a solicitar todos los mosaicos desde TileProvider. Los mosaicos actuales de esta superposición de mosaicos también se borrarán del mapa después de llamar a este método. La API mantiene una pequeña caché de tarjetas en la memoria. Si quieres almacenar en caché los mosaicos durante más tiempo, debes implementar una memoria caché en el disco.

público booleano es igual a (otro objeto)

Comprueba si este TileOverlay es igual a otro.

Parámetros
otro un objeto Object.
Devuelve
  • true si ambos objetos son el mismo objeto, es decir, este == otro.

público booleano getFadeIn ()

Obtiene si se debe aplicar fundido de entrada a los mosaicos de superposiciones.

Devuelve
  • true si se debe aplicar fundido de entrada a los mosaicos y false si no lo hacen.

String pública getId ()

Obtiene el ID de esta superposición de mosaicos.

público flotante getTransparency ()

Obtiene la transparencia de esta superposición de mosaicos.

Devuelve
  • la transparencia de esta superposición de mosaicos.

public float getZIndex ()

Obtiene el zIndex de esta superposición de mosaicos.

Devuelve
  • el zIndex de la superposición de mosaicos.

public int hashCode ()

público booleano isVisible ()

Obtiene la visibilidad de esta superposición de mosaicos. Ten en cuenta que esto no indica si la superposición de mosaicos se encuentra realmente dentro del viewport de la pantalla, sino si se dibujará si está contenida en ese viewport.

Devuelve
  • la visibilidad de esta superposición de mosaicos.

public void remove ()

Elimina esta superposición de mosaicos del mapa.

público público setFadeIn (boolean fadeIn)

Establece si se debe aplicar fundido de entrada a los mosaicos de superposiciones.

Parámetros
fadeIn true para aplicar fundido de entrada a los mosaicos; false para renderizarlos al instante.

público void setTransparency (transparencia de número de punto flotante)

Define la transparencia de esta superposición de mosaicos. Consulta la documentación en la parte superior de esta clase para obtener más información.

Parámetros
transparencia un número de punto flotante en el rango [0..1], donde 0 significa que la superposición de mosaicos es opaca y 1 significa que la superposición de mosaicos es transparente.

público público setVisible (boolean visible)

Establece la visibilidad de esta superposición de mosaicos. Cuando no es visible, no se dibuja una superposición de mosaicos, pero conserva todas las demás propiedades. Las superposiciones de mosaicos son visibles de forma predeterminada.

Parámetros
visible true para que esta superposición sea visible; false para hacerla invisible.

público público setZIndex (float zIndex)

Establece el zIndex de esta superposición de mosaicos. Consulta la documentación en la parte superior de esta clase para obtener más información.

Parámetros
zIndex el zIndex de esta superposición de mosaicos.