折線是點清單,其中線段會在連續的點之間繪製。折線具有下列屬性:
- 積分
- 線條的頂點。線段會在連續點之間繪製。根據預設,折線「不會」關閉。如要形成封閉折線,起點和終點必須相同。
- 寬度
- 線段寬度,以螢幕像素為單位。寬度是常數,而且與相機的縮放等級無關。預設值為 10。
- 顏色
- 線段顏色採用 ARGB 格式,格式與
Color
相同。預設值為黑色 (0xff000000
)。 - 開始/結尾展示畫面
- 定義折線起點或終點使用的形狀。支援的上限類型:
ButtCap
、SquareCap
、RoundCap
(適用於純筆筆劃模式) 和CustomCap
(適用於任何筆劃模式)。起始和結束時間的預設值:ButtCap
。 - 連接類型
- 連接類型用於定義折線所有頂點的相鄰線段 (起始和結束端點除外) 連接的形狀。如要瞭解支援的彙整類型,請參閱
JointType
。預設值為DEFAULT
。 - 筆劃圖案
- 固定 (預設值,以
null
表示),或是一組PatternItem
物件,沿著線條重複使用。可用的PatternItem
類型:Gap
(由像素相距長度定義)、Dash
(以線條寬度和破折號長度 (以像素為單位)) 和Dot
(圓形,位於線條中央,直徑定義為線條寬度)。 - Z-Index
- 此圖塊疊加層相對於其他疊加層 (包括
GroundOverlay
、TileOverlay
、Circle
和Polygon
,但不含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));
開發人員指南
詳情請參閱「形狀」開發人員指南。
公用方法摘要
布林值 | |
int |
getColor()
取得這個折線的顏色。
|
Cap |
getEndCap()
取得此折線終點端點的端點上限。
|
字串 |
getId()
取得此折線的 ID。
|
int |
getJointType()
取得折線所有端點使用的連接類型,但起點和終點除外。
|
List<PatternItem> |
getPattern()
取得此折線的筆劃圖案。
|
List<LatLng> |
getPoints()
傳回這個折線目前端點的快照。
|
Cap |
getStartCap()
取得此折線的起點端點的端點。
|
物件 |
getTag()
取得折線的標記。
|
浮點值 |
getWidth()
取得這個折線的寬度。
|
浮點值 |
getZIndex()
取得此折線的 zIndex。
|
int |
hashCode()
|
布林值 |
isClickable()
取得折線的可點擊性。
|
布林值 |
isGeodesic()
取得線條的每個路段是否繪製為測地線。
|
布林值 |
isVisible()
取得此折線的顯示設定。
|
void |
remove()
從地圖中移除這個折線。
|
void |
setClickable(布林值可點擊)
設定折線的可點擊性。
|
void |
setColor(int color)
設定此折線的顏色。
|
void | |
void |
setGeodesic(布林值測地線)
設定是否要繪製線條的每個區段,作為測地線。
|
void |
setJointType(int JointType)
設定折線所有端點的連接類型,但起點和終點除外。
|
void | |
void | |
void | |
void | |
void |
setTag(物件標記)
設定折線的標記。
|
void |
setVisible(可見布林值)
設定此折線的顯示設定。
|
void |
setWidth(浮點寬度)
設定此折線的寬度。
|
void |
setZIndex(float zIndex)
設定這個折線的 zIndex。
|
繼承方法摘要
公用方法
public int getColor ()
取得這個折線的顏色。
傳回
- ARGB 格式的顏色。
public String getId ()
取得此折線的 ID。此 ID 是地圖上所有折線的專屬 ID。
傳回
- 此折線 ID。
public List<LatLng> getPoints ()
傳回這個折線目前端點的快照。傳回的清單是端點清單的副本,因此對折線的端點所做的變更不會反映在這份清單中,折線也不會反映此清單的變更。如要變更折線的頂點,請呼叫 setPoints(List)
。
公開物件 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 setGeodesic (boolean geodesic)
設定是否要繪製線條的每個區段,作為測地線。
參數
geodesic | 如果為 true ,則每個線段都會繪製成測地線;如果為 false ,每個線段會在麥卡托投影上繪製成直線。 |
---|
public void setJointType (int JointType)
public void setPoints (List<LatLng> 點)
設定此折線的點。這個方法會擷取點的副本,因此後續對 points
進行的異動不會影響這個折線。
參數
points | LatLng 清單,此為折線的端點。
|
---|
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。 |
---|