Polyline

public final class Polygon extensions Object

多段线是一系列点,其中线段是在连续的点之间绘制的。多段线具有以下属性:

积分
线的顶点。线段是在连续的点之间绘制的。多段线在默认情况下闭合;要形成闭合多段线,起点和终点必须相同。
宽度
线段宽度(以屏幕像素为单位)。宽度是恒定的,与相机的缩放级别无关。默认值为 10。
颜色
采用 ARGB 格式的线段颜色,与 Color 使用的格式相同。默认值为黑色 (0xff000000)。
开始/结束上限
定义要在多段线起点或终点使用的形状。支持的上限类型:ButtCapSquareCapRoundCap(适用于纯描边图案)和 CustomCap(适用于任何描边图案)。起始和结束位置的默认值:ButtCap
连接类型
连接类型定义在多段线的所有顶点(起始顶点和结束顶点除外)连接相邻线段时要使用的形状。如需了解支持的联接类型,请参阅 JointType。默认值为 DEFAULT
描边图案
纯色(默认,由 null 表示)或一系列要沿线条重复的 PatternItem 对象。可用的 PatternItem 类型:Gap(由间距长度(以像素为单位)定义)、Dash(由线宽和短划线长度(以像素为单位)定义)和 Dot(圆形,位于线条上,直径由线宽(以像素为单位)定义)。
Z-index
此图块叠加层相对于其他叠加层的绘制顺序(包括 GroundOverlayTileOverlayCirclePolygon,但不包括 Marker)。Z-index 较大的叠加层在 Z-index 较小的叠加层上绘制。Z-index 相同的叠加层可按任意顺序绘制。默认 ZIndex 为 0。
可见性
指示多段线是否可见,即是否在地图上绘制。不可见多段线不会绘制,但会保留其所有其他属性。默认值为 true,即可见。
测地状态
指示多段线的线段是否应绘制为测地线,而不是墨卡托投影法上的直线。测地线是地球表面两点之间的最短路径。系统在构造测地曲线时假设地球是一个球面
可点击性
如需处理用户点击多段线时触发的事件,请将此属性设置为 true。您可以随时更改此值。默认值为 false。如果此属性设为 true,您的应用将收到通过 setOnPolylineClickListener(GoogleMap.OnPolylineClickListener) 注册的 GoogleMap.OnPolylineClickListener 的通知。
标记
与多段线关联的 Object。例如,Object 可以包含有关多段线所代表内容的数据。这比存储单独的 Map<Polyline, Object> 更简单。再举一例,您可以关联与数据集中的 ID 对应的 String 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));
 

开发者指南

如需了解详情,请阅读形状开发者指南。

公共方法摘要

布尔值
equals(其他对象)
用于测试此 Polyline 是否等于另一个。
整型
getColor()
获取此多段线的颜色。
上限
getEndCap()
获取此多段线末端的顶端。
字符串
getId()
获取此多段线的 ID。
整型
getJointType()
获取折线的所有顶点(起始顶点和结束顶点除外)使用的连接类型。
List<PatternItem>PatternItem>
getPattern()
获取此多段线的描边图案。
列表<LatLng>
getPoints()
此时 返回该多段线顶点的快照。
上限
getStartCap()
获取此多段线起始顶点的顶端。
对象
getTag()
获取多段线的标记。
浮点数
getWidth()
获取此多段线的宽度。
浮点数
getZIndex()
获取此多段线的 zIndex。
整型
布尔值
isClickable()
获取多段线的可点击性。
布尔值
isGeodesic()
获取线条的每段是否绘制为测地线的信息。
布尔值
isVisible()
获取此多段线的可见性。
void
remove()
用于从地图中移除此多段线。
void
setClickable(布尔值可点击)
设置多段线的可点击性。
void
setColor(int color)
用于设置此多段线的颜色。
void
setEndCap(Cap endCap)
用于设置此多段线的末端的顶端。
void
setGeodesic(布尔值测地线)
设置是否将线条的各个线段绘制为测地线。
void
setJointType(int jointType)
设置多段线除起始顶点和结束顶点以外的所有顶点的接合类型。
void
setPattern(List<PatternItem> pattern) 组合
设置多段线的描边图案。
void
setPoints(List<LatLng> 点)
设置此多段线的点。
void
setSpans(List<StyleSpan> span)
设置多段线的跨度。
void
setStartCap(Cap startCap)
用于设置此多段线的起始顶点处的顶端。
void
setTag(对象标记)
设置多段线的标记。
void
setVisible(布尔值 visible)
用于设置此多段线的可见性。
void
setWidth(浮点宽度)
用于设置此多段线的宽度。
void
setZIndex(float zIndex)
设置此多段线的 zIndex。

继承的方法摘要

公共方法

public boolean 等于 (其他对象)

用于测试此 Polyline 是否等于另一个。

参数
其他 一个 Object
返回
  • 如果两个对象是同一个对象,则为“true”(即此值 ==“其他”)。

public int getColor ()

获取此多段线的颜色。

返回
  • 以 ARGB 格式显示颜色。

public Cap getEndCap ()

获取此多段线末端的顶端。

返回
  • 结尾画面类型。

public String getId ()

获取此多段线的 ID。此 ID 在地图上的所有多段线中都是唯一的。

返回
  • 此多段线的 ID。

public int getJointType ()

获取折线的所有顶点(起始顶点和结束顶点除外)使用的连接类型。有关可能的值,请参阅 JointType

返回
  • 联接类型。

public List<PatternItem> getPattern ()

获取此多段线的描边图案。

返回
  • 描边图案。

public List<LatLng> getPoints ()

此时 返回该多段线顶点的快照。返回的列表是顶点列表的副本,因此对多段线顶点所做的更改不会反映在此列表上,对此列表的更改也不会反映在多段线中。如需更改多段线的顶点,请调用 setPoints(List)

public Cap getStartCap ()

获取此多段线起始顶点的顶端。

返回

public Object getTag ()

获取多段线的标记。

返回
  • 如果使用 setTag 设置标记,则为标记;如果未设置标记,则为 null

public float getWidth ()

获取此多段线的宽度。

返回
  • 宽度(以屏幕像素为单位)。

公共 浮点数 getZIndex ()

获取此多段线的 zIndex。

返回
  • 多段线的 zIndex。

public int hashCode ()

public boolean isClickable ()

获取多段线的可点击性。如果多段线可点击,则当用户点击多段线时,您的应用会向 GoogleMap.OnPolylineClickListener 发送通知。事件监听器通过 setOnPolylineClickListener(GoogleMap.OnPolylineClickListener) 注册。

返回
  • 如果多段线可点击,则返回 true;否则返回 false

public boolean isGeodesic ()

获取线条的每段是否绘制为测地线的信息。

返回
  • 如果每个线段绘制为测地线,则为 true;如果每个线段在墨卡托投影法上绘制为直线,则为 false

public boolean isVisible ()

获取此多段线的可见性。

返回
  • 此多段线的可见性。

public void remove ()

用于从地图中移除此多段线。移除多段线后,其所有方法的行为将处于未定义状态。

public void setClickable (布尔值可点击)

设置多段线的可点击性。如果多段线可点击,则当用户点击多段线时,您的应用会向 GoogleMap.OnPolylineClickListener 发送通知。事件监听器通过 setOnPolylineClickListener(GoogleMap.OnPolylineClickListener) 注册。

参数
可点击 为多段线新增了可点击性设置。

public void setColor (int color)

用于设置此多段线的颜色。

参数
颜色 ARGB 格式的颜色

public void setEndCap (Cap endCap)

用于设置此多段线的末端的顶端。默认的结尾画面为 ButtCap

参数
endCap 结尾画面。不得为 null

public void setGeodesic (boolean geodesic)

设置是否将线条的各个线段绘制为测地线。

参数
geodesic 如果为 true,则每个线段会绘制为测地线;如果为 false,则每个线段会在墨卡托投影法上绘制为一条直线。

public void setJointType (int jointType)

设置多段线除起始顶点和结束顶点以外的所有顶点的接合类型。

如需了解允许使用的值,请参阅 JointType。如果未定义连接类型或不是允许的值之一,将使用默认值 DEFAULT

参数
jointType 联接类型。

public void setPattern (List<PatternItem> pattern)

设置多段线的描边图案。默认描边图案是纯色,由 null 表示。

参数
模式 描边图案。

public void setPoints (List<LatLng> points)

设置此多段线的点。此方法将获取这些点的副本,因此,进一步更改 points 不会对此多段线产生任何影响。

参数
积分 作为多段线顶点的 LatLng 的列表。

public void setSpans (List<StyleSpan> span)

设置多段线的跨度。

参数
span

public void setStartCap (Cap startCap)

用于设置此多段线的起始顶点处的顶端。默认的起始上限为 ButtCap

参数
startCap 起始上限。值不能为 null

public void setTag (对象标记)

设置多段线的标记。

您可以使用此属性将任意 Object 与此多段线相关联。例如,Object 可以包含有关多段线所代表内容的数据。这比存储单独的 Map<Polyline, Object> 更简单。再举一例,您可以关联与数据集中的 ID 对应的 String ID。Google Maps SDK for Android 既不会读取也不会写入此属性。您有责任在不再需要该标记时调用 setTag(null) 将其清除,以防止应用中出现内存泄漏。

参数
标记 如果为 null,则会清除标记。

public void setVisible (boolean visible)

用于设置此多段线的可见性。如果多段线不可见,则系统不会绘制多段线,但会保留其所有其他属性。

参数
visible 如果为 true,则多段线可见;如果为 false,则不可见。

public void setWidth (浮点宽度)

用于设置此多段线的宽度。

参数
width 宽度(以屏幕像素为单位)

public void setZIndex (float zIndex)

设置此多段线的 zIndex。zIndic 较高的多段线在索引较低的多段线之上绘制。

参数
zIndex 此多段线的 zIndex。