com.amap.api.maps.model

## 类 Polyline

- java.lang.Object
- - com.amap.api.maps.model.BaseOverlay
  - - com.amap.api.maps.model.Polyline

-     public class Polyline
      extends BaseOverlay

  定义地图线段覆盖物。一个线段是多个连贯点的集合线段。

  它拥有以下属性：

  - 顶点

  线段是由两个顶点之间连贯的点构成的。如果两个顶点相同，则一个线段将闭合。

  - 宽度

  宽度是单位是像素。宽度是可视区域的缩放级别无关。默认为10。

  - 颜色

  线段的颜色是ARGB格式，颜色格式可以参考 `Color`。默认是黑色(0xff000000)。

  - Z轴

  Z轴是控制地图覆盖物（overlay）之间的绘制层次的参数。这个参数能够控制Circles、Polygons、Polyline的绘制层次，但不会影响marker。 Z轴数值越大的覆盖物（overlay）将会绘制在更上层。如果两个及两个以上覆盖物（overlay）的Z轴数值相同，则最后的绘制结果是随机的。 覆盖物（overlay）的Z轴默认为0。

  - 可见

  这个属性表示了线段是否可以显示在地图上。如果设置为不可见，则绘制地图时不会绘制此线段，但其他属性不受影响。默认为可见。

  Define map polyline overlay. A polyline is a collection of multiple consecutive points.

  It has the following attributes:

  - Vertices

  A polyline is formed by consecutive points between two vertices. If the two vertices are the same, the polyline will be closed.

  - Width

  The width is measured in pixels. The width is independent of the zoom level of the visible area. The default is 10.

  - Color

  The color of the polyline is in ARGB format, and the color format can refer to `Color`. The default is black (0xff000000).

  - Z-axis

  The Z-axis is a parameter that controls the drawing hierarchy between map overlays. This parameter can control the drawing hierarchy of Circles, Polygons, and Polylines, but it does not affect markers. Overlays with a larger Z-axis value will be drawn on top. If two or more overlays have the same Z-axis value, the final drawing result is random. The default Z-axis value for overlays is 0.

  - Visibility

  This attribute indicates whether the polyline can be displayed on the map. If set to invisible, the polyline will not be drawn when the map is rendered, but other attributes are not affected. The default is visible.

  从以下版本开始:
    2.0

- - ### 字段概要

    - ### 从类继承的字段 com.amap.api.maps.model.BaseOverlay

      `Field1, Field2, overlayName`

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `boolean` | `equals(java.lang.Object other)`
    `int` | `getColor()` 获取线段的颜色 Get the color of the polyline
    `java.lang.String` | `getId()` 获取线段的Id。
    `LatLng` | `getNearestLatLng(LatLng latLng)` 获取某坐标点距线上最近的坐标点。
    `PolylineOptions` | `getOptions()` 获取线段选项信息 Get polyline options
    `java.util.List<LatLng>` | `getPoints()` 获取线段的顶点坐标点列表。
    `float` | `getWidth()` 获取线段的宽度 Get the width of the polyline
    `float` | `getZIndex()` 获取线段的z轴值。
    `int` | `hashCode()`
    `boolean` | `isDottedLine()` 获取线段是否虚线。
    `boolean` | `isGeodesic()` 获取线段是否为大地曲线，默认false，不画大地曲线。
    `boolean` | `isVisible()` 获取线段是否可见 Get whether the polyline is visible
    `void` | `remove()` 从地图上删除当前线段。
    `void` | `setColor(int color)` 设置线段的颜色 Set the color of the polyline
    `void` | `setCustomTexture(BitmapDescriptor customTexture)` 设置线段的自定义纹理 Set custom texture for polyline
    `void` | `setDottedLine(boolean isDottedLine)` 设置线段是否虚线，默认为false，画实线。
    `void` | `setEraseColor(boolean eraseVisible, int eraseColor)` 设置线段擦除（显示范围外）颜色，需要传入32位的ARGB格式，针对颜色线段生效。
    `void` | `setGeodesic(boolean isGeodesic)` 设置线段是否画大地曲线，默认false，不画大地曲线。
    `void` | `setOptions(PolylineOptions options)` 设置线段选项信息 设置多个属性时可以使用此方法,单个属性设置建议使用各自对应的方法。
    `void` | `setPoints(java.util.List<LatLng> points)` 设置线段的坐标点列表。
    `void` | `setTransparency(float transparency)` 设置线段的透明度，需要使用纹理，此方法才有效，如果只设置颜色透明度，使用color即可 Set the transparency of the polyline, a texture is required for this method to be effective.
    `void` | `setVisible(boolean visible)` 设置线段的可见属性。
    `void` | `setWidth(float width)` 设置线段的宽度 Set the width of the polyline
    `void` | `setZIndex(float zIndex)` 设置线段的z轴值。

    - ### 从类继承的方法 com.amap.api.maps.model.BaseOverlay

      `method1, method2`

    - ### 从类继承的方法 java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### 方法详细资料

    - #### remove

          public void remove()

      从地图上删除当前线段。线段删除后，被删除的线段的方法均无效。
      Remove the current polyline from the map. After the polyline is removed, the methods of the removed polyline will be invalid.
      从以下版本开始:
        2.0

    - #### getId

          public java.lang.String getId()

      获取线段的Id。线段的Id用于区分在同一个地图里面不同的线段覆盖物。
      Get the ID of the polyline. The ID of the polyline is used to distinguish different polyline overlays on the same map.
      返回:
        Id
      从以下版本开始:
        2.0

    - #### setPoints

          public void setPoints(java.util.List<LatLng> points)

      设置线段的坐标点列表。如果调用此方法后修改了List的值将不会影响到线段。
      Set the coordinate point list of the polyline. If the value of the List is modified after calling this method, it will not affect the polyline.
      参数:
        `points` - 线段顶点的坐标列表
        Coordinate list of the polyline vertices
      从以下版本开始:
        2.0

    - #### getPoints

          public java.util.List<LatLng> getPoints()

      获取线段的顶点坐标点列表。如果调用此方法后，线段的顶点发生了变化，列表的值不会随之改变。

      如果调用此方法获得顶点坐标后并且修改了顶点坐标，也不会作用到当前线程。如果需要修改线段的顶点值必须调用 `Polyline.setPoints(List)`。

      Get the coordinate point list of the polyline vertices. If the vertices of the polyline change after calling this method, the value of the list will not change accordingly.

      If you call this method to obtain the vertex coordinates and modify the vertex coordinates, it will not affect the current thread. If you need to modify the vertex values of the polyline, you must call `Polyline.setPoints(List)`.

      返回:
        线段的顶点坐标列表。
        Coordinate list of the polyline vertices.
      从以下版本开始:
        2.0

    - #### setGeodesic

          public void setGeodesic(boolean isGeodesic)

      设置线段是否画大地曲线，默认false，不画大地曲线。
      Set whether the polyline is drawn as a geodesic curve, default is false, not drawing a geodesic curve.
      参数:
        `isGeodesic` - true：画大地曲线；false：不画大地曲线。
        true: draw a geodesic curve; false: do not draw a geodesic curve.
      从以下版本开始:
        2.1.3

    - #### isGeodesic

          public boolean isGeodesic()

      获取线段是否为大地曲线，默认false，不画大地曲线。
      Get whether the polyline is a geodesic curve, default is false, not drawing a geodesic curve.
      返回:
        true 为大地曲线，false 不是大地曲线。
        true is a geodesic curve, false is not a geodesic curve.
      从以下版本开始:
        2.1.3

    - #### setDottedLine

          public void setDottedLine(boolean isDottedLine)

      设置线段是否虚线，默认为false，画实线。
      Set whether the polyline is dashed, default is false, drawing a solid line.
      参数:
        `isDottedLine` - true，画虚线；false，画实线。
        true, draw a dashed line; false, draw a solid line.
      从以下版本开始:
        2.1.4

    - #### isDottedLine

          public boolean isDottedLine()

      获取线段是否虚线。
      Get whether the polyline is dashed.
      返回:
        true，虚线；false，实线。
        true, dashed line; false, solid line.
      从以下版本开始:
        2.1.4

    - #### setWidth

          public void setWidth(float width)

      设置线段的宽度
      Set the width of the polyline
      参数:
        `width` - 线段宽度 单：像素
        Polyline width unit: pixel
      从以下版本开始:
        2.0

    - #### getWidth

          public float getWidth()

      获取线段的宽度
      Get the width of the polyline
      返回:
        线段宽度 单位：像素
        Polyline width unit: pixel
      从以下版本开始:
        2.0

    - #### setColor

          public void setColor(int color)

      设置线段的颜色
      Set the color of the polyline
      参数:
        `color` - 颜色的ARGB格式
        Color in ARGB format
      从以下版本开始:
        2.0

    - #### getColor

          public int getColor()

      获取线段的颜色
      Get the color of the polyline
      返回:
        线段颜色的ARGB格式
        Polyline color in ARGB format
      从以下版本开始:
        2.0

    - #### setZIndex

          public void setZIndex(float zIndex)

      设置线段的z轴值。
      Set the z-axis value of the polyline.
      参数:
        `zIndex` - z轴值。
        Z-axis value.
      从以下版本开始:
        2.0

    - #### getZIndex

          public float getZIndex()

      获取线段的z轴值。
      Get the z-axis value of the polyline.
      返回:
        z轴值
        Z-axis value.
      从以下版本开始:
        2.0

    - #### setVisible

          public void setVisible(boolean visible)

      设置线段的可见属性。当不可见时，线段不会被绘制。
      Set the visibility property of the polyline. When invisible, the polyline will not be drawn.
      参数:
        `visible` - true: 可见; false: 不可见。
        true: visible; false: invisible.
      从以下版本开始:
        2.0

    - #### isVisible

          public boolean isVisible()

      获取线段是否可见
      Get whether the polyline is visible
      返回:
        true: 可见; false: 不可见
        true: visible; false: invisible.
      从以下版本开始:
        2.0

    - #### equals

          public boolean equals(java.lang.Object other)

      覆盖:
        `equals` 在类中 `java.lang.Object`

    - #### hashCode

          public int hashCode()

      覆盖:
        `hashCode` 在类中 `java.lang.Object`

    - #### getNearestLatLng

          public LatLng getNearestLatLng(LatLng latLng)

      获取某坐标点距线上最近的坐标点。
      Get the nearest point on the line to a given coordinate point.
      参数:
        `latLng` - - 一个经纬度点。
        - A latitude and longitude point.
      返回:
        某点到线上最近的点。
        The nearest point on the line to a given point.
      从以下版本开始:
        2.3.0

    - #### setTransparency

          public void setTransparency(float transparency)

      设置线段的透明度，需要使用纹理，此方法才有效，如果只设置颜色透明度，使用color即可
      Set the transparency of the polyline, a texture is required for this method to be effective. If only setting color transparency, use color instead.
      参数:
        `transparency` - 透明度 范围0~1, 默认是1, 1表示不透明
        Transparency range 0~1, default is 1, 1 means opaque
      从以下版本开始:
        3.1.1

    - #### setCustomTexture

          public void setCustomTexture(BitmapDescriptor customTexture)

      设置线段的自定义纹理
      Set custom texture for polyline
      参数:
        `customTexture` - 纹理图片 `BitmapDescriptor`
        Texture image `BitmapDescriptor`
      从以下版本开始:
        4.0.0

    - #### setOptions

          public void setOptions(PolylineOptions options)

      设置线段选项信息
      设置多个属性时可以使用此方法,单个属性设置建议使用各自对应的方法。
      Set polyline options
      Use this method when setting multiple attributes. For setting individual attributes, it is recommended to use their corresponding methods.
      参数:
        `options` - 线段选项信息 `PolylineOptions`
        Polyline options `PolylineOptions`
      从以下版本开始:
        4.0.0

    - #### getOptions

          public PolylineOptions getOptions()

      获取线段选项信息
      Get polyline options
      返回:
        线段选项信息 `PolylineOptions`
        Polyline options `PolylineOptions`
      从以下版本开始:
        4.0.0

    - #### setEraseColor

          public void setEraseColor(boolean eraseVisible,
                                    int eraseColor)

      设置线段擦除（显示范围外）颜色，需要传入32位的ARGB格式，针对颜色线段生效。默认为黑色( 0xff000000)，此函数需要`PolylineOptions.setShownRange(float rangeBegin, float rangeEnd)`使用后生效
      Set the color of the erased polyline (outside the display range), requires 32-bit ARGB format, effective for colored polylines. Default is black (0xff000000), this function takes effect after `PolylineOptions.setShownRange(float rangeBegin, float rangeEnd)` is used.
      参数:
        `eraseVisible` - 擦除线段（线段显示范围外）可见性，默认不可见。
        Visibility of the erased polyline (outside the polyline display range), invisible by default.
        `eraseColor` - 擦除线段（线段显示范围外）颜色
        Color of the erased polyline (outside the polyline display range)
      从以下版本开始:
        7.5.0