地球表面上的多邊形。多邊形可以是凸面或凹面,可跨越 180 度的階線,並且可能包含空缺的孔。其屬性如下:
- 輪廓
- 外框以順時針或逆時針順序指定頂點清單。起點和終點不需要,而且如果沒有,多邊形會自動關閉。兩條路線的較短點 (東方或西方) 內相鄰的線段。
- 全彩
- 孔是指多邊形中未填滿的區域。孔的定位方式與輪廓完全相同。大綱中必須包含一個孔。您可以指定多個孔,但系統不支援重疊孔。
- 筆劃寬度
- 螢幕區隔的螢幕寬度寬度保持不變,且與相機的縮放等級無關。預設值為 10。
- 筆劃顏色
- 折線圖採用 ARGB 格式,與
Color
使用的格式相同。 預設值為黑色 (0xff000000
)。 - 筆劃接種類型
- 連接類型定義了將多邊形和外框所有頂點合併的相鄰線條時要使用的形狀。請參閱
JointType
,瞭解支援的彙整類型。預設值為DEFAULT
。 - 筆劃圖案
- 固體 (預設以
null
表示) 或一系列PatternItem
物件 (沿著多邊形和外框重複)。可用的PatternItem
類型:Gap
(由像素寬度的間隔長度定義)、Dash
(以筆劃寬度和虛線長度的像素定義) 和Dot
(以多邊形為中心,以多邊形的筆劃為中心,以筆劃寬度表示的寬度) (以像素為單位)。 - 填滿顏色
- 填入 ARGB 格式的顏色,與
Color
使用的格式相同。預設值為透明 (0x00000000
)。如果未正確指定多邊形幾何圖形 (請參閱上方大綱和空洞),則不會繪製任何填滿。 - Z-index
- 此多邊形相對於其他疊加層的繪製順序,包括
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>
更輕鬆。另一個例子是,您可以將與 ID 對應的String
ID 與資料集建立關聯。Google 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));
開發人員指南
詳情請參閱形狀開發人員指南。
公用方法摘要
布林 | |
整數 |
getFillColor()
取得此多邊形的填滿顏色。
|
List<List<LatLng>> |
getHoles()
傳回此多邊形孔的快照。
|
字串 |
getId()
取得這個多邊形的 ID。
|
List<LatLng> |
getPoints()
傳回此多邊形的頂點快照。
|
整數 |
getStrokeColor()
取得這個多邊形的筆劃顏色。
|
整數 |
getStrokeJointType()
取得多邊形外框所有頂點使用的筆劃接縫類型。
|
List<PatternItem> |
getStrokePattern()
取得這個多邊形的筆劃圖案。
|
浮點值 |
getStrokeWidth()
取得此多邊形的筆劃寬度。
|
物件 |
getTag()
取得多邊形的標記。
|
浮點值 |
getZIndex()
取得這個多邊形的 zIndex。
|
整數 |
hashCode()
|
布林 |
isClickable()
取得多邊形的可點擊性。
|
布林 |
isGeodesic()
獲取線條的每段段是否繪製為測地線。
|
布林 |
isVisible()
取得此多邊形的顯示設定。
|
void |
remove()
從地圖中移除多邊形。
|
void |
setClickable (布林值可點擊)
設定多邊形的可點擊性。
|
void |
setFillColor (整數)
設定此多邊形的填滿顏色。
|
void |
setGeodesic(布林值測地線)
設定是否要將線條的每一個片段繪製為測地線。
|
void | |
void | |
void |
setStrokeColor (整數)
設定此多邊形的筆劃顏色。
|
void |
setStrokeJointType(整數的彙整類型)
設定多邊形外框所有頂點的連接類型。
|
void | |
void |
setStrokeWidth(浮動寬度)
設定此多邊形的筆劃寬度。
|
void |
setTag (物件標記)
設定多邊形的標記。
|
void |
setVisible(布林值顯示)
設定此多邊形的顯示設定。
|
void |
setZIndex(浮動值 zIndex)
設定此多邊形的 zIndex。
|
繼承方法摘要
公用方法
public int getFillColor()
取得此多邊形的填滿顏色。
傳回
- ARGB 格式的顏色。
public String getId ()
取得這個多邊形的 ID。地圖上顯示的所有多邊形 ID 不得重複。
public List<LatLng> getPoints ()
傳回此多邊形的頂點快照。傳回的清單是頂點清單的副本,因此多邊形的頂點不會反映在這份清單中,也不會對多邊形反映任何變更。如要變更多邊形的頂點,請呼叫 setPoints(List)
。
public int getStrokeColor ()
取得這個多邊形的筆劃顏色。
傳回
- ARGB 格式的顏色。
public float getStrokeWidth()
取得此多邊形的筆劃寬度。
傳回
- 螢幕寬度。
public Object getTag ()
取得多邊形的標記。
傳回
- 如使用
setTag
設定標記,如未設定標記則傳回null
。
public float getZIndex ()
取得這個多邊形的 zIndex。
傳回
- 多邊形的 zIndex。
public int hashCode ()
public 布林值 isClickable ()
取得多邊形的可點擊性。如果多邊形可以點擊,當使用者點按多邊形時,應用程式就會通知 GoogleMap.OnPolygonClickListener
。事件監聽器是透過 setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
註冊。
傳回
- 如果多邊形是可點擊的
true
,否則會傳回false
。
public 布林值 isGeodesic ()
獲取線條的每段段是否繪製為測地線。
傳回
- 如果每個片段都是以測地線段繪製,則為
true
;如果區隔在麥卡托投影中繪製為直線,則為false
。
公開布林值 isVisible ()
取得此多邊形的顯示設定。
傳回
- 此多邊形顯示設定。
public 移除 ()
從地圖中移除多邊形。移除多邊形後,所有方法的行為皆未定義。
public setClickable (布林值可點擊)
設定多邊形的可點擊性。如果多邊形可以點擊,當使用者點按多邊形時,應用程式就會通知 GoogleMap.OnPolygonClickListener
。事件監聽器是透過 setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
註冊。
參數
可點擊 | 多邊形的可點擊設定。 |
---|
public setFillColor (整數)
設定此多邊形的填滿顏色。
參數
顏色 | ARGB 格式的顏色 |
---|
public setGeodesic (布林值幾何圖形)
設定是否要將線條的每一個片段繪製為測地線。
參數
geodesic | 如為 true ,則每個片段都會繪製為測地線;如果為 false ,每個區隔則會在麥卡托投影中繪製為直線。 |
---|
public setHoles (List<?extends List<LatLng>> hole)
設定此多邊形的空洞。此方法會複製孔,因此對 holes
的額外變異不會對此多邊形造成影響。
參數
洞 | 孔清單,其中空白處是 LatLng s。 |
---|
public setPoints (List<LatLng> points)
設定此多邊形的點。此方法會複製點,因此對 points
的進一步變異對這個多邊形沒有影響。
參數
points | 包含多邊形頂點的 LatLng 清單。 |
---|
public setStrokeColor(整數顏色)
設定此多邊形的筆劃顏色。
參數
顏色 | ARGB 格式的顏色 |
---|
public setStrokeJointType(int JointType)
public setStrokeWidth(浮點寬度)
設定此多邊形的筆劃寬度。
參數
寬度 | 顯示寬度的單位。 |
---|
public setTag (物件標記)
設定多邊形的標記。
您可以使用這個屬性將任意 Object
與此多邊形建立關聯。舉例來說,Object
可以包含多邊形代表的資料。這種做法比儲存單獨的 Map<Polygon, Object>
更輕鬆。另一個例子是,您可以將 String
對應的 ID 與資料集中的 ID 建立關聯。Google Maps SDK for Android 不會讀取或寫入這項屬性。不再需要使用標記時,您必須呼叫 setTag(null)
清除標記,以免應用程式發生記憶體流失。
參數
標記 | 如果為空值,系統會清除標記。 |
---|
public setVisible (布林值顯示)
設定此多邊形的顯示設定。如未顯示,多邊形就不會繪製,但會保留所有其他屬性。
參數
顯示 | 如為 true ,則表示多邊形為可見;如果為 false ,則不會顯示。
|
---|
public setZIndex(float zIndex)
設定此多邊形的 zIndex。zIndi 值較高的多邊形會繪製在較低索引的多邊形之上。
參數
ZIndex | 此多邊形的 zIndex。 |
---|