Uma sobreposição de blocos é um conjunto de imagens exibidas sobre os blocos do mapa básico. Esses blocos podem ser transparentes, permitindo que você adicione recursos a mapas existentes. Uma sobreposição de blocos tem a propriedades a seguir:
- Fornecedor de blocos
- O
TileProvider
fornece as imagens usadas na sobreposição de blocos. Você deve especificar o provedor de bloco antes de adicioná-lo ao mapa. O provedor de blocos não pode ser alterado depois de adicionado; No entanto, é possível modificar o comportamento do provedor de blocos para retornar imagens diferentes para coordenadas específicas. Se os blocos fornecidos pelo bloco mudança de provedor, chameclearTileCache()
depois para garantir que o blocos anteriores não são mais renderizados. - Z-index
- A ordem em que essa 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 sobreposições com valores menores índices z. 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 o "Sobreposição" é opaca e1
significa que ela é totalmente transparente. Se o valor especificado o bitmap já é parcialmente transparente, a transparência de cada pixel será dimensionada de acordo (por exemplo, se um pixel no bitmap tiver um valor alfa de 200 e você especificar a transparência da sobreposição do bloco como 0,25, então o pixel será renderizado na tela com um valor alfa de 150). A especificação desta propriedade é opcional, e o a transparência padrão é 0 (opaca). - Visibilidade
- Indica se a sobreposição de blocos está visível ou invisível, ou seja, se foi desenhada na
mapa. Uma sobreposição de blocos invisível não é desenhada, mas mantém todas as outras propriedades. A
o padrão é
true
, ou seja, visível.
Você só pode chamar métodos nesta classe na linha de execução principal. Se isso não for feito,
um IllegalStateException
.
Coordenadas de bloco
O mundo é projetado usando a projeção de Mercator (consulte a Wikipédia) com o lado esquerdo (oeste). do mapa correspondente a -180 graus de longitude e ao lado direito (leste) do mapa correspondentes a 180 graus de longitude. Para tornar o mapa quadrado, o lado superior (norte) do mapa corresponde a 85,0511 graus de latitude e o lado inferior (sul) do mapa corresponde a a -85,0511 graus de latitude. Áreas fora desse intervalo de latitude não são renderizadas.
Em cada nível de zoom, o mapa é dividido em blocos, e apenas os blocos que se sobrepõem à tela que 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 4 blocos, organizados em uma grade 2 x 2.
- …
- No nível de zoom em N, o mundo é dividido em 4N blocos organizados em uma camada 2N grade x 2N.
GoogleMap.getMinZoomLevel
e
o nível de zoom máximo é GoogleMap.getMaxZoomLevel
.
As coordenadas dos blocos são medidas a partir do canto superior esquerdo (noroeste) do mapa. Em
nível de zoom N, os valores de x
das coordenadas do bloco variam de 0 a 2. N - 1.
aumento 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 pelo
TileProvider . |
booleano |
equals(objeto "outro")
Testa se este
TileOverlay é igual a outro. |
booleano |
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()
Retorna o zIndex da sobreposição de blocos.
|
int |
hashCode()
|
booleano |
isVisible()
Recebe a visibilidade desta sobreposição de blocos.
|
void |
remove()
Remove essa sobreposição de blocos do mapa.
|
void |
setFadeIn(boolean fadeIn)
Define se os blocos de sobreposição devem aparecer gradualmente.
|
void |
setTransparency(transparência flutuante)
Define a transparência da sobreposição de blocos.
|
void |
setVisible(boolean visible)
Define a visibilidade da sobreposição de blocos.
|
void |
setZIndex(zIndex flutuante)
Define o zIndex da sobreposição de blocos.
|
Resumo do método herdado
Métodos públicos
públicas anular clearTileCache ()
Limpa o cache de blocos para que todos os blocos sejam solicitados novamente pelo TileProvider
.
Os blocos atuais desta sobreposição de blocos também serão apagados do mapa após chamar este
. A API mantém um pequeno cache de blocos na memória. Se você quiser armazenar blocos em cache para
mais longo, implemente um cache em disco.
públicas booleano é igual a (outro objeto)
Testa se este TileOverlay
é igual a outro.
Parâmetros
outro | um Object . |
---|
Retorna
- verdadeiro se ambos os objetos forem o mesmo, ou seja, este == outro.
públicas booleano getFadeIn ()
Descobre se os blocos de sobreposição devem aparecer gradualmente.
Retorna
true
se os blocos forem mostrados gradualmente;false
, se não estiverem.
públicas Corda getId ()
Recebe o ID dessa sobreposição de blocos.
públicas flutuar getTransparency ()
Recebe a transparência desta sobreposição de blocos.
Retorna
- a transparência da sobreposição dos blocos.
públicas flutuar getZIndex ()
Retorna o zIndex da sobreposição de blocos.
Retorna
- o zIndex da sobreposição de blocos.
públicas int. hashCode ()
públicas booleano isVisible ()
Recebe a visibilidade desta sobreposição de blocos. Observe que isso não retorna se o bloco está na janela de visualização da tela, mas se ela será desenhada se for na janela de visualização da tela.
Retorna
- a visibilidade dessa sobreposição de blocos.
públicas anular remover ()
Remove essa sobreposição de blocos do mapa.
públicas anular setFadeIn (fadeIn booleano)
Define se os blocos de sobreposição devem aparecer gradualmente.
Parâmetros
fadeIn | true para fazer os blocos aparecerem gradualmente. false para renderizá-las instantaneamente.
|
---|
públicas anular setTransparency (transparência flutuante)
Define a transparência da sobreposição de blocos. Consulte a documentação no topo desta classe para mais informações.
Parâmetros
transparência | um ponto flutuante no intervalo [0..1] , em que 0 significa que o bloco
sobreposição é opaca e 1 significa que a sobreposição de blocos é transparente.
|
---|
públicas anular setVisible (booleano visível)
Define a visibilidade da 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 são visíveis por padrão.
Parâmetros
visível | true para tornar esta sobreposição visível; false para ficar invisível.
|
---|
públicas anular setZIndex (zIndex flutuante)
Define o zIndex da sobreposição de blocos. Consulte a documentação na parte superior desta classe para mais informações imprecisas ou inadequadas.
Parâmetros
zIndex | o zIndex dessa sobreposição de blocos. |
---|