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, chameclearTileCache()
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
GroundOverlay
s,Circle
s,Polyline
s ePolygon
s, mas nãoMarker
s). 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 que0
significa que a sobreposição é opaca e1
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.
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 |
hashCode()
|
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. |
---|