地球表面上的多邊形。多邊形可以是凸面或斜體,可以橫跨 180 個 而且可能有未填滿的孔。並包含下列屬性:
- 輪廓
- 外框是由以順時針或逆時針順序的端點清單指定。這項服務 不需要更改起點和終點;如果沒有,多邊形 線段是由較短的連續點之間繪製 (東或西)。
- 孔洞
- 孔是多邊形中未填滿的區域。坑洞位置 與外框相同輪廓必須完全包含在輪廓中。多個 可指定孔,但是不支援重疊的孔。
- 筆劃寬度
- 螢幕像素中的線段寬度。寬度會固定,獨立於相機的 或縮放等級。預設值為 10。
- 筆劃顏色
- 採用 ARGB 格式的線段顏色,與
Color
所使用的格式相同。 預設值為黑色 (0xff000000
)。 - 筆劃接頭類型
- 連接類型定義了要用於彙整相鄰線段的形狀
多邊形輪廓的頂點。如要瞭解支援的彙整類型,請參閱
JointType
。 預設值為DEFAULT
。 - 筆劃圖案
- 實線 (預設,以
null
表示) 或PatternItem
物件的序列 和多邊形的外框重複。可用的PatternItem
類型:Gap
(以像素長度定義)、Dash
(以筆劃寬度和破折號定義) 以像素為單位) 和Dot
(圓形、以多邊形的輪廓為中心,直徑為中心) 定義)。 - 填滿顏色
- 使用 ARGB 格式填滿顏色,與
Color
所使用的格式相同。 預設值為透明 (0x00000000
)。如果未指定多邊形幾何圖形 正確 (請參閱上述的 Outline 和 Holes),則不會繪製任何填滿。 - Z 索引
- 這個多邊形與其他疊加層之間的繪製順序,包括
Polyline
、Circle
、GroundOverlay
和TileOverlay
,但不包括Marker
秒。系統會將 Z-index 值較大的疊加層繪製在較小的疊加層上 Z 索引。如果疊加層的 Z-index 值相同,則疊加順序是隨機決定的。預設值為 0. - 能見度
- 指出多邊形是否可見,亦即是否在地圖上繪製。一個
不可見的多邊形不會繪製,但會保留其所有其他屬性。預設值為
true
,也就是可見。 - 測地線狀態
- 指出多邊形路段是否應繪製為測地線,而非 麥卡托投影上的直線。測地線是兩條線之間的最短路徑 就會發生故障並假設地球為 球體 ,瞭解如何調查及移除這項存取權。
- 可點擊屬性
- 如要處理使用者點擊多邊形時觸發的事件,請將這項屬性設為
true
。您隨時可以變更這個值。預設值為false
。如果這是 屬性設為true
,您的應用程式將收到透過setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
註冊的GoogleMap.OnPolygonClickListener
通知。 - 標記
- 與多邊形相關聯的
Object
。例如,Object
可以包含 多邊形所代表意義的相關資料這種做法比儲存單獨的Map<Polygon, Object>
更簡單。另一個範例是,您可以將String
ID 對應至資料集的 IDGoogle Maps SDK for Android 未讀取和 寫入此屬性。
此類別中的方法必須在 Android UI 執行緒上呼叫。否則會在執行階段擲回 IllegalStateException
。
範例
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));
開發人員指南
詳情請參閱「形狀」開發人員 指南。
公用方法摘要
boolean | |
int |
getFillColor()
取得這個多邊形的填滿顏色。
|
清單<LatLng>> |
getHoles()
傳回此多邊形目前孔的快照。
|
字串 |
getId()
取得這個多邊形的 ID。
|
清單<LatLng> |
getPoints()
傳回此多邊形目前端點的快照。
|
int |
getStrokeColor()
取得這個多邊形的筆劃顏色。
|
int |
getStrokeJointType()
取得多邊形外框所有頂點使用的筆劃連接類型。
|
清單<PatternItem> |
getStrokePattern()
取得多邊形輪廓的筆劃圖案。
|
float |
getStrokeWidth()
取得這個多邊形的筆劃寬度。
|
物品 |
getTag()
取得多邊形的標記。
|
float |
getZIndex()
取得這個多邊形的 zIndex。
|
int |
hashCode()
|
boolean |
isClickable()
取得多邊形的可點擊性。
|
boolean |
isGeodesic()
取得線條的每個線段是否以測地線繪製。
|
boolean |
isVisible()
取得這個多邊形的可見度。
|
void |
remove()
從地圖中移除多邊形。
|
void |
setClickable(可點擊的布林值)
設定多邊形的可點擊性。
|
void |
setFillColor(色調)
設定此多邊形的填滿顏色。
|
void |
setGeodesic(boolean geodesic)
設定是否要繪製線條每個線段的測地線。
|
void | |
void | |
void |
setStrokeColor(色調)
設定這個多邊形的筆劃顏色。
|
void |
setStrokeJointType(int jointType)
設定多邊形輪廓所有頂點的連接類型。
|
void | |
void |
setStrokeWidth(浮點寬度)
設定這個多邊形的筆劃寬度。
|
void |
setTag(物件標記)
設定多邊形的標記。
|
void |
setVisible(boolean visible)
設定這個多邊形的顯示設定。
|
void |
setZIndex(浮點 zIndex)
設定這個多邊形的 zIndex。
|
繼承方法摘要
公用方法
公開 攔截 getFillColor ()
取得這個多邊形的填滿顏色。
傳回
- 也呈現出 ARGB 格式的色彩
公開 字串 getId ()
取得這個多邊形的 ID。地圖上所有的多邊形都不會有相同的 ID。
公開 清單<LatLng> getPoints ()
傳回此多邊形目前端點的快照。傳回的清單為副本
因此對多邊形頂點所做的變更不會反映到
也不會對這份清單進行的變更。如要變更
多邊形,呼叫 setPoints(List)
。
公開 攔截 getStrokeColor ()
取得這個多邊形的筆劃顏色。
傳回
- 也呈現出 ARGB 格式的色彩
公開 浮點值 getStrokeWidth ()
取得這個多邊形的筆劃寬度。
傳回
- 以螢幕像素為單位的寬度
公開 物品 getTag ()
取得多邊形的標記。
傳回
- 標記 (如果使用
setTag
設定標記);如果未設定任何代碼,則為null
。
公開 浮點值 getZIndex ()
取得這個多邊形的 zIndex。
傳回
- 多邊形的 zIndex。
公開 攔截 hashCode ()
公開 布林值 isClickable ()
取得多邊形的可點擊性。如果多邊形可以點擊,您的應用程式就會收到
當使用者按一下多邊形時,會向 GoogleMap.OnPolygonClickListener
發出通知。
事件監聽器是透過 setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
註冊。
傳回
- 如果多邊形可點擊,則為
true
;如果沒有,則會傳回false
。
公開 布林值 isGeodesic ()
取得線條的每個線段是否以測地線繪製。
傳回
true
(如果每個線段繪製為測地線);如果每個區隔都是false
繪製在麥卡托投影上時,以直線繪製。
公開 布林值 isVisible ()
取得這個多邊形的可見度。
傳回
- 這個多邊形能見度。
公開 void 移除 ()
從地圖中移除多邊形。移除某個多邊形後,該多邊形的所有行為 方法均未定義。
公開 void setClickable (可點擊布林值)
設定多邊形的可點擊性。如果多邊形可以點擊,您的應用程式就會收到
當使用者按一下多邊形時,會向 GoogleMap.OnPolygonClickListener
發出通知。
事件監聽器是透過 setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
註冊。
參數
可點擊 | 新增多邊形的可點擊性設定。 |
---|
公開 void setFillColor (顏色)
設定此多邊形的填滿顏色。
參數
顏色 | ARGB 格式的顏色 |
---|
公開 void setGeodesic (布林值測地線)
設定是否要繪製線條每個線段的測地線。
參數
geodesic | 如果是 true ,則每個線段繪製成測地線;如 false 、
每個線段在麥卡托投影中會以直線繪製。
|
---|
公開 void setHoles (List<? extends List<LatLng>>洞)
設定這個多邊形的孔。這個方法會擷取孔洞,因此後續變動
到 holes
不會對這個多邊形產生任何影響。
參數
洞 | 孔洞清單,其中孔是 LatLng 的清單。
|
---|
公開 void setPoints (List<LatLng> 點)
設定這個多邊形的點。這個方法會複製點數,因此
對 points
的異動不會對這個多邊形造成任何影響。
參數
points | 這個 LatLng 清單是多邊形的頂點。
|
---|
公開 void setStrokeColor (顏色)
設定這個多邊形的筆劃顏色。
參數
顏色 | ARGB 格式的顏色 |
---|
公開 void setStrokeJointType (int jointType)
公開 void setStrokeWidth (浮點寬度)
設定這個多邊形的筆劃寬度。
參數
寬度 | 以顯示像素的寬度為準 |
---|
公開 void setTag (物件標記)
設定多邊形的標記。
您可以使用這個屬性,將任意 Object
與這個多邊形建立關聯。適用對象
舉例來說,Object
可以包含多邊形所代表的相關資料。這樣比較容易
而不是儲存獨立的 Map<Polygon, Object>
再舉一個例子,您可以將
與資料集的 ID 對應的 String
ID。Google Maps SDK for Android
不會讀取或寫入這個屬性您有責任呼叫 setTag(null)
指出問題所在
,以避免應用程式發生記憶體流失的問題。
參數
標記 | 如果為空值,系統會清除標記。 |
---|
公開 void setVisible (可見布林值)
設定這個多邊形的顯示設定。在不可見的情況下,多邊形不會繪製,但會保留全部 和其他屬性
參數
顯示 | 如果 true ,則可以看到多邊形;如果為 false ,則不是。
|
---|
公開 void setZIndex (浮點值 zIndex)
設定這個多邊形的 zIndex。zIndice 較高的多邊形會繪製在數值較低的多邊形之上 索引。
參數
zIndex | 這個多邊形的 zIndex。 |
---|