Linia łamana to lista punktów, w których odcinki linii są rysowane między kolejnymi punktami. Linia łamana ma te właściwości:
- Punkty
- Wierki linii. Odcinki linii są rysowane między kolejnymi punktami. Linia łamana nie jest domyślnie zamknięta. Aby utworzyć zamkniętą linię łamaną, punkty początkowy i końcowy muszą być takie same.
- Szerokość
- Szerokość segmentu linii w pikselach ekranu. Szerokość jest stała i niezależna od poziomu powiększenia. Wartością domyślną jest 10.
- Kolor
- Kolor segmentu linii w formacie ARGB, taki sam jak format używany przez aplikację
Color
. Wartością domyślną jest czarny (0xff000000
). - Limit początkowy/końcowy
- Określa kształt, który zostanie użyty na początku lub na końcu linii łamanej. Obsługiwane typy ograniczeń:
ButtCap
,SquareCap
,RoundCap
(dotyczy we wzorach kresek jednolitych) iCustomCap
(dotyczy każdego wzoru kreski). Domyślnie na początku i na końcu:ButtCap
. - Typ złączenia
- Typ połączenia określa kształt, który ma zostać użyty podczas łączenia przyległych fragmentów linii we wszystkich wierzchołkach linii łamanej z wyjątkiem wierzchołków początkowych i końcowych. Informacje o obsługiwanych typach złączy znajdziesz na stronie
JointType
. Wartością domyślną jestDEFAULT
. - Styl kreski
- Ciągła (domyślnie, reprezentowana przez
null
) lub sekwencjaPatternItem
obiektów do powtórzenia na linii. Dostępne typyPatternItem
:Gap
(zdefiniowane jako długość przerwy w pikselach),Dash
(zdefiniowane jako szerokość linii i długość myślnika w pikselach) iDot
(okrągły, wyśrodkowany na linii, średnica zdefiniowana przez szerokość linii w pikselach). - Kolejność nakładania elementów
- Kolejność, w jakiej jest rysowana ta nakładka z kafelkami w odniesieniu do innych nakładek (w tym
GroundOverlay
,TileOverlay
,Circle
iPolygon
, ale nieMarker
). 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. - Widoczność
- Wskazuje, czy linia łamana jest widoczna czy niewidoczna, tj. czy jest narysowana na mapie. Niewidoczna linia łamana nie jest rysowana, ale zachowuje wszystkie swoje pozostałe właściwości. Wartość domyślna to
true
, czyli widoczna. - Stan geodezyjny
- Wskazuje, czy odcinki linii łamanej powinny być rysowane jako elementy 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, gdy użytkownik kliknie linię łamaną, 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 wartośćtrue
, Twoja aplikacja będzie otrzymywać powiadomienia doGoogleMap.OnPolylineClickListener
zarejestrowanego dosetOnPolylineClickListener(GoogleMap.OnPolylineClickListener)
. - Oznacz
Object
powiązany z linią łamaną. Na przykład obiektObject
może zawierać dane o tym, co reprezentuje linia łamana. To łatwiejsze niż przechowywanie osobnego elementuMap<Polyline, Object>
. Inny przykład możesz powiązać z identyfikatoremString
odpowiadającym identyfikatorowi ze zbioru danych. Pakiet SDK Map Google na Androida nie odczytuje ani nie zapisuje tej właściwości.- Spany
- Definiowanie rozpiętości przy użyciu różnych stylów używanych do renderowania tej linii łamanej. Możesz użyć tej właściwości do utworzenia linii łamanej o różnych parametrach
StrokeStyle
w różnych jej segmentach.
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 thin red line from London to New York.
Polyline line = map.addPolyline(new PolylineOptions()
.add(new LatLng(51.5, -0.1), new LatLng(40.7, -74.0))
.width(5)
.color(Color.RED));
Przewodnik dla programistów
Więcej informacji znajdziesz w przewodniku dla programistów dotyczącym kształtów.
Podsumowanie metod publicznych
boolean | |
int |
getColor()
Pobiera kolor tej linii łamanej.
|
Czapka |
getEndCap()
Pobiera ograniczenie na końcu wierzchołku tej linii łamanej.
|
Ciąg znaków |
getId()
Pobiera identyfikator tej linii łamanej.
|
int |
getJointType(),
Pobiera typ połączenia używany we wszystkich wierzchołkach linii łamanej oprócz wierzchołków początkowych i końcowych.
|
List<PatternItem> |
getPattern()
Pobiera wzór kreski tej linii łamanej.
|
List<LatLng> |
getPoints()
Zwraca w tej chwili migawkę wierzchołków tej linii łamanej .
|
Czapka |
getStartCap()
Pobiera ograniczenie na początkowym wierzchołku tej linii łamanej.
|
Obiekt |
getTag()
Pobiera tag linii łamanej.
|
float |
getWidth()
Pobiera szerokość tej linii łamanej.
|
float |
getZIndex(),
Pobiera wartość zIndex tej linii łamanej.
|
int |
hashCode()
|
boolean |
isClickable()
Pobiera klikalność linii łamanej.
|
boolean |
isGeodesic()
Określa, czy każdy odcinek linii jest narysowany jako geodezyjny.
|
boolean |
isVisible(),
Uzyskuje widoczność tej linii łamanej.
|
void |
remove()
Usuwa tę linię łamaną z mapy.
|
void |
setClickable(wartość logiczna)
Określa klikalność linii łamanej.
|
void |
setColor(int color)
Ustawia kolor tej linii łamanej.
|
void | |
void |
setGeodesic(wartość logiczna geodezyjna)
Określa, czy każdy odcinek linii ma być rysowany jako geodezyjny.
|
void |
setJointType(int jointType)
Ustawia typ połączenia dla wszystkich wierzchołków linii łamanej oprócz wierzchołków początkowych i końcowych.
|
void | |
void | |
void | |
void | |
void |
setTag(tag obiektu)
Ustawia tag linii łamanej.
|
void |
setVisible(widoczna wartość logiczna)
Ustawia widoczność tej linii łamanej.
|
void |
setWidth(szerokość zmiennoprzecinkowa)
Ustawia szerokość tej linii łamanej.
|
void |
setZIndex(zIndex z wykorzystaniem liczby zmiennoprzecinkowej)
Ustawia wartość zIndex tej linii łamanej.
|
Podsumowanie metod dziedziczonych
Metody publiczne
publiczna wartość logiczna równa się (Inny obiekt)
public int getColor ()
Pobiera kolor tej linii łamanej.
Akcje powrotne
- kolor w formacie ARGB.
public Cap getEndCap ()
Pobiera ograniczenie na końcu wierzchołku tej linii łamanej.
Akcje powrotne
- typ reklamy końcowej.
public String getId ()
Pobiera identyfikator tej linii łamanej. Ten identyfikator będzie unikalny wśród wszystkich linii łamanych na mapie.
Akcje powrotne
- identyfikatora tej linii łamanej.
public int getJointType ()
Pobiera typ połączenia używany we wszystkich wierzchołkach linii łamanej oprócz wierzchołków początkowych i końcowych. Możliwe wartości znajdziesz na stronie JointType
.
Akcje powrotne
- typ połączenia.
public List<PatternItem> getPattern ()
Pobiera wzór kreski tej linii łamanej.
Akcje powrotne
- na wzór kreski.
public List<LatLng> getPoints ()
Zwraca w tej chwili migawkę wierzchołków tej linii łamanej . Zwracana lista jest kopią listy wierzchołków, więc zmiany wierzchołków linii łamanej nie są odzwierciedlane na tej liście, a zmiany wprowadzone na liście nie są odzwierciedlane przez linię łamaną. Aby zmienić wierzchołki linii łamanej, wywołaj setPoints(List)
.
public Cap getStartCap ()
Pobiera ograniczenie na początkowym wierzchołku tej linii łamanej.
Akcje powrotne
- limitu początkowego.
public Object getTag ()
Pobiera tag linii łamanej.
Akcje powrotne
- jeśli tag został ustawiony o wartości
setTag
lubnull
, jeśli nie ustawiono żadnego tagu.
public float getWidth ()
Pobiera szerokość tej linii łamanej.
Akcje powrotne
- szerokości w pikselach ekranu.
public float getZIndex ()
Pobiera wartość zIndex tej linii łamanej.
Akcje powrotne
- wartość zIndex linii łamanej.
public int hashCode ()
public boolean isClickable ()
Pobiera klikalność linii łamanej. Jeśli można kliknąć linię łamaną, aplikacja będzie otrzymywać
powiadomienia do GoogleMap.OnPolylineClickListener
, gdy użytkownik kliknie
tę linię. Detektor zdarzeń jest zarejestrowany przez setOnPolylineClickListener(GoogleMap.OnPolylineClickListener)
.
Akcje powrotne
true
, jeśli linię łamaną można kliknąć. W przeciwnym razie zwracafalse
.
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 lubfalse
, jeśli każdy odcinek jest narysowany jako linia prosta na odwzorowaniu Merkatora.
public boolean isVisible ()
Uzyskuje widoczność tej linii łamanej.
Akcje powrotne
- widoczność tej linii łamanej.
public void remove ()
Usuwa tę linię łamaną z mapy. Po usunięciu linii łamanej działanie wszystkich jej metod staje się nieokreślone.
public void setClickable (wartość logiczna)
Określa klikalność linii łamanej. Jeśli można kliknąć linię łamaną, aplikacja będzie otrzymywać
powiadomienia do GoogleMap.OnPolylineClickListener
, gdy użytkownik kliknie
tę linię. Detektor zdarzeń jest zarejestrowany przez setOnPolylineClickListener(GoogleMap.OnPolylineClickListener)
.
Parametry
możliwe kliknięcie | Nowe ustawienie klikalności linii łamanej. |
---|
public void setColor (int color)
Ustawia kolor tej linii łamanej.
Parametry
kolor | kolor w formacie ARGB, |
---|
public void setEndCap (Cap endCap)
Ustawia ograniczenie na końcu tej linii łamanej. Domyślny limit końcowy to ButtCap
.
Parametry
endCap | zakończenie wyświetlania. Nie może to być null .
|
---|
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 setJointType (int jointType)
Ustawia typ połączenia dla wszystkich wierzchołków linii łamanej oprócz wierzchołków początkowych i końcowych.
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 setPattern (List<PatternItem> wzór)
Ustawia wzór kreski linii łamanej. Domyślny wzór kreski jest ciągły i reprezentowany przez null
.
Parametry
wzór | na wzór kreski. |
---|
public void setPoints (List<LatLng> pkt)
Ustawia punkty tej linii łamanej. Ta metoda pobierze kopię punktów, więc kolejne mutacje do points
nie będą miały wpływu na tę linię łamaną.
Parametry
pkt | lista elementów LatLng będących wierzchołkami linii łamanej.
|
---|
public void setStartCap (Cap startCap)
Ustawia ograniczenie na początkowym wierzchołku tej linii łamanej. Domyślny limit początkowy to ButtCap
.
Parametry
startCap | limitu początkowego. Nie może to być null .
|
---|
public void setTag (tag obiektu)
Ustawia tag linii łamanej.
Za pomocą tej właściwości możesz powiązać dowolny obiekt Object
z tą linią łamaną. Na przykład obiekt Object
może zawierać dane o tym, co reprezentuje linia łamana. Jest to łatwiejsze niż przechowywanie osobnego elementu Map<Polyline, 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ść tej linii łamanej. Jeśli linia łamana jest niewidoczna, nie jest rysowana, ale zachowuje wszystkie pozostałe właściwości.
Parametry
widoczna | jeśli true , linia łamana jest widoczna. Jeśli false , nie jest.
|
---|
public void setWidth (szerokości zmiennoprzecinkowe)
Ustawia szerokość tej linii łamanej.
Parametry
szerokość | szerokość w pikselach ekranu |
---|
public void setZIndex (float zIndex)
Ustawia wartość zIndex tej linii łamanej. Linie łamane o wyższych wartościach zIndicy są rysowane powyżej tych z niższymi indeksami.
Parametry
zIndex | wartość zIndex tej linii łamanej. |
---|