TileOverlay

classe final pública TileOverlay estende o Object

Uma sobreposição de blocos é um conjunto de imagens exibidas sobre os blocos do mapa básico. Esses blocos podem ser transparentes, permitindo adicionar recursos a mapas já existentes. Uma sobreposição de blocos tem as seguintes propriedades:

Fornecedor de blocos
O TileProvider fornece as imagens usadas na sobreposição de blocos. Antes de adicionar o provedor de blocos ao mapa, especifique o provedor de blocos. O provedor de blocos não pode ser modificado depois de ser adicionado. No entanto, você pode modificar o comportamento do provedor de blocos para retornar imagens diferentes para coordenadas específicas. Se os blocos fornecidos pelo provedor de blocos mudarem, chame clearTileCache() depois para garantir que os blocos anteriores não sejam mais renderizados.
Z-index
É a ordem em que a sobreposição de blocos é desenhada em relação a outras sobreposições (incluindo GroundOverlays, Circles, Polylines e Polygons, mas não Markers). Uma sobreposição com um Z-index maior é desenhada sobre aquelas com Z-index menores. A ordem das sobreposições que têm o mesmo índice z é aleatória. O zIndex padrão é 0.
Transparência
Transparência da sobreposição de blocos no intervalo [0..1], em que 0 significa que a sobreposição é opaca e 1 significa que a sobreposição é totalmente transparente. Se o bitmap especificado já estiver parcialmente transparente, a transparência de cada pixel será dimensionada corretamente.Por exemplo, se um pixel no bitmap tiver um valor Alfa de 200 e você especificar a transparência da sobreposição de blocos como 0,25, o pixel vai ser renderizado na tela com um valor Alfa de 150. A especificação dessa propriedade é opcional e a transparência padrão é 0 (opaca).
Visibilidade
Indica se a sobreposição de blocos é visível ou invisível, ou seja, se é desenhada no mapa. Uma sobreposição de blocos invisível não é desenhada, mas mantém todas as outras propriedades. O padrão é true, ou seja, visível.

Só é possível chamar métodos nessa classe na linha de execução principal. Se isso não for feito, o resultado será IllegalStateException.

Coordenadas de bloco

O mundo é projetado com a projeção de Mercator (consulte a Wikipédia), em que o lado esquerdo (oeste) do mapa corresponde a -180 graus de longitude e o lado direito (leste) corresponde a 180 graus de longitude. Para que o mapa seja quadrado, a parte superior (norte) dele corresponde a 85.0511 graus de latitude e a parte inferior (sul) corresponde a -85.0511 graus de latitude. Áreas fora desse intervalo de latitude não são renderizadas.

A cada nível de zoom, o mapa é dividido em blocos, e apenas os blocos que se sobrepõem à tela são transferidos por download e renderizados. Cada bloco é quadrado e o mapa é dividido em blocos da seguinte maneira:

  • No nível de zoom 0, um bloco representa o mundo inteiro. As coordenadas desse bloco são (x, y) = (0, 0).
  • No nível de zoom 1, o mundo é dividido em quatro blocos organizados em uma grade de 2 x 2.
  • ...
  • No nível de zoom em N, o mundo é dividido em 4N blocos organizados em uma grade de 2N x 2N.
O nível de zoom mínimo aceito pela câmera (que pode depender de vários fatores) é de GoogleMap.getMinZoomLevel, e o máximo é GoogleMap.getMaxZoomLevel.

As coordenadas dos blocos são medidas a partir do canto superior esquerdo (noroeste) do mapa. No nível de zoom N, os valores de x das coordenadas do bloco variam de 0 a 2N - 1 e aumentam de oeste para leste, e os valores de y variam de 0 a 2N - 1 e aumentam de norte para sul.

Exemplo

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

Resumo do método público

void
clearTileCache()
Limpa o cache de blocos para que todos os blocos sejam solicitados novamente do TileProvider.
boolean
igual a(objeto "outro")
Testa se esse TileOverlay é igual a outro.
boolean
getFadeIn()
Descobre se os blocos de sobreposição devem aparecer gradualmente.
String
getId()
Recebe o ID dessa sobreposição de blocos.
float
getTransparency()
Recebe a transparência desta sobreposição de blocos.
float
getZIndex()
Recebe o zIndex dessa sobreposição de blocos.
int
boolean
isVisible()
Recebe a visibilidade desta sobreposição de blocos.
void
remove()
Remove esta sobreposição de blocos do mapa.
void
setFadeIn(fadeIn booleano)
Define se os blocos de sobreposição devem aparecer gradualmente.
void
setTransparency(transparência flutuante)
Define a transparência dessa sobreposição de blocos.
void
setVisible(booleano visível)
Define a visibilidade desta sobreposição de blocos.
void
setZIndex(zIndex flutuante)
Define o zIndex dessa sobreposição de blocos.

Resumo do método herdado

Métodos públicos

public void clearTileCache ()

Limpa o cache de blocos para que todos os blocos sejam solicitados novamente do TileProvider. Os blocos atuais dessa sobreposição de blocos também serão removidos do mapa depois que o método for chamado. A API mantém um pequeno cache de blocos na memória. Se você quiser armazenar os blocos em cache por mais tempo, implemente um cache no disco.

public booleano é igual a (Outro objeto)

Testa se esse TileOverlay é igual a outro.

Parâmetros
Outras um Object.
Retorna
  • true se os dois objetos forem o mesmo, ou seja, == other.

public booleano getFadeIn ()

Descobre se os blocos de sobreposição devem aparecer gradualmente.

Retorna
  • true se os blocos aparecerem gradualmente; false se não forem.

public String getId ()

Recebe o ID dessa sobreposição de blocos.

public float getTransparency ()

Recebe a transparência desta sobreposição de blocos.

Retorna
  • a transparência dessa sobreposição de blocos.

public float getZIndex ()

Recebe o zIndex dessa sobreposição de blocos.

Retorna
  • o zIndex da sobreposição de blocos.

public int hashCode ()

public boolean isVisible ()

Recebe a visibilidade desta sobreposição de blocos. Esse método não indica se a sobreposição de blocos está realmente dentro da janela de visualização da tela, mas se ela será desenhada se estiver contida na janela de visualização da tela.

Retorna
  • a visibilidade desta sobreposição de blocos.

public void remover ()

Remove esta sobreposição de blocos do mapa.

public void setFadeIn (boolean fadeIn)

Define se os blocos de sobreposição devem aparecer gradualmente.

Parâmetros
fadeIn true para fazer os blocos aparecerem gradualmente; false para renderizá-los instantaneamente.

public void setTransparency (transparência flutuante)

Define a transparência dessa sobreposição de blocos. Consulte a documentação na parte superior desta classe para mais informações.

Parâmetros
transparência um ponto flutuante no intervalo [0..1], em que 0 significa que a sobreposição de blocos é opaca e 1 significa que ela é transparente.

public void setVisible (boolean visible)

Define a visibilidade desta sobreposição de blocos. Quando não está visível, uma sobreposição de blocos não é desenhada, mas mantém todas as outras propriedades. As sobreposições de blocos ficam visíveis por padrão.

Parâmetros
visível true para tornar a sobreposição visível; false para torná-la invisível.

public void setZIndex (float zIndex)

Define o zIndex dessa sobreposição de blocos. Consulte a documentação na parte superior desta classe para mais informações.

Parâmetros
zIndex o zIndex desta sobreposição de blocos.