多段线是一个点列表,其中线段在连续的点之间绘制。答 多段线具有以下属性:
- 积分
- 线条的顶点。在连续的点之间绘制线段。多段线是 未默认关闭;要形成一个闭合的多段线,起点和终点必须 一样。
- 宽度
- 线段宽度(以像素为单位)。该宽度恒定不变,并且与镜头的 缩放级别。默认值为 10。
- 颜色
- ARRGB 格式的线段颜色,与
Color
使用的格式相同。 默认值为黑色 (0xff000000
)。 - 开始/结束上限
- 定义要在多段线起点或终点使用的形状。支持的上限类型:
ButtCap
、SquareCap
、RoundCap
(适用于纯色描边图案)和CustomCap
(适用于任何描边图案)。开始和结束的默认值:ButtCap
。 - 连接类型
- 连接类型定义了完全连接相邻的线段时使用的形状
多段线的顶点(起点和结束顶点除外)。查看
JointType
支持的连接类型。默认值为DEFAULT
。 - 描边图案
- 实心(默认,由
null
表示)或一系列PatternItem
对象 要在整个行中重复的内容可用的PatternItem
类型:Gap
(由 间隔长度(以像素为单位)、Dash
(由线条宽度和短划线长度定义(以像素为单位)和Dot
(圆形,在线居中,直径由线条宽度定义,以像素为单位)。 - Z-index
- 此图块叠加层相对于其他叠加层(包括
GroundOverlay
、TileOverlay
、Circle
和Polygon
,但不是Marker
)。Z-index 较大的叠加层绘制在具有较小 Z-index 的叠加层之上 Z 索引。Z-index 相同的叠加层可按任意顺序绘制。默认的 zIndex 为 0. - 可见性
- 用于指示多段线是可见还是不可见,即是否绘制在地图上。一个
不可见的多段线不会绘制,但会保留其所有其他属性。默认值为
true
,即可见。 - 测地状态
- 表示是否应将多段线的线段绘制为测地线,而不是绘制为测地线 在墨卡托投影上绘制直线。测地线是指 不同地球表面的点测地曲线在构建时假设地球处于 球形
- 可点击性
- 如果您想要处理用户点击多段线时触发的事件,请将此属性设为
true
。您可以随时更改此值。默认值为false
。如果 属性设置为true
,您的应用将会收到发送给通过setOnPolylineClickListener(GoogleMap.OnPolylineClickListener)
注册的GoogleMap.OnPolylineClickListener
的通知。 - 标记
- 与多段线关联的
Object
。例如,Object
可以包含 有关多段线所表示内容的数据。这比存储单独的Map<Polyline, Object>
更简单。再举一例,您可以将String
ID 与数据集中的 ID 相对应。Google Maps SDK for Android 既不会读取 写入此属性。 - Span
- 使用不同样式定义用于渲染此多段线的跨度。您可以使用
属性以
StrokeStyle
不同线段上 绘制多段线
此类中的方法必须在 Android 界面线程上调用。否则,系统会在运行时抛出 IllegalStateException
。
示例
GoogleMap map;
// ... get a map.
// Add a thin red line from London to New York.
Polyline line = map.addPolyline(new PolylineOptions()
.add(new LatLng(51.5, -0.1), new LatLng(40.7, -74.0))
.width(5)
.color(Color.RED));
开发者指南
有关详情,请参阅形状开发者 指南。
公共方法摘要
boolean | |
int |
getColor()
获取此多段线的颜色。
|
上限 |
getEndCap()
获取此多段线的末端顶点。
|
字符串 |
getId()
获取此多段线的 ID。
|
int |
getJointType()
获取用于折线的所有顶点(起点和终点顶点除外)的节点类型。
|
List<PatternItem>PatternItem |
getPattern()
获取此多段线的描边图案。
|
列表<LatLng> |
getPoints()
返回该多段线当前点的快照。
|
上限 |
getStartCap()
获取此多段线起始顶点的顶端。
|
对象 |
getTag()
获取多段线的标记。
|
float |
getWidth()
获取此多段线的宽度。
|
float |
getZIndex()
获取此多段线的 zIndex。
|
int |
hashCode()
|
boolean |
isClickable()
获取多段线的可点击性。
|
boolean |
isGeodesic()
获知是否将线条的各个线段绘制为测地线。
|
boolean |
isVisible()
获取此多段线的可见性。
|
void |
remove()
从地图中删除此多段线。
|
void |
setClickable(布尔值,可点击)
设置多段线的可点击性。
|
void |
setColorsetColor(int color)
设置此多段线的颜色。
|
void | |
void |
setGeodesic(boolean geodesic)
设置是否将线条的各个线段绘制为测地线段。
|
void |
setJointTypesetJointType(int joinType)
为折线的所有顶点(起始顶点和结束顶点除外)设置连接类型。
|
void | |
void | |
void | |
void | |
void |
setTag(对象标记)
设置折线的 标记。
|
void |
setVisible(boolean visible)
设置此多段线的可见性。
|
void |
setWidth(浮动宽度)
设置此多段线的宽度。
|
void |
setZIndexsetZIndex(float zIndex)
设置此多段线的 zIndex。
|
继承的方法摘要
公共方法
公开 整数 getColor ()
获取此多段线的颜色。
返回
- ARGB 格式的颜色。
公开 字符串 getId ()
获取此多段线的 ID。该 ID 在地图上的所有多段线上都是唯一的。
返回
- 此多段线的 ID。
公开 列表<LatLng>LatLng getPoints ()
返回该多段线当前点的快照。返回的列表是副本
一组顶点,因此对多段线顶点所做的更改不会由此反映出来
列表,也不会通过折线反映出对此列表的更改。要更改
多段线,调用 setPoints(List)
。
公开 对象 getTag ()
获取多段线的标记。
返回
- 如果通过
setTag
设置了标记,则为相应标记;如果未设置任何标记,则为null
。
公开 浮点数 getWidth ()
获取此多段线的宽度。
返回
- 宽度(以像素为单位)。
公开 浮点数 getZIndex ()
获取此多段线的 zIndex。
返回
- 折线的 zIndex。
公开 整数 hashCode ()
公开 布尔值 isClickable ()
获取多段线的可点击性。如果多段线可点击,您的应用将收到
在用户点击GoogleMap.OnPolylineClickListener
多段线事件监听器通过 setOnPolylineClickListener(GoogleMap.OnPolylineClickListener)
注册。
返回
- 如果多段线可点击,则为
true
;否则返回false
。
公开 布尔值 isGeodesic ()
获知是否将线条的各个线段绘制为测地线。
返回
- 如果每个线段都绘制为测地线,则为
true
;false
如果每个片段都是 在墨卡托投影上绘制为直线。
公开 布尔值 isVisible ()
获取此多段线的可见性。
返回
- 显示该多段线的可见性
公开 无效 删除 ()
从地图中删除此多段线。删除多段线之后,其所有 方法。
公开 无效 setClickable (可点击的布尔值)
设置多段线的可点击性。如果多段线可点击,您的应用将收到
在用户点击GoogleMap.OnPolylineClickListener
多段线事件监听器通过 setOnPolylineClickListener(GoogleMap.OnPolylineClickListener)
注册。
参数
可点击 | 多段线的新可点击性设置。 |
---|
公开 无效 setColor (整数颜色)
设置此多段线的颜色。
参数
颜色 | ARGB 格式的颜色 |
---|
公开 无效 setGeodesic (布尔值测地线)
设置是否将线条的各个线段绘制为测地线段。
参数
geodesic | 如果为 true ,则每个线段将绘制为测地线;如果 false ,
每个线段在墨卡托投影上绘制为一条直线。
|
---|
公开 无效 setJointType (int joinType)
公开 无效 setPoints (列表 <LatLng> 点)
设置此多段线的点。此方法将获取点的副本,
更改 points
不会对此多段线产生任何影响。
参数
积分 | 作为多段线顶点的 LatLng 列表。
|
---|
公开 无效 setTag (对象标记)
设置折线的 标记。
您可以使用此属性将任意 Object
与此多段线关联。对于
例如,Object
可以包含有关多段线所代表内容的数据。这样更简单
与存储单独的 Map<Polyline, Object>
相比。再举一例,您可以将
与数据集中的 ID 对应的 String
ID。Google Maps SDK for Android
读取或写入此属性。您需要负责调用 setTag(null)
来清除
在不再需要时,使用此标记,以防止应用中发生内存泄漏。
参数
标记 | 如果为 null,则清除该代码。 |
---|
公开 无效 setVisible (布尔值可见)
设置此多段线的可见性。不可见时,多段线不会绘制,但会保留 所有其他属性
参数
可见 | 如果为 true ,则多段线可见;如果值为 false ,则表示不是。
|
---|
公开 无效 setWidth (浮动宽度)
设置此多段线的宽度。
参数
width | 宽度(以像素为单位) |
---|
公开 无效 setZIndex (浮动 zIndex)
设置此多段线的 zIndex。ZInindex 值较高的多段线在 下调。
参数
zIndex | 此折线的 zIndex。 |
---|