Wielokąt

publiczna klasa końcowy Polygon rozszerza obiekt

Wielokąt na powierzchni Ziemi. Wielokąt może być wypukły lub wklęsły oraz może obejmować południk 180 południków i może mieć niewypełnione otwory. Ma następujące właściwości:

Konspekt
Kontur jest określany za pomocą listy wierzchołków w prawo lub w lewo. Punkty początkowe i końcowe nie muszą się pokrywać. W przeciwnym razie wielokąt zostanie automatycznie zamknięty. Odcinki linii są rysowane między kolejnymi punktami na krótszym z dwóch kierunków (wschód lub zachód).
Otwory
Otwór to obszar wewnątrz wielokąta, który nie jest wypełniony. Otwór jest określany dokładnie w taki sam sposób jak kontur. Otwór musi być całkowicie zamknięty wewnątrz obrysu. Można określić wiele otworów, ale nakładające się otwory nie są obsługiwane.
Szerokość kreski
Szerokość segmentu linii w pikselach ekranu. Szerokość jest stała i niezależna od poziomu powiększenia. Wartością domyślną jest 10.
Kolor kreski
Kolor segmentu linii w formacie ARGB, taki sam jak format używany przez aplikację Color. Wartością domyślną jest czarny (0xff000000).
Rodzaj stawu
Typ połączenia określa kształt, który ma zostać użyty podczas łączenia sąsiadujących fragmentów linii we wszystkich wierzchołkach konturu wielokąta. Obsługiwane typy połączeń znajdziesz na stronie JointType. Wartością domyślną jest DEFAULT.
Styl kreski
Ciągła (domyślnie, reprezentowana przez null) lub sekwencja PatternItem obiektów do powtórzenia na obrysie wielokąta. Dostępne typy PatternItem: Gap (zdefiniowana za pomocą długości przerwy w pikselach), Dash (zdefiniowana przez szerokość kreski i długość kreski w pikselach) i Dot (okrągły, wyśrodkowany na obrysie wielokąta, średnica określona przez szerokość kreski w pikselach).
Kolor wypełnienia
Kolor wypełnienia w formacie ARGB, taki sam jak format używany przez usługę Color. Domyślną wartością jest przezroczystość (0x00000000). Jeśli geometria wielokąta nie jest poprawnie określona (patrz wyżej w przypadku konturu i otworów), wypełnienie nie zostanie narysowane.
Kolejność nakładania elementów
Kolejność, w jakiej ten wielokąt został narysowany względem innych nakładek, w tym Polyline, Circle s, GroundOverlay s i TileOverlay, 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 wartości kolejności nakładania elementów jest dowolna. Wartością domyślną jest 0.
Widoczność
Wskazuje, czy wielokąt jest widoczny czy niewidoczny (tzn. czy jest on narysowany na mapie). Niewidoczny wielokąt nie zostanie narysowany, ale zachowa wszystkie swoje pozostałe właściwości. Wartość domyślna to true, czyli widoczna.
Stan geodezyjny
Wskazuje, czy odcinki wielokąta mają być narysowane jako obiekty geodezyjne, a nie proste na odwzorowaniu Merkatora. Geodezja to najkrótsza ścieżka między dwoma punktami na powierzchni Ziemi. Przy założeniu, że Ziemia jest sferą, można utworzyć krzywą geodezyjną.
Klikalność
Jeśli chcesz obsługiwać zdarzenia wywoływane po kliknięciu wielokąta przez użytkownika, 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 wartość true, Twoja aplikacja będzie otrzymywać powiadomienia do GoogleMap.OnPolygonClickListener zarejestrowanego do setOnPolygonClickListener(GoogleMap.OnPolygonClickListener).
Oznacz
Object powiązany z wielokątem. Na przykład obiekt Object może zawierać informacje o tym, co reprezentuje wielokąt. To łatwiejsze niż przechowywanie osobnego elementu Map<Polygon, Object>. Inny przykład możesz powiązać z identyfikatorem String odpowiadającym 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.
 // Add a triangle in the Gulf of Guinea
 Polygon polygon = map.addPolygon(new PolygonOptions()
     .add(new LatLng(0, 0), new LatLng(0, 5), new LatLng(3, 5), new LatLng(0, 0))
     .strokeColor(Color.RED)
     .fillColor(Color.BLUE));
 

Przewodnik dla programistów

Więcej informacji znajdziesz w przewodniku dla programistów dotyczącym kształtów.

Podsumowanie metod publicznych

boolean
równa się(inny obiekt)
Sprawdza, czy wartość Polygon jest równa innej wartości.
int
getFillColor()
Pobiera kolor wypełnienia tego wielokąta.
List<List<LatLng>>
getHoles()
Zwraca w chwili obecnej migawkę otworów w tym wielokątie .
Ciąg znaków
getId()
Pobiera identyfikator tego wielokąta.
List<LatLng>
getPoints()
Zwraca w tej chwili migawkę wierzchołków tego wielokąta .
int
getStrokeColor()
Pobiera kolor linii tego wielokąta.
int
getStrokeJointType(),
Pobiera typ połączenia używanego we wszystkich wierzchołkach konturu wielokąta.
List<PatternItem>
getStrokePattern()
Pobiera wzór kreski jego konturu.
float
getStrokeWidth(),
Pobiera szerokość kreski tego wielokąta.
Obiekt
getTag()
Pobiera tag wielokąta.
float
getZIndex(),
Pobiera wartość zIndex tego wielokąta.
int
boolean
isClickable()
Pobiera klikalność wielokąta.
boolean
isGeodesic()
Określa, czy każdy odcinek linii jest narysowany jako geodezyjny.
boolean
isVisible(),
Pobiera widoczność tego wielokąta.
void
remove()
Usuwa wielokąt z mapy.
void
setClickable(wartość logiczna)
Ustawia klikalność wielokąta.
void
setFillColor(kolor wewnętrzny)
Ustawia kolor wypełnienia tego wielokąta.
void
setGeodesic(wartość logiczna geodezyjna)
Określa, czy każdy odcinek linii ma być rysowany jako geodezyjny.
void
setHoles(Lista<? extends List<LatLng>>)
Ustawia otwory w tym wielokątie.
void
setPoints(List<LatLng> pkt)
Ustawia punkty tego wielokąta.
void
setStrokeColor(kolor wewnętrzny)
Ustawia kolor linii tego wielokąta.
void
setStrokeJointType(int jointType)
Ustawia typ złączenia wszystkich wierzchołków konturu wielokąta.
void
setStrokePattern(wzorzec List<PatternItem>)
Ustawia wzór linii obrysu wielokąta.
void
setStrokeWidth(szerokość zmiennoprzecinkowa)
Ustawia szerokość kreski tego wielokąta.
void
setTag(tag obiektu)
Ustawia tag wielokąta.
void
setVisible(widoczna wartość logiczna)
Ustawia widoczność tego wielokąta.
void
setZIndex(zIndex z wykorzystaniem liczby zmiennoprzecinkowej)
Ustawia wartość zIndex tego wielokąta.

Podsumowanie metod dziedziczonych

Metody publiczne

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

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

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

public int getFillColor ()

Pobiera kolor wypełnienia tego wielokąta.

Akcje powrotne
  • kolor w formacie ARGB.

public List<List<LatLng>> getHoles ()

Zwraca w chwili obecnej migawkę otworów w tym wielokątie . Zwracana lista jest kopią listy otworów, więc zmiany w otworach w wielokątach nie są odzwierciedlane na tej liście, a zmiany wprowadzone na liście nie są odzwierciedlane przez wielokąt.

public String getId ()

Pobiera identyfikator tego wielokąta. Ten identyfikator będzie unikalny wśród wszystkich wielokątów na mapie.

public List<LatLng> getPoints ()

Zwraca w tej chwili migawkę wierzchołków tego wielokąta . Zwracana lista jest kopią listy wierzchołków, więc zmiany wierzchołków wielokąta nie są odzwierciedlane na tej liście, a zmiany wprowadzone na liście nie są odzwierciedlane przez wielokąt. Aby zmienić wierzchołki wielokąta, wywołaj setPoints(List).

public int getStrokeColor ()

Pobiera kolor linii tego wielokąta.

Akcje powrotne
  • kolor w formacie ARGB.

public int getStrokeJointType ()

Pobiera typ połączenia używanego we wszystkich wierzchołkach konturu wielokąta. Możliwe wartości znajdziesz na stronie JointType.

Akcje powrotne
  • typ połączenia.

public List<PatternItem> getStrokePattern ()

Pobiera wzór kreski jego konturu.

Akcje powrotne
  • na wzór kreski.

public float getStrokeWidth ()

Pobiera szerokość kreski tego wielokąta.

Akcje powrotne
  • szerokości w pikselach ekranu.

public Object getTag ()

Pobiera tag wielokąta.

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

public float getZIndex ()

Pobiera wartość zIndex tego wielokąta.

Akcje powrotne
  • wartość zIndex wielokąta.

public int hashCode ()

public boolean isClickable ()

Pobiera klikalność wielokąta. Jeśli wielokąt można kliknąć, po jego kliknięciu przez użytkownika aplikacja otrzyma powiadomienie na GoogleMap.OnPolygonClickListener. Detektor zdarzeń jest zarejestrowany przez setOnPolygonClickListener(GoogleMap.OnPolygonClickListener).

Akcje powrotne
  • true, jeśli wielokąt można kliknąć. W przeciwnym razie zwraca false.

public boolean isGeodesic ()

Określa, czy każdy odcinek linii jest narysowany jako geodezyjny.

Akcje powrotne
  • true, jeśli każdy fragment jest narysowany jako geodezja lub false, jeśli każdy odcinek jest narysowany jako linia prosta na odwzorowaniu Merkatora.

public boolean isVisible ()

Pobiera widoczność tego wielokąta.

Akcje powrotne
  • widoczność wielokąta.

public void remove ()

Usuwa wielokąt z mapy. Po usunięciu wielokąta zachowanie wszystkich jego metod staje się nieokreślone.

public void setClickable (wartość logiczna)

Ustawia klikalność wielokąta. Jeśli wielokąt można kliknąć, po jego kliknięciu przez użytkownika aplikacja otrzyma powiadomienie na GoogleMap.OnPolygonClickListener. Detektor zdarzeń jest zarejestrowany przez setOnPolygonClickListener(GoogleMap.OnPolygonClickListener).

Parametry
możliwe kliknięcie Nowe ustawienie klikalności wielokąta.

public void setFillColor (int color)

Ustawia kolor wypełnienia tego wielokąta.

Parametry
kolor kolor w formacie ARGB,

public void setGeodesic (boolean geodesic)

Określa, czy każdy odcinek linii ma być rysowany jako geodezyjny.

Parametry
geodezyjne jeśli true, każdy fragment zostanie narysowany jako geodezja. Jeśli false, każdy fragment zostanie narysowany jako linia prosta w rzutowaniu Merkatora.

public void setHoles (List<? extends List<LatLng>> dziury)

Ustawia otwory w tym wielokątie. Ta metoda spowoduje skopiowanie otworów, więc kolejne mutacje do holes nie będą miały wpływu na ten wielokąt.

Parametry
otwory lista otworów. Otwór to lista otworów LatLng.

public void setPoints (List<LatLng> pkt)

Ustawia punkty tego wielokąta. Ta metoda pobierze kopię punktów, więc kolejne mutacje funkcji points nie będą miały na niego wpływu.

Parametry
pkt lista wierzchołków wielokąta (LatLng).

public void setStrokeColor (int color)

Ustawia kolor linii tego wielokąta.

Parametry
kolor kolor w formacie ARGB,

public void setStrokeJointType (int jointType)

Ustawia typ złączenia wszystkich wierzchołków konturu wielokąta.

Dozwolone wartości znajdziesz na stronie JointType. Jeśli typ połączenia będzie nieokreślony lub nie należy do dozwolonych wartości, będzie używana wartość domyślna DEFAULT.

Parametry
jointType typ połączenia.

public void setStrokePattern (List<PatternItem> wzór)

Ustawia wzór linii obrysu wielokąta. Domyślny wzór kreski jest ciągły i reprezentowany przez null.

Parametry
wzór na wzór kreski.

public void setStrokeWidth (szerokości zmiennoprzecinkowe)

Ustawia szerokość kreski tego wielokąta.

Parametry
szerokość szerokości w pikselach wyświetlanych.

public void setTag (tag obiektu)

Ustawia tag wielokąta.

Dzięki tej właściwości możesz powiązać dowolny obiekt Object z tym wielokątem. Na przykład obiekt Object może zawierać informacje o tym, co reprezentuje wielokąt. Jest to łatwiejsze niż przechowywanie osobnego elementu Map<Polygon, 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 setVisible (boolean visible)

Ustawia widoczność tego wielokąta. Kiedy wielokąt jest niewidoczny, nie jest on rysowany, ale zachowuje wszystkie pozostałe właściwości.

Parametry
widoczna jeśli true, wielokąt jest widoczny. Jeśli false, nie jest.

public void setZIndex (float zIndex)

Ustawia wartość zIndex tego wielokąta. Wielokąty o większych wartościach zInddi są rysowane wyżej niż te z niższymi indeksami.

Parametry
zIndex wartości zIndex tego wielokąta.