地球表面上的圆形(球帽)。
圆形具有以下属性。
- 中心
- 以
LatLng
的形式指定圆的中心。 - 半径
- 圆形的半径,以米为单位。该值应大于或等于 0。
- 描边宽度
- 圆形轮廓的宽度(以屏幕像素为单位)。宽度是恒定的,与相机的缩放级别无关。默认值为 10。
- 描边颜色
- 圆形轮廓的颜色,采用 ARGB 格式,与
Color
所用的格式相同。默认值为黑色 (0xff000000
)。 - 描边图案
- 纯色(默认,由
null
表示)或一系列要沿着圆形轮廓重复的PatternItem
对象。可用的PatternItem
类型:Gap
(由间隔长度(以像素为单位)定义)、Dash
(由描边宽度和短划线长度(以像素为单位)定义)和Dot
(圆形,位于圆形轮廓上,直径由描边宽度(以像素为单位)定义)。 - 填充颜色
- 圆圈的颜色以 ARGB 格式填充,与
Color
使用的格式相同。默认值为透明 (0x00000000
)。 - Z-index
- 此图块叠加层相对于其他叠加层的绘制顺序(包括
GroundOverlay
、TileOverlay
、Polyline
和Polygon
,但不包括Marker
)。Z-index 较大的叠加层在 Z-index 较小的叠加层上绘制。Z-index 相同的叠加层可按任意顺序绘制。默认 ZIndex 为 0。 - 可见性
- 用于指示圆形是否可见,即是否绘制在地图上。不可见的圆形不会被绘制,但会保留其所有其他属性。默认值为
true
,即可见。 - 标记
- 与圆形关联的
Object
。例如,Object
可以包含有关圆形所代表内容的数据。这比存储单独的Map<Circle, Object>
更简单。再举一例,您可以关联与数据集中的 ID 对应的String
ID。Google Maps SDK for Android 既不会读取也不会写入此属性。
此类中的方法必须在 Android 界面线程上调用。否则,系统会在运行时抛出 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 | |
整型 |
getFillColor()
返回此圆形的填充颜色。
|
字符串 |
getId()
获取此圈子的 ID。
|
双精度浮点数 |
getRadius()
返回圆形的半径(以米为单位)。
|
整型 |
getStrokeColor()
返回描边颜色。
|
List<PatternItem>PatternItem> |
getStrokePattern()
用于返回此圆形轮廓的描边图案。
|
浮点数 |
getStrokeWidth()
返回描边宽度。
|
对象 |
getTag()
获取圆形的标记。
|
浮点数 |
getZIndex()
返回 ZIndex。
|
布尔值 |
isClickable()
获取圆形的可点击性。
|
布尔值 |
isVisible()
检查圆圈是否可见。
|
void |
remove()
从地图上删除此圆形。
|
void | |
void |
setClickable(布尔值可点击)
设置圆形的可点击性。
|
void |
setFillColor(int 颜色)
设置填充颜色。
|
void |
setRadius(双半径)
设置半径(以米为单位)。
|
void |
setStrokeColor(整数颜色)
设置描边颜色。
|
void | |
void |
setStrokeWidth(浮点宽度)
设置描边宽度。
|
void |
setTag(对象标记)
设置圈子的标记。
|
void |
setVisible(布尔值 visible)
设置圆形的可见性。
|
void |
setZIndex(float zIndex)
设置 ZIndex。
|
继承的方法摘要
公共方法
public int getFillColor ()
返回此圆形的填充颜色。
返回
- 圆形的填充颜色,采用 ARGB 格式。
public String getId ()
获取此圈子的 ID。此 ID 在地图上的所有圈子中都是唯一的。
public double getRadius ()
返回圆形的半径(以米为单位)。
返回
- 半径(以米为单位)。
public int getStrokeColor ()
返回描边颜色。
返回
- 圆形的颜色,采用 ARGB 格式。
public float getStrokeWidth ()
返回描边宽度。
返回
- 宽度(以像素为单位)。
public Object getTag ()
获取圆形的标记。
返回
- 如果使用
setTag
设置标记,则为标记;如果未设置标记,则为null
。
公共 浮点数 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 中心)
public void setClickable (布尔值可点击)
设置圆形的可点击性。如果圆形可点击,则当用户点击该圆形时,您的应用会收到 GoogleMap.OnCircleClickListener
的通知。
事件监听器通过 setOnCircleClickListener(GoogleMap.OnCircleClickListener)
注册。
参数
可点击 | 为圆圈新增了可点击性设置。 |
---|
public void setFillColor (int color)
public void setRadius (双半径)
设置半径(以米为单位)。
半径必须大于或等于零。
参数
半径范围 | 半径(以米为单位)。 |
---|
抛出
IllegalArgumentException | 如果半径为负数 |
---|
public void setStrokeColor (int color)
public void setStrokePattern (List<PatternItem> pattern)
设置圆形轮廓的描边图案。默认描边图案是纯色,由 null
表示。
参数
模式 | 描边图案。 |
---|
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)
将其清除,以防止应用中出现内存泄漏。
参数
标记 | 如果为 null,则会清除标记。 |
---|
public void setVisible (boolean visible)
设置圆形的可见性。
如果此圆形不可见,则也不会绘制。所有其他状态均保留。默认情况下,系统会显示圈子。
参数
visible | true - 表示此圆形可见;false - 表示不可见。
|
---|
public void setZIndex (float zIndex)
设置 ZIndex。
zIndic 较高的叠加层(例如圆形)绘制在索引较低的叠加层之上。
参数
zIndex | zIndex 值。 |
---|