Un overlay riquadro è un insieme di immagini visualizzate sopra i riquadri della mappa base. Questi riquadri possono essere trasparenti, consentendoti di aggiungere funzionalità a mappe esistenti. Un overlay riquadro ha le seguenti proprietà:
- Fornitore di riquadri
TileProvider
fornisce le immagini utilizzate nell'overlay del riquadro. Devi specificare il provider dei riquadri prima di aggiungerlo alla mappa. Il fornitore di riquadri non può essere modificato dopo essere stato aggiunto, tuttavia, puoi modificarne il comportamento per restituire immagini diverse per coordinate specifiche. Se i riquadri forniti dal fornitore del riquadro cambiano, devi chiamareclearTileCache()
in seguito per assicurarti che i riquadri precedenti non vengano più visualizzati.- Z-index
- L'ordine in cui viene tracciato questo overlay del riquadro rispetto agli altri overlay (inclusi
GroundOverlay
,Circle
,Polyline
ePolygon
, ma nonMarker
). Un overlay con uno z-index più grande viene disegnato su overlay con z-index più piccoli. L'ordine degli overlay con lo stesso z-index è arbitrario. Il valore predefinito di zIndex è 0. - Trasparenza
- La trasparenza della sovrapposizione dell'intervallo nell'intervallo
[0..1]
, dove0
indica che l'overlay è opaco, mentre1
indica che l'overlay è completamente trasparente. Se la bitmap specificata è già parzialmente trasparente, la trasparenza di ogni pixel verrà ridimensionata 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). Le specifiche di questa proprietà sono facoltative e la trasparenza predefinita è 0 (opaca). - Visibilità
- Indica se l'overlay del riquadro è visibile o invisibile, ovvero se è disegnato sulla mappa. L'overlay riquadro invisibile non viene tracciato, ma conserva tutte le altre proprietà. Il valore predefinito è
true
, ovvero visibile.
Devi chiamare i metodi in questa classe solo nel thread principale. Se non dovessi farlo, si verificherà un
IllegalStateException
.
Coordinate dei riquadri
Si prevede 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 corrispondente a 180 gradi di longitudine. Per rendere la mappa quadrata, il lato superiore (nord) della mappa corrisponde a 85,0511 gradi di latitudine e la parte inferiore (sud) della mappa corrisponde a -85,0511 gradi di latitudine. Le aree esterne a questo intervallo di latitudine non vengono visualizzate.
A ogni livello di zoom, la mappa viene suddivisa in riquadri e vengono scaricati e visualizzati solo i riquadri che si sovrappongono allo schermo. Ogni riquadro è quadrato e la mappa è divisa in riquadri nel seguente modo:
- Al livello di zoom 0, un riquadro rappresenta l'intero mondo. Le coordinate del riquadro sono (x, y) = (0, 0).
- Al livello di zoom 1, il mondo è diviso in 4 riquadri disposti in una griglia 2 x 2.
- …
- Al livello di zoom N, il mondo è diviso in 4N riquadri disposti in una griglia 2N x2N.
GoogleMap.getMinZoomLevel
, mentre il livello di zoom massimo è GoogleMap.getMaxZoomLevel
.
Le coordinate dei riquadri sono misurate in alto a sinistra (nord-ovest) della mappa. Al
livello di zoom N, i valori x
delle coordinate del riquadro vanno da 0 a 2N - 1 e
aumentano da ovest a est e i valori 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
nullo |
clearTileCache()
Cancella la cache dei riquadri in modo che tutti i riquadri vengano richiesti di nuovo da
TileProvider . |
boolean |
uguale a(Altro oggetto)
Verifica se questo
TileOverlay è uguale a un altro. |
boolean |
getFadeIn()
Determina se i riquadri di overlay devono dissolversi.
|
Stringa |
getId()
Visualizza l'ID di questo riquadro.
|
numero in virgola mobile |
getTransparency()
Visualizza la trasparenza dell'overlay di riquadro.
|
numero in virgola mobile |
getZIndex()
Visualizza lo z-index di questo overlay di riquadri.
|
int |
hashCode()
|
boolean |
isVisible()
Visualizza la visibilità di questo overlay di riquadri.
|
nullo |
rimuovi()
Rimuove l'overlay del riquadro dalla mappa.
|
nullo |
setFadeIn(dissolvenza booleana)
Consente di impostare se i riquadri overlay devono dissolversi.
|
nullo |
setTransparency(trasparenza in virgola mobile)
Imposta la trasparenza di questo overlay riquadro.
|
nullo |
setVisible(booleano visibile)
Imposta la visibilità di questo overlay di riquadri.
|
nullo |
setZIndex(zindex mobile)
Imposta lo z-index di questo overlay riquadro.
|
Riepilogo del metodo ereditato
Metodi pubblici
pubblica void clearTileCache ()
Cancella la cache dei riquadri in modo che tutti i riquadri vengano richiesti di nuovo da TileProvider
.
Dopo la chiamata a questo metodo, i riquadri correnti di questo overlay di riquadri verranno cancellati anche dalla mappa. L'API mantiene una piccola cache in memoria dei riquadri. Se vuoi memorizzare i riquadri nella cache più a lungo, devi implementare una cache su disco.
pubblico booleano uguale a (Altro oggetto)
Verifica se questo TileOverlay
è uguale a un altro.
Parametri
altro | un Object . |
---|
Restituisce
- true se entrambi gli oggetti sono lo stesso, ovvero == other.
pubblico booleano getFadeIn ()
Determina se i riquadri di overlay devono dissolversi.
Restituisce
true
se i riquadri devono dissolversi;false
se non lo sono.
pubblica Stringa getId ()
Visualizza l'ID di questo riquadro.
floating pubblico getTransparency ()
Visualizza la trasparenza dell'overlay di riquadro.
Restituisce
- la trasparenza di questo overlay riquadro.
floating pubblico getZIndex ()
Visualizza lo z-index di questo overlay di riquadri.
Restituisce
- lo z-index dell'overlay riquadro.
public int hashCode ()
pubblico booleano isVisible ()
Visualizza la visibilità di questo overlay di riquadri. Tieni presente che ciò non restituisce se l'overlay del riquadro è effettivamente all'interno dell'area visibile dello schermo, ma se verrà disegnato se è contenuto nell'area visibile dello schermo.
Restituisce
- la visibilità di questo overlay riquadro.
pubblica void rimuovi ()
Rimuove l'overlay del riquadro dalla mappa.
pubblico void setFadeIn (dissolvenza booleana)
Consente di impostare se i riquadri overlay devono dissolversi.
Parametri
dissolvenza | true per creare una dissolvenza per le schede; false per renderle all'istante.
|
---|
pubblico void setTransparency (trasparenza in virgola mobile)
Imposta la trasparenza di questo overlay riquadro. Per ulteriori informazioni, consulta la documentazione all'inizio di questo corso.
Parametri
trasparenza | Un numero in virgola mobile nell'intervallo [0..1] in cui 0 indica che l'overlay di riquadro è opaco e 1 indica che l'overlay di riquadro è trasparente.
|
---|
pubblica void setVisible (booleano visibile)
Imposta la visibilità di questo overlay di riquadri. Se non è visibile, l'overlay del riquadro non viene tracciato, ma conserva tutte le altre proprietà. Gli overlay dei riquadri sono visibili per impostazione predefinita.
Parametri
visibile | true per rendere visibile questo overlay; false per renderlo invisibile.
|
---|
pubblico void setZIndex (zindex mobile)
Imposta lo z-index di questo overlay riquadro. Per ulteriori informazioni, consulta la documentazione all'inizio di questo corso.
Parametri
z-index | lo z-index di questo overlay riquadro. |
---|