Obraz na powierzchni

publiczna klasa końcowy GroundOverlay powoduje rozszerzenie obiektu Object

Nakładka na powierzchnię to obraz umieszczony na mapie. Nakładka na powierzchnię ma następujące właściwości:

Pozycja
Położenie obrazu nad powierzchnią można określić na 2 sposoby:
  • Określenie lokalizacji: musisz przesłać zdjęcie obrazu nad powierzchnią, obiekt LatLng, na którym zakotwiczona zostanie kotwica, oraz szerokość nakładki (w metrach). Kotwica znajduje się domyślnie w odległości 50% od góry obrazu i 50% od jego lewej strony. Możesz to zmienić. Opcjonalnie możesz podać wysokość nakładki (w metrach). Jeśli nie podasz wysokości obrazu nad powierzchnią, zostanie ona automatycznie obliczona, tak aby zachować proporcje obrazu.
  • Za pomocą granic: musisz podać atrybut LatLngBounds, który będzie zawierał obraz.
Zanim dodasz nakładkę na poziomie terenu do mapy, musisz określić jej położenie. W przeciwnym razie po dodaniu do mapy warstwy ziemi zostanie wysłany obiekt IllegalArgumentException. Ponadto w obiekcie GroundOverlayOptions musisz określić pozycję tylko za pomocą jednej z tych metod. W przeciwnym razie przy użyciu drugiej metody zostanie zgłoszony IllegalStateException.
Obraz
Obraz (jako BitmapDescriptor), który ma zostać użyty w tej nakładce. Obraz zostanie przeskalowany tak, aby pasował do podanego położenia. Przed dodaniem do mapy nakładki na ziemi musisz określić obraz. W przeciwnym razie po dodaniu do mapy zostanie użyty obiekt IllegalArgumentException.
Orientacja
Wartość, o jaką obraz powinien być obrócony w prawo. Środkiem obrotu będzie kotwica obrazu. Jest on opcjonalny, a domyślnym punktem odniesienia jest 0, czyli a obraz jest wyrównany z górą na północ.
zIndex
Kolejność, w jakiej jest rysowana ta nakładka na powierzchni względem innych nakładek (w tym Polyline i TileOverlay, ale nie Marker). Nakładka o większej wartości zIndex jest rysowana na nakładkach o mniejszych wartościach zIndex. Kolejność nakładek o tej samej wartości zIndex jest dowolna. Ta wartość jest opcjonalna, a domyślna wartość zIndex to 0.
Przejrzystość
Przezroczystość obrazu nad powierzchnią 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ść warstwy terenu to 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 obraz nad powierzchnią jest widoczny czy niewidoczny, tj. czy jest narysowany na mapie. Niewidoczna nakładka na powierzchni nie jest rysowana, ale zachowuje wszystkie swoje pozostałe właściwości. Ta wartość jest opcjonalna, a domyślną widocznością jest true, czyli jest widoczna.
Klikalność
Jeśli chcesz obsługiwać zdarzenia wywoływane, gdy użytkownik kliknie nakładkę na ziemi, ustaw tę właściwość na true. W każdej chwili możesz ją zmienić. Wartość domyślna to false. Jeśli ta właściwość ma ustawienie true, Twoja aplikacja będzie otrzymywać powiadomienia do GoogleMap.OnGroundOverlayClickListener zarejestrowanego do setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener).
Oznacz
Object powiązany z nakładką na poziomie terenu. Element Object może na przykład zawierać dane o tym, co reprezentuje nakładka na ziemi. Jest to łatwiejsze niż przechowywanie osobnego obiektu Map<GroundOverlay, Object>. W innym przykładzie możesz powiązać identyfikator String odpowiadający identyfikatorowi ze zbioru danych. Pakiet SDK Map Google na Androida nie odczytuje ani nie zapisuje tej właściwości.

Metody w tej klasie muszą być wywoływane w wątku interfejsu Androida. Jeśli nie, w czasie działania wywoływany jest kod IllegalStateException.

Przykład

GoogleMap map = ...; // get a map.
 BitmapDescriptor imageDescriptor = ...; // get an image.
 LatLngBounds bounds = ...; // get a bounds
 // Adds a ground overlay with 50% transparency.
 GroundOverlay groundOverlay = map.addGroundOverlay(new GroundOverlayOptions()
     .image(imageDescriptor)
     .positionFromBounds(bounds)
     .transparency(0.5));
 

Podsumowanie metod publicznych

boolean
równa się(inny obiekt)
Sprawdza, czy wartość GroundOverlay jest równa innej wartości.
float
getBearing(),
Pobiera kształt nad powierzchnią ziemi w stopniach w prawo, z północy.
LatLngBounds
getBounds(),
Wyznacza granice warstwy obrazu nad powierzchnią.
float
getHeight()
Pobiera wysokość warstwy nad powierzchnią.
Ciąg znaków
getId()
Pobiera identyfikator obrazu nad powierzchnią.
LatLng
getPosition()
Pobiera lokalizację punktu zakotwiczenia.
Obiekt
getTag()
Pobiera tag okręgu.
float
getTransparency(),
Pobiera przezroczystość tej nakładki.
float
getWidth()
Pobiera szerokość warstwy nad powierzchnią.
float
getZIndex(),
Pobiera wartość zIndex tej warstwy nad powierzchnią.
int
boolean
isClickable()
Pobiera klikalność nakładki na ziemi.
boolean
isVisible(),
Uzyskuje widoczność tego obrazu nad powierzchnią.
void
remove()
Usuwa tę nakładkę z ziemi z mapy.
void
setBearing(łożysko swobodne)
Ustawia położenie nakładki na ziemi (kierunek, w którym wyznaczona jest oś pionowa obrazu nad powierzchnią) w stopniach w prawo od północy.
void
setClickable(wartość logiczna)
Ustawia klikalność obrazu nad powierzchnią.
void
setDimensions(szerokość zmiennoprzecinkowa, wysokość liczby zmiennoprzecinkowej)
Ustawia wymiary warstwy nad powierzchnią.
void
setDimensions(szerokość zmiennoprzecinkowa)
Ustawia szerokość warstwy nad powierzchnią.
void
setImage(BitmapDescriptor imageDescriptor)
Ustawia obraz jako obraz nad powierzchnią.
void
setPosition(LatLng latLng)
Ustawia położenie obrazu na powierzchni ziemi, zmieniając lokalizację punktu zakotwiczenia.
void
setPositionFromBounds(zakresy LatLngBounds)
Określa położenie obrazu nad powierzchnią, dopasowując go do podanego LatLngBounds.
void
setTag(tag obiektu)
Ustawia tag obrazu nad powierzchnią.
void
setTransparency(przezroczystość zmiennoprzecinkowa).
Ustawia przezroczystość tego obrazu nad powierzchnią.
void
setVisible(widoczna wartość logiczna)
Ustawia widoczność tego obrazu nad powierzchnią.
void
setZIndex(zIndex z wykorzystaniem liczby zmiennoprzecinkowej)
Ustawia wartość zIndex tej warstwy nad powierzchnią.

Podsumowanie metod dziedziczonych

Metody publiczne

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

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

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

public float getBearing ()

Pobiera kształt nad powierzchnią ziemi w stopniach w prawo, z północy.

Akcje powrotne
  • przesuwania się warstwy podłoża.

public LatLngBounds getBounds ()

Wyznacza granice warstwy obrazu nad powierzchnią. Obrót obrazu nad powierzchnią jest ignorowany.

Akcje powrotne
  • LatLngBounds, który zawiera nakładkę na powierzchnię ziemi, ignorując obrót.

public float getHeight ()

Pobiera wysokość warstwy nad powierzchnią.

Akcje powrotne
  • wysokość obrazu nad powierzchnią w metrach.

public String getId ()

Pobiera identyfikator obrazu nad powierzchnią. Identyfikator będzie unikalny wśród wszystkich elementów GroundOverlay na mapie.

Akcje powrotne
  • identyfikatora obrazu nad powierzchnią.

public LatLng getPosition ()

Pobiera lokalizację punktu zakotwiczenia.

Akcje powrotne
  • położenie na mapie (a LatLng).

public Object getTag ()

Pobiera tag okręgu.

Akcje powrotne
  • jeśli tag został ustawiony o wartości setTag lub null, jeśli nie ustawiono żadnego tagu.

public float getTransparency ()

Pobiera przezroczystość tej nakładki.

Akcje powrotne
  • przezroczystość warstwy.

public float getWidth ()

Pobiera szerokość warstwy nad powierzchnią.

Akcje powrotne
  • szerokość obrazu nad powierzchnią w metrach.

public float getZIndex ()

Pobiera wartość zIndex tej warstwy nad powierzchnią.

Akcje powrotne
  • wartość zIndex dla obrazu nad powierzchnią.

public int hashCode ()

public boolean isClickable ()

Pobiera klikalność nakładki na ziemi. Jeśli można kliknąć nakładkę na ziemi, aplikacja będzie otrzymywać powiadomienia do GoogleMap.OnGroundOverlayClickListener, gdy użytkownik kliknie nakładkę na ziemi. Detektor zdarzeń jest zarejestrowany przez setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener).

Akcje powrotne
  • true, jeśli obraz nad powierzchnią jest klikalny. W przeciwnym razie zwraca false.

public boolean isVisible ()

Uzyskuje widoczność tego obrazu nad powierzchnią. Ta wartość nie wskazuje, czy obraz nad powierzchnią faktycznie znajduje się na ekranie, ale czy zostanie narysowany, jeśli znajdzie się w widocznym obszarze kamery.

Akcje powrotne
  • widoczność obrazu nad powierzchnią terenu.

public void remove ()

Usuwa tę nakładkę z ziemi z mapy. Po usunięciu nakładki na ziemi zachowanie wszystkich jej metod pozostanie nieokreślone.

public void setBearing (łożysko zmiennoprzecinkowe)

Ustawia położenie nakładki na ziemi (kierunek, w którym wyznaczona jest oś pionowa obrazu nad powierzchnią) w stopniach w prawo od północy. Rotacja jest wykonywana względem punktu zakotwiczenia.

Parametry
dźwigając odchylenie w stopniach w prawo, z północy

public void setClickable (wartość logiczna)

Ustawia klikalność obrazu nad powierzchnią. Jeśli można kliknąć nakładkę na ziemi, aplikacja będzie otrzymywać powiadomienia do GoogleMap.OnGroundOverlayClickListener, gdy użytkownik kliknie nakładkę na ziemi. Detektor zdarzeń jest zarejestrowany przez setOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener).

Parametry
możliwe kliknięcie Nowe ustawienie klikalności dla nakładki na ziemi

public void setDimensions (szerokość zmiennoprzecinkowa, wysokość zmiennoprzecinkowa)

Ustawia wymiary warstwy nad powierzchnią. Obraz zostanie rozciągnięty, aby dopasować się do wymiarów.

Parametry
szerokość szerokość w metrach
wysokość wzrost w metrach

public void setDimensions (szerokość zmiennoprzecinkowa)

Ustawia szerokość warstwy nad powierzchnią. Wysokość obrazu nad powierzchnią zostanie odpowiednio dostosowana, aby zachować proporcje obrazu.

Parametry
szerokość szerokość w metrach

public void setImage (BitmapDescriptor imageDescriptor)

Ustawia obraz jako obraz nad powierzchnią. Nowy obraz będzie zajmować te same granice co stary.

Parametry
imageDescriptor BitmapDescriptor, który ma być używany dla tej warstwy.

public void setPosition (LatLng latLng)

Ustawia położenie obrazu na powierzchni ziemi, zmieniając lokalizację punktu zakotwiczenia. Zachowuje wszystkie pozostałe właściwości obrazu.

Parametry
latLng LatLng, który jest nową lokalizacją punktu zakotwiczenia.

public void setPositionFromBounds (LatLngBounds granice)

Określa położenie obrazu nad powierzchnią, dopasowując go do podanego LatLngBounds. Ta metoda ignoruje obrót (ułożenie) warstwy nad powierzchnią podczas jej ustawiania, ale kształt będzie nadal używany podczas rysowania.

Parametry
granice LatLngBounds, w którym umieścić nakładkę na powierzchni ziemi

public void setTag (tag obiektu)

Ustawia tag obrazu nad powierzchnią.

Możesz użyć tej właściwości, aby powiązać dowolny obiekt Object z tą nakładką na poziomie terenu. Na przykład obiekt Object może zawierać dane o tym, co reprezentuje nakładka na ziemi. Jest to łatwiejsze niż przechowywanie osobnego elementu Map<GroundOverlay, Object>. Możesz też powiązać identyfikator String odpowiadający identyfikatorowi ze zbioru danych. Pakiet SDK Map Google na Androida nie odczytuje ani nie zapisuje tej właściwości. Twoim obowiązkiem jest wywołanie metody setTag(null) w celu usunięcia tagu, gdy nie będzie już potrzebny. Zapobiegnie to wyciekom pamięci w aplikacji.

Parametry
tag Jeśli wartość to null, tag jest usuwany.

public void setTransparency (float Przejrzystość)

Ustawia przezroczystość tego obrazu nad powierzchnią. Więcej informacji znajdziesz w dokumentacji na początku tej klasy.

Parametry
przejrzystość wartość zmiennoprzecinkowa w zakresie [0..1], gdzie 0 oznacza nieprzezroczystość nakładu na powierzchni, a 1 oznacza, że nakładka na powierzchni jest przezroczysta.

public void setVisible (boolean visible)

Ustawia widoczność tego obrazu nad powierzchnią. Jeśli nakładka nie jest widoczna, nie jest ona rysowana, ale zachowuje wszystkie swoje pozostałe właściwości.

Parametry
widoczna jeśli true, to obraz nad powierzchnią jest widoczny. Jeśli wartość false, nie jest widoczny.

public void setZIndex (float zIndex)

Ustawia wartość zIndex tej warstwy nad powierzchnią. Więcej informacji znajdziesz w dokumentacji na początku tej klasy.

Parametry
zIndex wartość zIndex tej warstwy terenu