Ein Kachel-Overlay ist eine Reihe von Bildern, die über den Kacheln der Basiskarte angezeigt werden. Diese Kacheln können transparent sein, sodass Sie Elemente zu vorhandenen Karten hinzufügen können. Ein Kachel-Overlay hat folgende Eigenschaften:
- Fliesenanbieter
- Der
TileProvider
liefert die Bilder, die im Kachel-Overlay verwendet werden. Sie müssen den Kachelanbieter angeben, bevor er der Karte hinzugefügt wird. Der Kachelanbieter kann nach dem Hinzufügen nicht mehr geändert werden. Sie können jedoch sein Verhalten so ändern, dass für bestimmte Koordinaten andere Bilder zurückgegeben werden. Wenn sich die vom Kachelanbieter bereitgestellten Kacheln ändern, müssen Sie anschließendclearTileCache()
aufrufen, damit die vorherigen Kacheln nicht mehr gerendert werden. - Z-Index
- Die Reihenfolge, in der dieses Kachel-Overlay in Bezug auf andere Overlays gezeichnet wird (einschließlich
GroundOverlay
s,Circle
s,Polyline
s undPolygon
s, aber nichtMarker
s). Ein Overlay mit einem größeren Z-Index wird über Overlays mit kleineren Z-Indizes gezogen. Die Reihenfolge von Überlagerungen mit identischen z-Indizes ist beliebig. Der Standard-ZIndex ist 0. - Transparenz
- Transparenz des Kachel-Overlays im Bereich
[0..1]
, wobei0
bedeutet, dass das Overlay undurchsichtig ist, und1
, dass es vollständig transparent ist. Wenn die angegebene Bitmap bereits teilweise transparent ist, wird die Transparenz jedes Pixels entsprechend skaliert.Wenn beispielsweise ein Pixel in der Bitmap einen Alphawert von 200 hat und Sie die Transparenz des Kachel-Overlays mit 0, 25 angeben, wird das Pixel mit einem Alphawert von 150 auf dem Bildschirm gerendert. Die Angabe dieser Eigenschaft ist optional und die Standardtransparenz ist 0 (undurchsichtig). - Sichtbarkeit
- Gibt an, ob das Kachel-Overlay sichtbar oder unsichtbar ist, d.h., ob es auf der Karte eingezeichnet wird. Ein unsichtbares Kachel-Overlay wird nicht gezeichnet, behält aber alle anderen Eigenschaften bei. Der Standardwert ist
true
(sichtbar).
Sie dürfen nur Methoden in dieser Klasse im Hauptthread aufrufen. Andernfalls wird IllegalStateException
zurückgegeben.
Kachelkoordinaten
Beachten Sie, dass die Welt mithilfe der Mercator-Projektion (siehe Wikipedia) projiziert wird. Die linke (West) Seite der Karte entspricht dabei -180 Längengraden und die rechte (Ost) Seite der Karte 180 Längengraden. Die obere (Nordseite) der Karte entspricht 85,0511 Breitengrad und die untere (Süd)seite der Karte -85,0511 Breitengrad. Bereiche außerhalb dieses Breitengradbereichs werden nicht gerendert.
Bei jeder Zoomstufe wird die Karte in Kacheln unterteilt. Nur die Kacheln, die den Bildschirm überlappen, werden heruntergeladen und gerendert. Jede Kachel ist quadratisch und die Karte ist wie folgt in Kacheln unterteilt:
- Bei Zoomstufe 0 stellt eine Kachel die gesamte Welt dar. Die Koordinaten dieser Kachel sind (x, y) = (0, 0).
- Bei Zoomstufe 1 wird die Welt in vier Kacheln in einem 2-x-2-Raster unterteilt.
- ...
- Bei Zoomstufe N wird die Welt in 4N Kacheln unterteilt, die in einem 2N x 2N-Raster angeordnet sind.
GoogleMap.getMinZoomLevel
und die maximale Zoomstufe GoogleMap.getMaxZoomLevel
.
Die Koordinaten der Kacheln werden von der oberen linken Ecke der Karte (nordwestlich) gemessen. Bei Zoomstufe N reichen die x
-Werte der Kachelkoordinaten von 0 bis 2N–1 und erhöhen sich von West nach Osten. Die Werte für y
liegen zwischen 0 und 2N–1 und erhöhen sich von Nord nach Süd.
Beispiel
GoogleMap map; // ... get a map.
TileProvider tileProvider; // ... create a tile provider.
TileOverlay tileOverlay = map.addTileOverlay(
new TileOverlayOptions().tileProvider(tileProvider));
Public Method Summary
void |
clearTileCache()
Löscht den Kachel-Cache, sodass alle Kacheln noch einmal von
TileProvider angefordert werden. |
boolean |
ist gleich(Sonstiges Objekt)
Testet, ob diese
TileOverlay einem anderen entspricht. |
boolean |
getFadeIn()
Ruft ab, ob die Overlay-Kacheln eingeblendet werden sollen.
|
String |
getId()
Ruft die ID dieses Kachel-Overlays ab.
|
float |
getTransparency()
Ruft die Transparenz dieses Kachel-Overlays ab.
|
float |
getZIndex()
Ruft den zIndex dieses Kachel-Overlays ab.
|
int |
hashCode()
|
boolean |
isVisible()
Ruft die Sichtbarkeit dieses Kachel-Overlays ab.
|
void |
remove()
Entfernt dieses Kachel-Overlay von der Karte.
|
void |
setFadeIn(boolesch fadeIn)
Legt fest, ob die Overlay-Kacheln eingeblendet werden sollen.
|
void |
setTransparency(Gleitkommatransparenz)
Legt die Transparenz dieses Kachel-Overlays fest.
|
void |
setVisible(boolesch sichtbar)
Legt die Sichtbarkeit dieses Kachel-Overlays fest.
|
void |
setZIndex(Gleitkommazahl zIndex)
Legt den zIndex dieses Kachel-Overlays fest
|
Inherited Method Summary
Public Methods
public void clearTileCache ()
Löscht den Kachel-Cache, sodass alle Kacheln noch einmal von TileProvider
angefordert werden.
Die aktuellen Kacheln dieses Kachel-Overlays werden ebenfalls aus der Karte gelöscht, nachdem diese Methode aufgerufen wurde. Das API unterhält einen kleinen speicherinternen Cache mit Kacheln. Wenn Sie Kacheln länger im Cache speichern möchten, sollten Sie einen Cache auf dem Laufwerk implementieren.
public boolesch ist gleich (Objekt anderes)
Testet, ob diese TileOverlay
einem anderen entspricht.
Parameter
Weitere | ein Object . |
---|
Rückgaben
- true, wenn beide Objekte dasselbe Objekt sind, d. h. diese == other.
public boolean getFadeIn ()
Ruft ab, ob die Overlay-Kacheln eingeblendet werden sollen.
Rückgaben
true
, wenn die Kacheln eingeblendet werden sollen;false
, wenn dies nicht der Fall ist.
public String getId ()
Ruft die ID dieses Kachel-Overlays ab.
public float getTransparency ()
Ruft die Transparenz dieses Kachel-Overlays ab.
Rückgaben
- die Transparenz dieses Kachel-Overlays.
public float getZIndex ()
Ruft den zIndex dieses Kachel-Overlays ab.
Rückgaben
- zIndex des Kachel-Overlays.
public int hashCode ()
public boolesch isVisible ()
Ruft die Sichtbarkeit dieses Kachel-Overlays ab. Dabei wird nicht zurückgegeben, ob sich das Kachel-Overlay tatsächlich im Darstellungsbereich des Bildschirms befindet, sondern ob es gezeichnet wird, wenn es im Darstellungsbereich des Bildschirms enthalten ist.
Rückgaben
- die Sichtbarkeit dieses Kachel-Overlays.
public void entfernen ()
Entfernt dieses Kachel-Overlay von der Karte.
public void setFadeIn (boolean fadeIn)
Legt fest, ob die Overlay-Kacheln eingeblendet werden sollen.
Parameter
fadeIn | true , um die Kacheln anzuzeigen, und false , um sie sofort zu rendern.
|
---|
public void setTransparency (Float Transparency)
Legt die Transparenz dieses Kachel-Overlays fest. Weitere Informationen finden Sie in der Dokumentation oben in dieser Klasse.
Parameter
Transparenz | eine Gleitkommazahl im Bereich [0..1] , wobei 0 bedeutet, dass das Kachel-Overlay undurchsichtig ist, und 1 , dass es transparent ist.
|
---|
public void setVisible (boolean visible)
Legt die Sichtbarkeit dieses Kachel-Overlays fest. Wenn ein Kachel-Overlay nicht sichtbar ist, wird es nicht gezeichnet, behält aber alle anderen Eigenschaften bei. Kachel-Overlays sind standardmäßig sichtbar.
Parameter
sichtbar | true , um dieses Overlay sichtbar zu machen, oder false , um es unsichtbar zu machen.
|
---|
public void setZIndex (Gleitkomma zIndex)
Legt den zIndex dieses Kachel-Overlays fest Weitere Informationen finden Sie in der Dokumentation oben in dieser Klasse.
Parameter
zIndex | zIndex dieses Kachel-Overlays. |
---|