Nakładki z fragmentami mapy

publiczna klasa końcowy TileOverlay powoduje rozszerzenie obiektu

Nakładka z fragmentami mapy to zestaw obrazów wyświetlanych nad podstawowymi kafelkami mapy. Te kafelki mogą być przezroczyste, co umożliwia dodawanie funkcji do istniejących map. Nakładka z kafelkami ma te właściwości:

Dostawca kafelków
TileProvider zawiera obrazy używane w nakładce z kafelkami. Zanim dodasz kafelek do mapy, musisz określić jego dostawcę. Po dodaniu dostawcy nie można zmienić jego dostawcy. Możesz jednak zmienić działanie dostawcy kafelka, aby zwracał inne obrazy dla określonych współrzędnych. Jeśli kafelki udostępnione przez dostawcę kafelków się zmienią, musisz później wywołać clearTileCache(), aby poprzednie kafelki nie były już renderowane.
Kolejność nakładania elementów
Kolejność, w jakiej jest rysowana ta nakładka z kafelkami w odniesieniu do innych nakładek (w tym GroundOverlay, Circle, Polyline i Polygon, ale nie Marker). Nakładka o większej kolejności nakładania elementów jest rysowana na nakładkach o mniejszych indeksach Z. Kolejność nakładek o tej samej kolejności nakładania elementów jest dowolna. Domyślna wartość zIndex to 0.
Przejrzystość
Przezroczystość nakładki z kafelkami w zakresie [0..1], gdzie 0 oznacza, że nakładka jest nieprzezroczysta, a 1 oznacza, że jest ona w pełni przezroczysta. Jeśli określona mapa bitowa jest już częściowo przezroczysta, przezroczystość każdego piksela zostanie odpowiednio skalowana (np.jeśli piksel w bitmacie ma wartość alfa 200, a przezroczystość nakładki z kafelkami ustawisz na 0,25, będzie on renderowany na ekranie z wartością alfa 150). Specyfikacja tej właściwości jest opcjonalna, a domyślna przezroczystość to 0 (nieprzezroczysta).
Widoczność
Wskazuje, czy nakładka z kafelkami jest widoczna czy niewidoczna, tj. czy jest narysowana na mapie. Niewidoczna nakładka z kafelkami nie jest rysowana, ale zachowuje wszystkie swoje pozostałe właściwości. Wartość domyślna to true, czyli widoczna.

Metody tej klasy możesz wywoływać tylko w wątku głównym. Jeśli tego nie zrobisz, otrzymasz IllegalStateException.

Współrzędne kafelka

Pamiętaj, że rzutowanie Ziemi za pomocą Merkatora (patrz Wikipedia) oznacza, że lewa (zachodnia) strona mapy odpowiada -180 stopniom długości geograficznej, a prawa (wschodnia) strona odpowiada 180 stopniom długości geograficznej. Aby kwadrat na mapie był kwadratem, jej górna (północna) strona odpowiada 85,0511 stopnia szerokości geograficznej, a dolna (południowa) strona – -85,0511 stopni szerokości geograficznej. Obszary spoza tego zakresu szerokości geograficznej nie są renderowane.

Na każdym poziomie powiększenia mapa jest dzielona na kafelki i pobierane są i renderowane tylko te fragmenty, które nachodzą na ekran. Każdy kafelek jest kwadrat, a mapa jest podzielona na kafelki w następujący sposób:

  • Przy powiększeniu 0 jeden kafelek reprezentuje cały świat. Współrzędne tego kafelka to (x, y) = (0, 0).
  • Przy powiększeniu 1 świat jest podzielony na 4 kafelki ułożone w siatce 2 x 2.
  • ...
  • Przy powiększeniu N świat jest podzielony na 4N kafelki ułożone na siatce 2N x 2N.
Pamiętaj, że minimalny poziom powiększenia obsługiwany przez kamerę (uzależniony od różnych czynników) to GoogleMap.getMinZoomLevel, a maksymalny – GoogleMap.getMaxZoomLevel.

Współrzędne kafelków są mierzone w lewym górnym (północno-zachodnim) rogu mapy. Przy powiększeniu N wartości x współrzędnych mapy mieszczą się w zakresie od 0 do 2N–1 oraz rosną z zachodu na wschód, a wartości y mieszczą się w zakresie od 0 do 2N–1 i rosną z północy na południe.

Przykład

GoogleMap map; // ... get a map.
 TileProvider tileProvider; // ... create a tile provider.
 TileOverlay tileOverlay = map.addTileOverlay(
     new TileOverlayOptions().tileProvider(tileProvider));
 

Podsumowanie metod publicznych

void
clearTileCache()
Czyści pamięć podręczną kafelków, aby żądania wszystkich kafelków były pobierane ponownie z TileProvider.
boolean
równa się(inny obiekt)
Sprawdza, czy wartość TileOverlay jest równa innej wartości.
boolean
getFadeIn(),
Określa, czy kafelki nakładek mają się rozjaśnić.
Ciąg znaków
getId()
Pobiera identyfikator tej nakładki.
float
getTransparency(),
Pobiera przezroczystość tej nakładki z kafelkami.
float
getZIndex(),
Pobiera wartość zIndex tej nakładki z kafelkami.
int
boolean
isVisible(),
Pozwala uzyskać widoczność tej nakładki z kafelkami.
void
remove()
Usuwa tę nakładkę kafelków z mapy.
void
setFadeIn(wartość logiczna fadeIn)
Określa, czy kafelki z nakładkami mają się rozjaśniać.
void
setTransparency(przezroczystość zmiennoprzecinkowa).
Ustawia przezroczystość tej nakładki z kafelkami.
void
setVisible(widoczna wartość logiczna)
Ustawia widoczność tej nakładki z kafelkami.
void
setZIndex(zIndex z wykorzystaniem liczby zmiennoprzecinkowej)
Ustawia wartość zIndex tej nakładki z kafelkami.

Podsumowanie metod dziedziczonych

Metody publiczne

public void clearTileCache ()

Czyści pamięć podręczną kafelków, aby żądania wszystkich kafelków były pobierane ponownie z TileProvider. Po wywołaniu tej metody bieżące kafelki z tej nakładki z kafelkami zostaną również usunięte z mapy. Interfejs API utrzymuje w pamięci małą pamięć podręczną kafelków. Jeśli chcesz przechowywać kafelki na dłużej, zaimplementuj pamięć podręczną na dysku.

publiczna wartość logiczna równa się (Inny obiekt)

Sprawdza, czy wartość TileOverlay jest równa innej wartości.

Parametry
inne Object.
Akcje powrotne
  • true, jeśli oba obiekty są tym samym obiektem, tj. ten == inny.

public boolean getFadeIn ()

Określa, czy kafelki nakładek mają się rozjaśnić.

Akcje powrotne
  • true, jeśli kafelki mają zanikać; false, jeśli nie są.

public String getId ()

Pobiera identyfikator tej nakładki.

public float getTransparency ()

Pobiera przezroczystość tej nakładki z kafelkami.

Akcje powrotne
  • przezroczystość tej nakładki.

public float getZIndex ()

Pobiera wartość zIndex tej nakładki z kafelkami.

Akcje powrotne
  • kolejność nakładania kafelków,

public int hashCode ()

public boolean isVisible ()

Pozwala uzyskać widoczność tej nakładki z kafelkami. Nie zwraca on informacji o tym, czy nakładka z kafelkami znajduje się w widocznym obszarze ekranu, ale czy zostanie narysowana, jeśli znajdzie się w tym obszarze.

Akcje powrotne
  • widoczność nakładki z kafelkami.

public void remove ()

Usuwa tę nakładkę kafelków z mapy.

public void setFadeIn (boolean fadeIn)

Określa, czy kafelki z nakładkami mają się rozjaśniać.

Parametry
fadeIn true, aby kafelki były widoczne, false, aby renderować je natychmiast.

public void setTransparency (float Przejrzystość)

Ustawia przezroczystość tej nakładki z kafelkami. Więcej informacji znajdziesz w dokumentacji na początku tej klasy.

Parametry
przejrzystość wartość zmiennoprzecinkowa w zakresie [0..1], gdzie 0 oznacza nieprzezroczystą nakładkę z kafelkami, a 1 oznacza przezroczystą nakładkę.

public void setVisible (boolean visible)

Ustawia widoczność tej nakładki z kafelkami. Jeśli nakładka z kafelkami nie jest widoczna, nie jest rysowana, ale zachowuje wszystkie pozostałe właściwości. Nakładki z fragmentami mapy są domyślnie widoczne.

Parametry
widoczna true, aby ta nakładka była widoczna, lub false, aby była niewidoczna.

public void setZIndex (float zIndex)

Ustawia wartość zIndex tej nakładki z kafelkami. Więcej informacji znajdziesz w dokumentacji na początku tej klasy.

Parametry
zIndex zIndex tej nakładki.