Polyline

公開最終類別 Polyline 可擴充物件

折線是點清單,其中線段會在連續的點之間繪製。折線具有下列屬性:

積分
線條的頂點。線段會在連續點之間繪製。根據預設,折線「不會」關閉。如要形成封閉折線,起點和終點必須相同。
寬度
線段寬度,以螢幕像素為單位。寬度是常數,而且與相機的縮放等級無關。預設值為 10。
顏色
線段顏色採用 ARGB 格式,格式與 Color 相同。預設值為黑色 (0xff000000)。
開始/結尾展示畫面
定義折線起點或終點使用的形狀。支援的上限類型:ButtCapSquareCapRoundCap (適用於純筆筆劃模式) 和 CustomCap (適用於任何筆劃模式)。起始和結束時間的預設值:ButtCap
連接類型
連接類型用於定義折線所有頂點的相鄰線段 (起始和結束端點除外) 連接的形狀。如要瞭解支援的彙整類型,請參閱 JointType。預設值為 DEFAULT
筆劃圖案
固定 (預設值,以 null 表示),或是一組 PatternItem 物件,沿著線條重複使用。可用的 PatternItem 類型:Gap (由像素相距長度定義)、Dash (以線條寬度和破折號長度 (以像素為單位)) 和 Dot (圓形,位於線條中央,直徑定義為線條寬度)。
Z-Index
此圖塊疊加層相對於其他疊加層 (包括 GroundOverlayTileOverlayCirclePolygon,但不含 Marker) 的繪製順序。系統會將 Z-index 值較大的疊加層繪製在較小的 Z 索引上。如果疊加層的 Z-index 值相同,則疊加順序是隨機決定的。預設的 zIndex 值為 0。
瀏覽權限
指出折線是可見還是隱藏,也就是是否在地圖上繪製。隱藏的折線不會繪製,但會保留所有其他屬性。預設為 true (也就是可見)。
測地線狀態
指出折線是否應繪製為測地線,而不是麥卡托投影中的直線。測地線是地球表面上兩點之間的最短路徑。我們假設地球是球體
,並據此建構測地線曲線
可點擊性
如要處理使用者點選折線時觸發的事件,請將這項屬性設為 true。您隨時可以變更這個值。預設值為 false。如果此屬性設為 true,應用程式就會傳送通知給透過 setOnPolylineClickListener(GoogleMap.OnPolylineClickListener) 註冊的 GoogleMap.OnPolylineClickListener
標記
與折線相關聯的 Object。舉例來說,Object 可包含折線代表的相關資料。這比儲存個別的 Map<Polyline, Object> 容易許多。在另一個範例中,您可以將與資料集 ID 對應的 String ID 建立關聯。Google Maps SDK for Android 不會讀取或寫入這個屬性。
時距
定義用來呈現此折線的不同樣式的 Span。您可以使用這項屬性,在折線的不同線段上建立設有不同 StrokeStyle 的折線。

此類別中的方法必須在 Android UI 執行緒上呼叫。否則,系統會在執行階段擲回 IllegalStateException

範例

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));
 

開發人員指南

詳情請參閱「形狀」開發人員指南。

公用方法摘要

布林值
等於(其他物件)
測試此 Polyline 是否等於另一個值。
int
getColor()
取得這個折線的顏色。
Cap
getEndCap()
取得此折線終點端點的端點上限。
字串
getId()
取得此折線的 ID。
int
getJointType()
取得折線所有端點使用的連接類型,但起點和終點除外。
List<PatternItem>
getPattern()
取得此折線的筆劃圖案。
List<LatLng>
getPoints()
傳回這個折線目前端點的快照。
Cap
getStartCap()
取得此折線的起點端點的端點。
物件
getTag()
取得折線的標記。
浮點值
getWidth()
取得這個折線的寬度。
浮點值
getZIndex()
取得此折線的 zIndex。
int
布林值
isClickable()
取得折線的可點擊性。
布林值
isGeodesic()
取得線條的每個路段是否繪製為測地線。
布林值
isVisible()
取得此折線的顯示設定。
void
remove()
從地圖中移除這個折線。
void
setClickable(布林值可點擊)
設定折線的可點擊性。
void
setColor(int color)
設定此折線的顏色。
void
setEndCap(Cap endCap) 鍵
設定此折線終點端點的端點上限。
void
setGeodesic(布林值測地線)
設定是否要繪製線條的每個區段,作為測地線。
void
setJointType(int JointType)
設定折線所有端點的連接類型,但起點和終點除外。
void
setPattern(List<PatternItem> mode)
設定折線的筆觸圖案。
void
setPoints(List<LatLng> 點)
設定此折線的點。
void
setSpans(List<StyleSpan> 時距)
設定折線的跨距。
void
setStartCap(Cap startCap)
設定此折線的起點端點的端點。
void
setTag(物件標記)
設定折線的標記。
void
setVisible(可見布林值)
設定此折線的顯示設定。
void
setWidth(浮點寬度)
設定此折線的寬度。
void
setZIndex(float zIndex)
設定這個折線的 zIndex。

繼承方法摘要

公用方法

公開布林值 等於 (物件其他)

測試此 Polyline 是否等於另一個值。

參數
其他 Object
傳回
  • 如果兩個物件相同,則傳回 true,即 == 其他物件。

public int getColor ()

取得這個折線的顏色。

傳回
  • ARGB 格式的顏色。

公開 Cap getEndCap ()

取得此折線終點端點的端點上限。

傳回
  • 結尾上限類型。

public String getId ()

取得此折線的 ID。此 ID 是地圖上所有折線的專屬 ID。

傳回
  • 此折線 ID。

public int getJointType ()

取得折線所有端點使用的連接類型,但起點和終點除外。如要查看可能的值,請參閱 JointType

傳回
  • 連接類型。

public List<PatternItem> getPattern ()

取得此折線的筆劃圖案。

傳回
  • 筆劃圖案。

public List<LatLng> getPoints ()

傳回這個折線目前端點的快照。傳回的清單是端點清單的副本,因此對折線的端點所做的變更不會反映在這份清單中,折線也不會反映此清單的變更。如要變更折線的頂點,請呼叫 setPoints(List)

公開 Cap getStartCap ()

取得此折線的起點端點的端點。

傳回

公開物件 getTag ()

取得折線的標記。

傳回
  • 如果標記是設為 setTag 時的標記;如果未設定任何標記,則為 null

public float getWidth ()

取得這個折線的寬度。

傳回
  • 螢幕像素的寬度。

public float getZIndex ()

取得此折線的 zIndex。

傳回
  • 折線的 zIndex。

public int hashCode ()

public boolean isClickable ()

取得折線的可點擊性。如果折線可點擊,當使用者點擊折線時,您的應用程式會收到 GoogleMap.OnPolylineClickListener 的通知。事件監聽器透過 setOnPolylineClickListener(GoogleMap.OnPolylineClickListener) 註冊。

傳回
  • 如果折線為可點擊,則傳回 true;否則會傳回 false

公開布林值 isGeodesic ()

取得線條的每個路段是否繪製為測地線。

傳回
  • 如果每個線段都繪製為測地線,則為 true;如果每個線段在麥卡托投影上繪製為直線,則為 false

public boolean isVisible ()

取得此折線的顯示設定。

傳回
  • 此折線的顯示設定。

public void remove ()

從地圖中移除這個折線。移除折線後,折線所有方法的行為都會未定義。

public void setClickable (布林值可點擊)

設定折線的可點擊性。如果折線可點擊,當使用者點擊折線時,您的應用程式會收到 GoogleMap.OnPolylineClickListener 的通知。事件監聽器透過 setOnPolylineClickListener(GoogleMap.OnPolylineClickListener) 註冊。

參數
可點擊 新增折線可點擊屬性設定。

public void setColor (int color)

設定此折線的顏色。

參數
顏色 ARGB 格式的顏色

public void setEndCap (Cap endCap)

設定此折線終點端點的端點上限。預設的結尾上限為 ButtCap

參數
endCap 結尾展示畫面,不可使用 null

public void setGeodesic (boolean geodesic)

設定是否要繪製線條的每個區段,作為測地線。

參數
geodesic 如果為 true,則每個線段都會繪製成測地線;如果為 false,每個線段會在麥卡托投影上繪製成直線。

public void setJointType (int JointType)

設定折線所有端點的連接類型,但起點和終點除外。

如要查看允許的值,請參閱 JointType。如果彙整類型未定義或並非允許的值,則會使用預設值 DEFAULT

參數
jointType 連接類型。

public void setPattern (List<PatternItem> 模式)

設定折線的筆觸圖案。預設的筆劃圖案為實心,以 null 表示。

參數
圖案 筆劃圖案。

public void setPoints (List<LatLng> 點)

設定此折線的點。這個方法會擷取點的副本,因此後續對 points 進行的異動不會影響這個折線。

參數
points LatLng 清單,此為折線的端點。

public void setSpans (List<StyleSpan> 時距)

設定折線的跨距。

參數
時距

public void setStartCap (Cap startCap)

設定此折線的起點端點的端點。預設開始上限為 ButtCap

參數
startCap 開頭不能超過 null

public void setTag (物件標記)

設定折線的標記。

您可以使用這個屬性,將任意 Object 與這個折線建立關聯。舉例來說,Object 可包含折線代表的相關資料。這比儲存個別的 Map<Polyline, Object> 容易。另一個例子是,您可以將與資料集 ID 對應的 String ID 建立關聯。Google Maps SDK for Android 不會讀取或寫入這個屬性。您必須負責呼叫 setTag(null) 以清除不再需要的標記,以免應用程式的記憶體流失。

參數
標記 如果為空值,系統會清除標記。

public void setVisible (boolean visible)

設定此折線的顯示設定。未顯示時,系統不會繪製折線,但會保留所有其他屬性。

參數
顯示 如果為 true,則系統會顯示折線;如果為 false,則不會顯示折線。

public void setWidth (浮點寬度)

設定此折線的寬度。

參數
width 螢幕像素的寬度

public void setZIndex (float zIndex)

設定這個折線的 zIndex。系統會將 zIndices 高的折線繪製在較高指數較低的折線之上。

參數
zIndex 此折線的 zIndex。