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.
IllegalArgumentException
. Ponadto w obiekcieGroundOverlayOptions
musisz określić pozycję tylko za pomocą jednej z tych metod. W przeciwnym razie przy użyciu drugiej metody zostanie zgłoszonyIllegalStateException
. - Określenie lokalizacji: musisz przesłać zdjęcie obrazu nad powierzchnią, obiekt
- 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 obiektIllegalArgumentException
. - 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
iTileOverlay
, ale nieMarker
). 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]
, gdzie0
oznacza, że nakładka jest nieprzezroczysta, a1
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 tofalse
. Jeśli ta właściwość ma ustawienietrue
, Twoja aplikacja będzie otrzymywać powiadomienia doGoogleMap.OnGroundOverlayClickListener
zarejestrowanego dosetOnGroundOverlayClickListener(GoogleMap.OnGroundOverlayClickListener)
. - Oznacz
Object
powiązany z nakładką na poziomie terenu. ElementObject
może na przykład zawierać dane o tym, co reprezentuje nakładka na ziemi. Jest to łatwiejsze niż przechowywanie osobnego obiektuMap<GroundOverlay, Object>
. W innym przykładzie możesz powiązać identyfikatorString
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 |
hashCode()
|
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 | |
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
lubnull
, 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 zwracafalse
.
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 |
---|