地球表面上的圓圈 (球面)。
圓形具有以下屬性。
- 中心
- 圓形的中心會指定為
LatLng
。 - 半徑
- 圓形的半徑,以公尺為單位指定。這個值應等於或大於零。
- 筆劃寬度
- 圓形外框的寬度,以螢幕像素為單位。寬度是常數,而且與相機的縮放等級無關。預設值為 10。
- 筆劃顏色
- 圓形外框的顏色採用 ARGB 格式,格式與
Color
所用的格式相同。預設值為黑色 (0xff000000
)。 - 筆劃圖案
- 固定 (預設值,以
null
表示),或一系列PatternItem
物件,沿著圓形輪廓重複顯示。可用的PatternItem
類型:Gap
(由像素的間距長度定義)、Dash
(由筆劃寬度和破折號長度 (以像素為單位)) 和Dot
(圓形,位於圓形的外框中央,直徑定義為筆劃寬度 (以像素為單位)。 - 填滿顏色
- 圓形的顏色會採用 ARGB 格式,與
Color
所用的格式相同。預設值為透明 (0x00000000
)。 - Z-Index
- 此圖塊疊加層相對於其他疊加層 (包括
GroundOverlay
、TileOverlay
、Polyline
和Polygon
,但不含Marker
) 的繪製順序。系統會將 Z-index 值較大的疊加層繪製在較小的 Z 索引上。如果疊加層的 Z-index 值相同,則疊加順序是隨機決定的。預設的 zIndex 值為 0。 - 瀏覽權限
- 指出圓形是可見還是隱藏,也就是是否在地圖上繪製。隱形圓形不會繪製,但會保留所有其他屬性。預設為
true
(也就是可見)。 - 標記
- 與社交圈相關聯的
Object
。舉例來說,Object
可包含圓形代表內容的資料。這比儲存個別的Map<Circle, Object>
容易許多。在另一個範例中,您可以將與資料集 ID 對應的String
ID 建立關聯。Google Maps SDK for Android 不會讀取或寫入這個屬性。
此類別中的方法必須在 Android UI 執行緒上呼叫。否則,系統會在執行階段擲回 IllegalStateException
。
範例
GoogleMap map;
// ... get a map.
// Add a circle in Sydney
Circle circle = map.addCircle(new CircleOptions()
.center(new LatLng(-33.87365, 151.20689))
.radius(10000)
.strokeColor(Color.RED)
.fillColor(Color.BLUE));
請注意,如果圓形涵蓋北極或南極,目前的地圖轉譯器無法繪製圓形填滿。不過,外框仍會正確繪製。
開發人員指南
詳情請參閱「形狀」開發人員指南。
公用方法摘要
LatLng | |
int |
getFillColor()
傳回這個圓形的填滿顏色。
|
字串 |
getId()
取得這個社交圈的 ID。
|
雙精準數 |
getRadius()
傳回圓形的半徑 (以公尺為單位)。
|
int |
getStrokeColor()
傳回筆觸顏色。
|
List<PatternItem> |
getStrokePattern()
傳回這個圓形輪廓的筆觸圖案。
|
浮點值 |
getStrokeWidth()
傳回筆劃寬度。
|
物件 |
getTag()
取得圓形的標記。
|
浮點值 |
getZIndex()
傳回 zIndex。
|
布林值 |
isClickable()
取得圓形的可點擊性。
|
布林值 |
isVisible()
檢查是否已顯示圓形。
|
void |
remove()
從地圖中移除這個圓形。
|
void | |
void |
setClickable(布林值可點擊)
設定圓形的可點擊性。
|
void |
setFillColor(整數)
設定填滿顏色。
|
void |
setRadius(雙圓半徑)
設定半徑 (以公尺為單位)。
|
void |
setStrokeColor(色調顏色)
設定筆觸顏色。
|
void | |
void |
setStrokeWidth(浮點寬度)
設定筆劃寬度。
|
void |
setTag(物件標記)
設定圓形的標記。
|
void |
setVisible(可見布林值)
設定社交圈的顯示設定。
|
void |
setZIndex(float zIndex)
設定 zIndex。
|
繼承方法摘要
公用方法
public int getFillColor ()
傳回這個圓形的填滿顏色。
傳回
- ARGB 格式的圓形填滿顏色。
public String getId ()
取得這個社交圈的 ID。此 ID 是地圖上所有社交圈的專屬 ID。
public double getRadius ()
傳回圓形的半徑 (以公尺為單位)。
傳回
- 半徑 (以公尺為單位)。
public int getStrokeColor ()
傳回筆觸顏色。
傳回
- ARGB 格式的圓形顏色。
public float getStrokeWidth ()
傳回筆劃寬度。
傳回
- 螢幕像素的寬度。
公開物件 getTag ()
取得圓形的標記。
傳回
- 如果標記是設為
setTag
時的標記;如果未設定任何標記,則為null
。
public float getZIndex ()
傳回 zIndex。
傳回
- 這個圓形的 zIndex。
public boolean isClickable ()
取得圓形的可點擊性。如果圓形可以點選,當使用者點選圓形時,應用程式會收到 GoogleMap.OnCircleClickListener
的通知。事件監聽器透過 setOnCircleClickListener(GoogleMap.OnCircleClickListener)
註冊。
傳回
- 如果圓形可點擊,則為
true
;如果不可點擊,則為false
。
public boolean isVisible ()
檢查是否已顯示圓形。
傳回
- 如果圓形顯示,則為
true
;如果隱藏,則為false
。
public void remove ()
從地圖中移除這個圓形。移除圓形後,圓形中所有方法的行為不會定義。
public void setCenter (LatLng center)
public void setClickable (布林值可點擊)
設定圓形的可點擊性。如果圓形可以點選,當使用者點選圓形時,應用程式會收到 GoogleMap.OnCircleClickListener
的通知。事件監聽器透過 setOnCircleClickListener(GoogleMap.OnCircleClickListener)
註冊。
參數
可點擊 | 新的圓形可點擊設定。 |
---|
public void setFillColor (int color)
public void setRadius (雙半徑)
設定半徑 (以公尺為單位)。
半徑必須大於或等於 0。
參數
半徑 | 半徑 (以公尺為單位)。 |
---|
擲回
IllegalArgumentException | 如果半徑為負 |
---|
public void setStrokeColor (int color)
public void setStrokeWidth (浮點寬度)
設定筆劃寬度。
筆觸寬度是指圓形外框的寬度 (以螢幕像素為單位)。這個值必須等於或大於零。如果為 0,則不會繪製外框。預設值為 10。
參數
width | 筆觸寬度,以螢幕像素為單位。 |
---|
擲回
IllegalArgumentException | 如果寬度為負數, |
---|
public void setTag (物件標記)
設定圓形的標記。
您可以使用這個屬性,將任意的 Object
與這個圓形建立關聯。舉例來說,Object
可包含圓形代表的相關資料。這比儲存個別的 Map<Circle, 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 值。 |
---|