Un overlay riquadro è un insieme di immagini visualizzate sopra i riquadri della mappa base. Questi riquadri possono essere trasparenti e ti permettono di aggiungere elementi alle mappe esistenti. Un overlay riquadro ha le seguenti proprietà:
- Fornitore di riquadri
TileProvider
fornisce le immagini utilizzate nell'overlay del riquadro. Devi specificare il fornitore di riquadri prima che venga aggiunto alla mappa. Il fornitore di riquadri non può essere modificato una volta aggiunto; tuttavia, puoi modificare il comportamento del fornitore di riquadri in modo che restituisca immagini diverse per coordinate specifiche. Se i riquadri forniti dal fornitore dei riquadri cambiano, devi chiamareclearTileCache()
successivamente per assicurarti che i riquadri precedenti non vengano più visualizzati.- Z-index
- L'ordine in cui l'overlay riquadro viene disegnato rispetto ad altri overlay (inclusi
GroundOverlay
,Circle
,Polyline
ePolygon
ma nonMarker
). Un overlay con uno z-index più grande viene disegnato sopra gli overlay con indici z più piccoli. L'ordine delle sovrapposizioni con lo stesso z-index è arbitrario. Il valore predefinito di zIndex è 0. - Trasparenza
- Trasparenza dell'overlay del riquadro nell'intervallo
[0..1]
, dove0
indica che l'overlay è opaco e1
indica che l'overlay è completamente trasparente. Se la bitmap specificata è già parzialmente trasparente, la trasparenza di ciascun pixel verrà scalata di conseguenza (ad esempio, se un pixel nella bitmap ha un valore alfa di 200 e specifichi la trasparenza dell'overlay del riquadro come 0,25, il pixel verrà visualizzato sullo schermo con un valore alfa di 150). La specifica di questa proprietà è facoltativa e la trasparenza predefinita è 0 (opaca). - Visibilità
- Indica se l'overlay del riquadro è visibile o invisibile, ovvero se è disegnato sulla mappa. Un overlay riquadro invisibile non viene tracciato, ma mantiene tutte le altre proprietà. Il valore predefinito è
true
, ovvero visibile.
Devi chiamare i metodi in questa classe solo nel thread principale. In caso contrario, verrà visualizzato un IllegalStateException
.
Coordinate dei riquadri
Si noti che il mondo viene proiettato utilizzando la proiezione di Mercatore (vedi Wikipedia) con il lato sinistro (ovest) della mappa corrispondente a -180 gradi di longitudine e il lato destro (est) della mappa corrispondenti a 180 gradi di longitudine. Per rendere la mappa quadrata, il lato superiore (nord) della mappa corrisponde a 85,0511 gradi di latitudine, mentre il lato inferiore (sud) corrisponde a -85,0511 gradi di latitudine. Le aree al di fuori di questo intervallo di latitudine non vengono visualizzate.
A ogni livello di zoom, la mappa viene divisa in riquadri e vengono scaricati e visualizzati solo i riquadri che si sovrappongono allo schermo. Ogni riquadro è quadrato e la mappa è divisa in riquadri come segue:
- A livello di zoom 0, un riquadro rappresenta il mondo intero. Le coordinate di quel riquadro sono (x, y) = (0, 0).
- Al livello di zoom 1, il mondo è diviso in 4 riquadri disposti in una griglia 2 x 2.
- ...
- A livello di zoom N, il mondo è diviso in 4N riquadri disposti in una griglia 2N x 2N.
GoogleMap.getMinZoomLevel
e il livello massimo di zoom è GoogleMap.getMaxZoomLevel
.
Le coordinate dei riquadri sono misurate dall'angolo in alto a sinistra (nord-ovest) della mappa. A
livello di zoom N, i valori x
delle coordinate dei riquadri sono compresi tra 0 e 2N - 1 e
aumentano da ovest a est, mentre i valori di y
vanno da 0 a 2N - 1 e
aumentano da nord a sud.
Esempio
GoogleMap map; // ... get a map.
TileProvider tileProvider; // ... create a tile provider.
TileOverlay tileOverlay = map.addTileOverlay(
new TileOverlayOptions().tileProvider(tileProvider));
Riepilogo del metodo pubblico
void |
clearTileCache()
Cancella la cache dei riquadri in modo che tutti i riquadri vengano richiesti nuovamente da
TileProvider . |
boolean |
uguale a(oggetto altro)
Verifica se questo
TileOverlay è uguale a un altro. |
boolean |
getFadeIn()
Riconosce se i riquadri overlay devono apparire con dissolvenza in entrata.
|
Stringa |
getId()
Ottieni l'ID di questo overlay riquadro.
|
float |
getTransparency()
Ottieni la trasparenza dell'overlay di questo riquadro.
|
float |
getZIndex()
Restituisce lo zIndex di questo overlay del riquadro.
|
int |
hashCode()
|
boolean |
isVisible()
Restituisce la visibilità dell'overlay di questo riquadro.
|
void |
remove()
Rimuove l'overlay di questo riquadro dalla mappa.
|
void |
setFadeIn(dissolvenza booleana)
Consente di impostare se i riquadri di overlay devono apparire con dissolvenza in entrata.
|
void |
setTransparency(trasparenza mobile)
Imposta la trasparenza dell'overlay di questo riquadro.
|
void |
setVisible(boolean visibile)
Imposta la visibilità dell'overlay di questo riquadro.
|
void |
setZIndex(zIndex in virgola mobile)
Imposta il valore zIndex per l'overlay di questo riquadro.
|
Riepilogo del metodo ereditato
Metodi pubblici
Public void clearTileCache ()
Cancella la cache dei riquadri in modo che tutti i riquadri vengano richiesti nuovamente da TileProvider
.
Anche i riquadri correnti di questo overlay di riquadri verranno cancellati dalla mappa dopo aver richiamato questo metodo. L'API gestisce una piccola cache in memoria di riquadri. Se vuoi memorizzare i riquadri nella cache più a lungo, devi implementare una cache su disco.
Public booleano uguale a (Object other)
Verifica se questo TileOverlay
è uguale a un altro.
Parametri
altro | un Object . |
---|
Ritorni
- true se entrambi gli oggetti sono lo stesso oggetto, ovvero questo == other.
pubblico booleano getFadeIn ()
Riconosce se i riquadri overlay devono apparire con dissolvenza in entrata.
Ritorni
true
se i riquadri devono dissolversi in entrata;false
in caso contrario.
Stringa pubblica getId ()
Ottieni l'ID di questo overlay riquadro.
float pubblico getTransparency ()
Ottieni la trasparenza dell'overlay di questo riquadro.
Ritorni
- la trasparenza dell'overlay di questo riquadro.
numero in virgola mobile getZIndex ()
Restituisce lo zIndex di questo overlay del riquadro.
Ritorni
- lo zIndex dell'overlay del riquadro.
pubblici int hashCode ()
pubblici booleano isVisible ()
Restituisce la visibilità dell'overlay di questo riquadro. Tieni presente che ciò non indica se l'overlay del riquadro si trova effettivamente all'interno dell'area visibile dello schermo, ma se verrà disegnato se è contenuto nell'area visibile dello schermo.
Ritorni
- la visibilità di questo overlay di riquadro.
Public void remove ()
Rimuove l'overlay di questo riquadro dalla mappa.
Public void setFadeIn (boolean fadeIn)
Consente di impostare se i riquadri di overlay devono apparire con dissolvenza in entrata.
Parametri
fadeIn | true per far scomparire i riquadri; false per visualizzarli istantaneamente.
|
---|
Public void setTransparency (trasparenza fluttuante)
Imposta la trasparenza dell'overlay di questo riquadro. Per ulteriori informazioni, consulta la documentazione all'inizio di questa lezione.
Parametri
trasparenza adeguata | una virgola mobile nell'intervallo [0..1] , dove 0 indica che l'overlay riquadro è opaco e 1 indica che l'overlay riquadro è trasparente.
|
---|
Public void setVisible (boolean visible)
Imposta la visibilità dell'overlay di questo riquadro. Quando non è visibile, l'overlay riquadro non viene disegnato, ma conserva tutte le altre proprietà. Gli overlay riquadro sono visibili per impostazione predefinita.
Parametri
visibile | true per rendere visibile questo overlay; false per renderlo invisibile.
|
---|
Public void setZIndex (zIndex in virgola mobile)
Imposta il valore zIndex per l'overlay di questo riquadro. Per ulteriori informazioni, consulta la documentazione all'inizio di questa classe.
Parametri
zIndex | lo zIndex di questo overlay di riquadro. |
---|