Una superposición de mosaicos es un conjunto de imágenes que se muestran sobre los mosaicos de mapas básicos. 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
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. El proveedor de mosaicos no se puede cambiar una vez que se agregó. Sin embargo, puedes modificar el comportamiento del proveedor de mosaicos para que muestre diferentes imágenes de coordenadas específicas. Si cambian los mosaicos proporcionados por el proveedor de mosaicos, debes llamar aclearTileCache()
después para asegurarte de que ya no se rendericen los mosaicos anteriores.- Índice Z
- Es el orden en el que se dibuja esta superposición con respecto a otras superposiciones (incluidas
GroundOverlay
,Circle
,Polyline
yPolygon
, pero noMarker
). Una superposición con un índice z más grande se dibuja sobre las superposiciones con índices z más pequeños. Para las superposiciones con el mismo índice Z, el orden es arbitrario. El valor predeterminado de zIndex es 0. - Transparencia
- La transparencia de la superposición de mosaicos en el rango
[0..1]
, donde0
significa que la superposición es opaca y1
significa que es completamente transparente. Si el mapa de bits especificado ya es parcialmente transparente, se ajustará la transparencia de cada píxel según corresponda (por ejemplo, si un píxel del mapa de bits tiene un valor alfa de 200 y se especifica la transparencia de la superposición de mosaicos como 0.25), se procesará el píxel 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 dibuja 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 mediante la proyección de Mercator (consulta Wikipedia) con el lado izquierdo (oeste) del mapa correspondiente a -180 grados de longitud y el lado derecho (este) del mapa correspondiente a 180 grados de longitud. Para que el mapa sea cuadrado, el lado superior (norte) del mapa corresponde a 85.0511 grados de latitud y el lado inferior (sur) del mapa corresponde a -85.0511 grados de latitud. Las áreas fuera de este rango de latitud no se representan.
En cada nivel de zoom, el mapa se divide en mosaicos y solo se descargan y procesan los mosaicos que se superponen en 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 cuatro mosaicos dispuestos en una cuadrícula de 2 x 2.
- …
- En el nivel de zoom N, el mundo se divide en 4 mosaicos de N dispuestos en una cuadrícula de 2N x 2N.
GoogleMap.getMinZoomLevel
y el nivel 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 x
de las coordenadas del mosaico van de 0 a 2N - 1 y aumentan de oeste a este, y los valores 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 mosaicos para que se vuelvan a solicitar todos los mosaicos desde
TileProvider . |
boolean |
equals(Objeto otro)
Comprueba si este
TileOverlay es igual a otro. |
boolean |
getFadeIn()
Obtiene si los mosaicos de superposición deben atenuarse.
|
String |
getId()
Obtiene este ID de superposición de mosaicos.
|
flotante |
getTransparency()
Obtiene la transparencia de esta superposición de mosaicos.
|
flotante |
getZIndex()
Obtiene el zIndex de esta superposición de mosaicos.
|
int |
hashCode()
|
boolean |
esVisible()
Obtiene la visibilidad de esta superposición de mosaicos.
|
void |
remove()
Elimina la superposición de mosaicos del mapa.
|
void |
setFadeIn(boolean fadeIn)
Establece si los mosaicos de superposición deben aparecer en forma gradual.
|
void |
setTransparency(transparencia flotante)
Establece 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
vacío público clearTileCache ()
Borra la caché de mosaicos para 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 mosaicos en la memoria. Si deseas almacenar los mosaicos en caché por más tiempo, debes implementar una caché en el disco.
Booleano público es igual a (Otro objeto)
Comprueba si este TileOverlay
es igual a otro.
Parámetros
otro | un Object |
---|
Resultado que se muestra
- true si ambos objetos son el mismo objeto, es decir, esto == otro.
Booleano público getFadeIn ()
Obtiene si los mosaicos de superposición deben atenuarse.
Resultado que se muestra
true
si los mosaicos aparecen atenuados;false
si no lo son.
public String getId ()
Obtiene este ID de superposición de mosaicos.
public float getTransparency ()
Obtiene la transparencia de esta superposición de mosaicos.
Resultado que se muestra
- la transparencia de esta superposición de mosaicos.
flotante público getZIndex ()
Obtiene el zIndex de esta superposición de mosaicos.
Resultado que se muestra
- el zIndex de la superposición de mosaicos.
public int hashCode ()
Booleano público isVisible ()
Obtiene la visibilidad de esta superposición de mosaicos. Ten en cuenta que esto no muestra si la superposición de mosaicos se encuentra dentro de la vista del puerto de la pantalla, sino si se dibujará si está dentro del viewport de la pantalla.
Resultado que se muestra
- esta superposición de mosaicos.
vacío público quitar ()
Elimina la superposición de mosaicos del mapa.
vacío público setFadeIn (boolean fadeIn)
Establece si los mosaicos de superposición deben aparecer en forma gradual.
Parámetros
fundido de entrada | true para que los mosaicos aparezcan atenuados; false para renderizarlos al instante
|
---|
vacío público setTransparency (transparencia flotante)
Establece 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 opaco y 1 , que es transparente.
|
---|
vacío público setVisible (booleano visible)
Establece la visibilidad de esta superposición de mosaicos. Cuando no es visible, no se dibuja una superposición de mosaicos, pero se conservan todas las demás propiedades. Las superposiciones de mosaicos están visibles de forma predeterminada.
Parámetros
visible | true para hacer visible esta superposición; false para hacerla invisible.
|
---|
public void 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
Índice Z | el zIndex de esta superposición de mosaicos. |
---|