地球表面上的多边形。多边形可以是凸的,也可以是凹的,可跨越 180 它可能会有未填充的孔。它具有以下属性:
- 概要
- 轮廓由一系列顶点按顺时针或逆时针顺序指定。它 无需使起点和终点重合;否则多边形将会 自动关闭线段在较短内容中的连续点之间绘制 两个方向(东或西)。
- 孔
- 孔是指多边形内未填充的区域。空洞的精确位置是 与大纲相同孔必须完全包含在轮廓内。多个 可指定孔,但不支持重叠的孔。
- 描边宽度
- 线段宽度(以像素为单位)。该宽度恒定不变,并且与镜头的 缩放级别。默认值为 10。
- 描边颜色
- ARRGB 格式的线段颜色,与
Color
使用的格式相同。 默认值为黑色 (0xff000000
)。 - 描边连接类型
- 连接类型定义了完全连接相邻的线段时使用的形状
绘制多边形的轮廓的顶点。如需了解支持的连接类型,请参阅
JointType
。通过 默认值为DEFAULT
。 - 描边图案
- 实心(默认,由
null
表示)或一系列PatternItem
对象 在多边形的轮廓上重复。可用的PatternItem
类型:Gap
(由间距长度定义,以像素为单位)、Dash
(由描边宽度和短划线定义) 长度(以像素为单位)和Dot
(圆形,以多边形轮廓为中心,直径) 由描边宽度(以像素为单位)定义)。 - 填充颜色
- 填充颜色采用 ARGB 格式,与
Color
使用的格式相同。通过 默认值为透明 (0x00000000
)。如果未指定多边形几何图形 (请参阅上文的轮廓和孔),则不会绘制任何填充。 - Z-index
- 此多边形相对于其他叠加层的绘制顺序,包括
Polyline
、Circle
、GroundOverlay
和TileOverlay
,但不Marker
。Z-index 较大的叠加层绘制在具有较小 Z-index 的叠加层之上 Z 索引。Z-index 值相同的叠加层可按任意顺序绘制。默认值为 0. - 可见性
- 指示多边形是可见还是不可见,即是否在地图上绘制。一个
不可见的多边形不绘制,但会保留其所有其他属性。默认值为
true
,即可见。 - 测地状态
- 表示多边形的线段是否应绘制为测地线,而不是绘制为测地线 在墨卡托投影上绘制直线。测地线是指 不同地球表面的点测地曲线在构建时假设地球处于 球形
- 可点击性
- 如果您想要处理用户点击多边形时触发的事件,请将此属性设为
true
。您可以随时更改此值。默认值为false
。如果 属性设置为true
,您的应用将会收到发送给通过setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
注册的GoogleMap.OnPolygonClickListener
的通知。 - 标记
- 与多边形关联的
Object
。例如,Object
可以包含 有关多边形所代表含义的数据。这比存储单独的Map<Polygon, Object>
更简单。再举一例,您可以将String
ID 与数据集中的 ID 相对应。Google Maps SDK for Android 既不会读取 写入此属性。
此类中的方法必须在 Android 界面线程上调用。否则,系统会在运行时抛出 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()
获取此多边形的填充颜色。
|
列表<List<LatLng>>LatLng |
getHoles()
返回该多边形此时的孔的快照。
|
字符串 |
getId()
获取此多边形的 ID。
|
列表<LatLng> |
getPoints()
返回该多边形的顶点此时的快照。
|
int |
getStrokeColor()
获取此多边形的描边颜色。
|
int |
getStrokeJointType()
获取多边形轮廓的所有顶点所使用的描边连接类型。
|
List<PatternItem>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 joinType)
用于为多边形轮廓的所有顶点设置连接类型。
|
void | |
void |
setStrokeWidth(浮动宽度)
设置此多边形的描边宽度。
|
void |
setTag(对象标记)
设置多边形的标记。
|
void |
setVisible(boolean visible)
设置此多边形的可见性。
|
void |
setZIndexsetZIndex(float zIndex)
设置此多边形的 zIndex。
|
继承的方法摘要
公共方法
公开 整数 getFillColor ()
获取此多边形的填充颜色。
返回
- ARGB 格式的颜色。
公开 列表<List<LatLng>>LatLng getHoles ()
返回该多边形此时的孔的快照。返回的列表是 孔列表,因此对多边形内孔所做的更改不会反映在此列表中, 对此列表的更改将反映在多边形上。
公开 字符串 getId ()
获取此多边形的 ID。该 ID 在地图上的所有多边形中都是唯一的。
公开 列表<LatLng>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 ()
获取此多边形的可见性。
返回
- 多边形的可见性。
公开 无效 删除 ()
从地图中删除多边形。删除多边形后,其所有 方法。
公开 无效 setClickable (可点击的布尔值)
设置多边形的可点击性。如果多边形可点击,您的应用将收到
在用户点击多边形时向 GoogleMap.OnPolygonClickListener
发送通知。
事件监听器通过 setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
注册。
参数
可点击 | 多边形的新可点击性设置。 |
---|
公开 无效 setFillColor (整数颜色)
设置此多边形的填充颜色。
参数
颜色 | ARGB 格式的颜色 |
---|
公开 无效 setGeodesic (布尔值测地线)
设置是否将线条的各个线段绘制为测地线段。
参数
geodesic | 如果为 true ,则每个线段将绘制为测地线;如果 false ,
每个线段在墨卡托投影上绘制为一条直线。
|
---|
公开 无效 setHoles (List<? extends List<LatLng>> 洞)
设置此多边形的孔。此方法将获取空洞的副本,
holes
不会对此多边形产生任何影响。
参数
洞 | 孔的列表,其中空洞是 LatLng 的列表。
|
---|
公开 无效 setPoints (列表 <LatLng> 点)
设置此多边形的点。此方法将获取点的副本,
更改points
不会对此多边形产生任何影响。
参数
积分 | 作为多边形的顶点的 LatLng 列表。
|
---|
公开 无效 setStrokeColor (整数颜色)
设置此多边形的描边颜色。
参数
颜色 | ARGB 格式的颜色 |
---|
公开 无效 setStrokeJointType (int joinType)
公开 无效 setStrokeWidth (浮动宽度)
设置此多边形的描边宽度。
参数
width | 宽度(以显示像素为单位)。 |
---|
公开 无效 setTag (对象标记)
设置多边形的标记。
您可以使用此属性将任意 Object
与此多边形相关联。对于
例如,Object
可以包含有关多边形所代表内容的数据。这样更简单
与存储单独的 Map<Polygon, Object>
相比。再举一例,您可以将
与数据集中的 ID 对应的 String
ID。Google Maps SDK for Android
读取或写入此属性。您需要负责调用 setTag(null)
来清除
在不再需要时,使用此标记,以防止应用中发生内存泄漏。
参数
标记 | 如果为 null,则清除该代码。 |
---|
公开 无效 setVisible (布尔值可见)
设置此多边形的可见性。如果多边形不可见,就不会绘制多边形,但它会保留所有 其他属性
参数
可见 | 如果为 true ,则多边形可见;如果值为 false ,则表示不是。
|
---|
公开 无效 setZIndex (浮动 zIndex)
设置此多边形的 zIndex。zIndics 较高的多边形在 zIndic 较低的多边形之上绘制 索引。
参数
zIndex | 此多边形的 zIndex。 |
---|