Polygon

公用最終類別 Polygon 擴充物件

地球表面上的多邊形。多邊形可以是凸面或混凝土,橫跨 180 子午線,但有缺漏的孔洞。它具有以下屬性:

大綱
外框由順時針或逆時針順序的頂點清單指定。起點和終點不需要相互衝突;如果沒有,多邊形會自動關閉。線段會在雙向的兩個方向 (東或西部) 較短的點之間繪製線段。
孔是多邊形內未填滿的區域。指定孔洞的方式與外框的方式完全相同。一個孔必須完全包含在外框內。您可以指定多個孔,但不能指定重疊的孔。
筆劃寬度
線段寬度,以螢幕像素為單位。寬度是常數,而且與相機的縮放等級無關。預設值為 10。
筆劃顏色
線段顏色採用 ARGB 格式,格式與 Color 相同。預設值為黑色 (0xff000000)。
筆劃接合類型
連接類型用於定義在多邊形輪廓所有頂點連接相鄰線段時使用的形狀。如要瞭解支援的彙整類型,請參閱 JointType。預設值為 DEFAULT
筆劃圖案
實線 (預設值,以 null 表示),或一系列 PatternItem 物件,沿著多邊形的外框重複顯示。可用的 PatternItem 類型:Gap (由像素間距長度定義)、Dash (由筆劃寬度和破折號長度 (以像素為單位)) 和 Dot (圓形,位於多邊形外框中央,直徑定義為筆劃寬度 (以像素為單位)。
填滿顏色
以 ARGB 格式填滿顏色 (與 Color 使用的格式相同)。預設值為透明 (0x00000000)。如果未正確指定多邊形幾何圖形 (請參閱上文「外框」和「洞」部分),則不會繪製任何填滿。
Z-Index
這個多邊形與其他疊加層之間的繪製順序,包括 PolylineCircleGroundOverlayTileOverlay,但不含 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));
 

開發人員指南

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

公用方法摘要

布林值
等於(其他物件)
測試此 Polygon 是否等於另一個值。
int
getFillColor()
取得這個多邊形的填滿顏色。
List<List<LatLng>>
getHoles()
傳回這個多邊形的孔快照。
字串
getId()
取得這個多邊形的 ID。
List<LatLng>
getPoints()
傳回這個多邊形的頂點快照。
int
getStrokeColor()
取得這個多邊形的筆觸顏色。
int
getStrokeJointType()
取得多邊形輪廓的所有頂點使用的筆觸連接類型。
List<PatternItem>
getStrokePattern()
取得這個多邊形輪廓的筆觸圖案。
浮點值
getStrokeWidth()
取得這個多邊形的筆劃寬度。
物件
getTag()
取得多邊形的標記。
浮點值
getZIndex()
取得這個多邊形的 zIndex。
int
布林值
isClickable()
取得多邊形的可點擊性。
布林值
isGeodesic()
取得線條的每個路段是否繪製為測地線。
布林值
isVisible()
取得這個多邊形的能見度。
void
remove()
從地圖中移除多邊形。
void
setClickable(布林值可點擊)
設定多邊形的可點擊性。
void
setFillColor(整數)
設定這個多邊形的填滿顏色。
void
setGeodesic(布林值測地線)
設定是否要繪製線條的每個區段,作為測地線。
void
setHoles(List<? extends List<LatLng>> 洞)
設定這個多邊形的孔。
void
setPoints(List<LatLng> 點)
設定這個多邊形的點。
void
setStrokeColor(色調顏色)
設定這個多邊形的筆觸顏色。
void
setStrokeJointType(int JointType)
設定多邊形輪廓的所有端點的連接類型。
void
setStrokePattern(List<PatternItem> 模式)
設定多邊形輪廓的筆觸圖案。
void
setStrokeWidth(浮點寬度)
設定這個多邊形的筆劃寬度。
void
setTag(物件標記)
設定多邊形的標記。
void
setVisible(可見布林值)
設定這個多邊形的顯示設定。
void
setZIndex(float zIndex)
設定這個多邊形的 zIndex。

繼承方法摘要

公用方法

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

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

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

public int getFillColor ()

取得這個多邊形的填滿顏色。

傳回
  • ARGB 格式的顏色。

public List<List<LatLng>> getHoles ()

傳回這個多邊形的孔快照。傳回的清單為整數的副本,因此多邊形孔所做的變更不會反映在這個清單中,對這個清單也不會反映任何變更。

public String getId ()

取得這個多邊形的 ID。此 ID 是地圖上所有多邊形的唯一識別碼。

public List<LatLng> getPoints ()

傳回這個多邊形的頂點快照。傳回的清單為端點清單的副本,因此對多邊形的端點所做的變更不會反映在此清單上,多邊形也不會反映此清單的變更。如要變更多邊形的頂點,請呼叫 setPoints(List)

public int getStrokeColor ()

取得這個多邊形的筆觸顏色。

傳回
  • ARGB 格式的顏色。

public int getStrokeJointType ()

取得多邊形輪廓的所有頂點使用的筆觸連接類型。如要查看可能的值,請參閱 JointType

傳回
  • 筆觸連接類型。

public List<PatternItem> getStrokePattern ()

取得這個多邊形輪廓的筆觸圖案。

傳回
  • 筆劃圖案。

public float getStrokeWidth ()

取得這個多邊形的筆劃寬度。

傳回
  • 螢幕像素的寬度。

公開物件 getTag ()

取得多邊形的標記。

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

public float getZIndex ()

取得這個多邊形的 zIndex。

傳回
  • 多邊形的 zIndex。

public int hashCode ()

public boolean isClickable ()

取得多邊形的可點擊性。如果多邊形可以點擊,當使用者點選多邊形時,您的應用程式會收到 GoogleMap.OnPolygonClickListener 通知。事件監聽器透過 setOnPolygonClickListener(GoogleMap.OnPolygonClickListener) 註冊。

傳回
  • 如果多邊形可供點擊,則傳回 true;否則會傳回 false

公開布林值 isGeodesic ()

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

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

public boolean isVisible ()

取得這個多邊形的能見度。

傳回
  • 這類多邊形顯示設定。

public void remove ()

從地圖中移除多邊形。移除多邊形後,其中所有方法的行為不會定義。

public void setClickable (布林值可點擊)

設定多邊形的可點擊性。如果多邊形可以點擊,當使用者點選多邊形時,您的應用程式會收到 GoogleMap.OnPolygonClickListener 通知。事件監聽器透過 setOnPolygonClickListener(GoogleMap.OnPolygonClickListener) 註冊。

參數
可點擊 新增多邊形的可點擊屬性設定。

public void setFillColor (int color)

設定這個多邊形的填滿顏色。

參數
顏色 ARGB 格式的顏色

public void setGeodesic (boolean geodesic)

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

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

public void setHoles (List<? extends List<LatLng>> 孔)

設定這個多邊形的孔。這個方法會擷取孔,因此對 holes 進行的後續異動不會影響這個多邊形。

參數
孔洞清單,其中孔是 LatLng 的清單。

public void setPoints (List<LatLng> 點)

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

參數
points LatLng 清單,為多邊形的頂點。

public void setStrokeColor (int color)

設定這個多邊形的筆觸顏色。

參數
顏色 ARGB 格式的顏色

public void setStrokeJointType (int JointType)

設定多邊形輪廓的所有端點的連接類型。

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

參數
jointType 筆觸連接類型。

public void setStrokePattern (List<PatternItem> 模式)

設定多邊形輪廓的筆觸圖案。預設的筆劃圖案為實心,以 null 表示。

參數
圖案 筆劃圖案。

public void setStrokeWidth (浮點寬度)

設定這個多邊形的筆劃寬度。

參數
width 以顯示像素為單位的寬度。

public void setTag (物件標記)

設定多邊形的標記。

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

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

public void setVisible (boolean visible)

設定這個多邊形的顯示設定。未顯示的多邊形時,系統不會繪製多邊形,但會保留所有其他屬性。

參數
顯示 設為 true 時,多邊形會顯示;如果為 false,則不會顯示。

public void setZIndex (float zIndex)

設定這個多邊形的 zIndex。ZIndices 較高的多邊形會繪製在索引較低的多邊形上方。

參數
zIndex 這個多邊形的 zIndex。