com.tencent.tencentmap.mapsdk.maps.model

## 类 PolylineOptions

- java.lang.Object
- - com.tencent.tencentmap.mapsdk.maps.model.PolylineOptions

-     public class PolylineOptions
      extends java.lang.Object

  设置折线相关选项

- - ### 嵌套类概要

    嵌套类
    限定符和类型 | 类和说明
    --- | ---
    `static class` | `PolylineOptions.Colors` 可用的颜色
    `static class` | `PolylineOptions.ColorType` 路线颜色类型
    `static class` | `PolylineOptions.LineType`
    `static class` | `PolylineOptions.SegmentText` 分段展示的文字对象
    `static class` | `PolylineOptions.Text` polyline 上展示的文字对象
    `static class` | `PolylineOptions.TextPriority` 文字优先级，目前只有两级，当两条带文字的 polyline 的交点处需要展示文字时，只展示高优先级的 polyline 上的文字。

  - ### 构造器概要

    构造器
    构造器和说明
    `PolylineOptions()`

  - ### 方法概要

    所有方法 静态方法 实例方法 具体方法 已过时的方法
    限定符和类型 | 方法和说明
    --- | ---
    `PolylineOptions` | `aboveMaskLayer(boolean above)` 已过时。 请使用z轴层级来设置蒙层和路线的相对位置 设置是否显示在蒙层之上
    `PolylineOptions` | `abovePillar(boolean isAbove)` 已过时。 Polyline是否显示在楼块上方 已经废弃，建议使用`level(int)`，精确设置显示层级关系
    `PolylineOptions` | `add(LatLng[] latLngs)` 添加顶点
    `PolylineOptions` | `add(LatLng latlng, LatLng... args)` 添加顶点
    `PolylineOptions` | `addAll(java.lang.Iterable<LatLng> latLngs)` 添加顶点
    `PolylineOptions` | `alpha(float a)` 设置透明度
    `PolylineOptions` | `animation(Animation a)` 执行一个动画
    `PolylineOptions` | `arrow(boolean flag)` 导航用接口,开发都不要用
    `PolylineOptions` | `arrowSpacing(int arrowSpacing)` 设置方向箭头的间距，单位（px),默认是100px
    `PolylineOptions` | `arrowTexture(BitmapDescriptor arrowTexture)` 设置方向箭头的自定义纹理
    `PolylineOptions` | `borderColor(int borderColor)` 设置线ARGB的描边颜色：当线是纯色线的时候，设置border的颜色可用此接口
    `PolylineOptions` | `borderColors(int[] borderColors)` 设置ARGB线的描边颜色，borderColors的数量应该与 `colors(int[], int[])`接口中的colors的长度保持一致。
    `PolylineOptions` | `borderWidth(float borderWidth)` 设置ARGB线 描边的宽度
    `PolylineOptions` | `clickable(boolean clickable)` 是否可以点击
    `PolylineOptions` | `color(int i)` 设置线的颜色
    `PolylineOptions` | `colors(int[] colors, int[] indexes)` 设置线的分段颜色
    `PolylineOptions` | `colorTexture(BitmapDescriptor bitmapDescriptor)` 注意： 1、当调用此接口，且LineType不为LINE_TYPE_DOTTEDLINE时，color和colors接口指定的值代表用此接口设置纹理的第几像素行，以绘制纹理线 2、当调用此接口，且LineType设置为LINE_TYPE_DOTTEDLINE时，绘制线时会连续绘制此接口设置的纹理。
    `PolylineOptions` | `colorType(PolylineOptions.ColorType type)` 设置颜色类型
    `PolylineOptions` | `eraseColor(int eraseColor)` 设置ARGB类型线的擦除色，默认为`Color.GRAY`
    `float` | `getAlpha()` 获取透明得
    `Animation` | `getAnimation()` 获取设置的动画
    `int` | `getArrowSpacing()` 获取箭头的间距，单位（px)，默认100px
    `BitmapDescriptor` | `getArrowTexture()` 获取Polyline自定义箭头的纹理
    `int[]` | `getBorderColors()` 获取ARGB线 border颜色数组 如果是纯色线的`borderColor(int)`,则返回长度为1的颜色数组
    `float` | `getBorderWidth()` 获取ARGB线描边宽度，(单位px)
    `int` | `getColor()` 返回PolylineOptions对象的32-bit ARGB颜色
    `int[][]` | `getColors()` 返回PolylineOptions对象的分段颜色
    `BitmapDescriptor` | `getColorTexture()` 获取纹理
    `PolylineOptions.ColorType` | `getColorType()` 获取设置的颜色类型
    `int` | `getEraseColor()` 获取ARGB类型线的擦除色，默认为`Color.GRAY`
    `IndoorInfo` | `getIndoorInfo()` 获取绑定的室内图信息
    `int` | `getLevel()` 获取PolylineOptions的显示level
    `boolean` | `getLineCap()` 获取路线是否显示半圆端点
    `int` | `getLineType()` 获取线类型
    `java.util.List<java.lang.Integer>` | `getPattern()`
    `java.util.List<LatLng>` | `getPoints()` 返回PolylineOptions对象的顶点坐标列表
    `static java.lang.String` | `getsDefaultArrowTexture()` 已过时。
    `PolylineOptions.Text` | `getText()` 获取沿 polyline 展示的文字
    `java.lang.String` | `getTextureName()` 已过时。
    `float` | `getWidth()` 返回PolylineOptions对象的宽度，单位（px)
    `int` | `getZIndex()` 返回PolylineOptions对象的堆叠顺序
    `PolylineOptions` | `gradient(boolean enable)` 渐变色开关 只有 `getLineType()` == `PolylineOptions.LineType.LINE_TYPE_MULTICOLORLINE` 且 `isRoad()` == true 才生效
    `PolylineOptions` | `indoorInfo(IndoorInfo indoorInfo)` 为Polyline添加室内图信息（buildingId，floorName） 当添加室内图信息后，Marker将会随着绑定的室内图状态改变而展示和隐藏
    `boolean` | `isAboveMaskLayer()` 已过时。 请使用z轴层级来设置蒙层和路线的相对位置 判断是否显示在蒙层之上
    `boolean` | `isAbovePillar()` 如果不设置Polyline的zIndex时，是否显示在3D楼块上方，默认在显示在楼块下方
    `boolean` | `isArrow()` 导航用接口,开发都不要用
    `boolean` | `isClickable()` 是否可点击
    `boolean` | `isGradientEnable()` 是否开启渐变色
    `boolean` | `isRoad()` 判断线是否为路线
    `boolean` | `isVisible()` 返回PolylineOptions对象的可见性
    `PolylineOptions` | `latLngs(java.util.List<LatLng> listLatlngs)` 设置折线坐标
    `PolylineOptions` | `level(int level)` 设置Polyline的显示Level，level用于控制Polyline与楼块，道路，POI的显示层级关系。
    `PolylineOptions` | `lineCap(boolean cap)` 设置路线是否显示半圆端点
    `PolylineOptions` | `lineType(int lineType)` 设置线的类型，必须`LineType里面的一种`
    `PolylineOptions` | `pattern(java.util.List<java.lang.Integer> pattern)` 设置ARGB虚线的样式
    `PolylineOptions` | `road(boolean isRoad)` 设置线是否为路线
    `void` | `setColors(int[] colors, int[] indexes)` 已过时。
    `PolylineOptions` | `setColorTexture(java.lang.String strTextureName)` 已过时。
    `static void` | `setDefaultArrowTexture(java.lang.String textureName)` 已过时。
    `void` | `setLatLngs(java.util.List<LatLng> listLatlngs)` 已过时。
    `PolylineOptions` | `setLineType(int lineType)` 已过时。
    `PolylineOptions` | `text(PolylineOptions.Text text)` 设置沿 polyline 展示的文字 只要调用 `TencentMap.addPolyline(PolylineOptions)` 构造出 `PolylineOptions.Text` 就不可以再调用 `Polyline.setPoints(List)` 修改展示的路径，只能创建新的 `Polyline`
    `PolylineOptions` | `updatePoints(java.lang.Iterable<LatLng> latLngs)` 添加顶点,该方法会清空原来顶点集合
    `PolylineOptions` | `visible(boolean visible)` 设置折线可见性
    `PolylineOptions` | `width(float width)` 设置线宽度
    `void` | `writeToParcel(android.os.Parcel out, int flags)` 序列化
    `PolylineOptions` | `zIndex(int zIndex)` 设置相同显示Level `level(int)` 的折线堆叠顺序，相同显示level，zIndex越大越靠上显示 level优先级大于zIndex

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

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

- - ### 构造器详细资料

    - #### PolylineOptions

          public PolylineOptions()

  - ### 方法详细资料

    - #### setLatLngs

          @Deprecated
          public void setLatLngs(java.util.List<LatLng> listLatlngs)

      已过时。
      设置折线坐标
      参数:
        `listLatlngs` - 将折线的顶点设置为指定列表

    - #### latLngs

          public PolylineOptions latLngs(java.util.List<LatLng> listLatlngs)

      设置折线坐标
      参数:
        `listLatlngs` - 将折线的顶点设置为指定列表

    - #### add

          public PolylineOptions add(LatLng latlng,
                                     LatLng... args)

      添加顶点
      参数:
        `latlng` - 将指定坐标点添加到折线顶点集合末尾
      返回:
        添加顶点后的PolylineOptions对象

    - #### add

          public PolylineOptions add(LatLng[] latLngs)

      添加顶点
      参数:
        `latLngs` - 将指定坐标集合添加到折线顶点集合末尾
      返回:
        添加顶点后的PolylineOptions对象

    - #### addAll

          public PolylineOptions addAll(java.lang.Iterable<LatLng> latLngs)

      添加顶点
      参数:
        `latLngs` - 将指定坐标集合添加到折线顶点集合末尾
      返回:
        添加顶点后的PolylineOptions对象

    - #### updatePoints

          public PolylineOptions updatePoints(java.lang.Iterable<LatLng> latLngs)

      添加顶点,该方法会清空原来顶点集合
      参数:
        `latLngs` - 将指定坐标集合更新折线顶点集合
      返回:
        添加顶点后的PolylineOptions对象

    - #### width

          public PolylineOptions width(float width)

      设置线宽度
      参数:
        `width` - 指定线宽度，单位：px，目前限制最大宽度 128
      返回:
        设置宽度后的PolylineOptions对象

    - #### borderWidth

          public PolylineOptions borderWidth(float borderWidth)

      设置ARGB线 描边的宽度
      参数:
        `borderWidth,` - ARGB描边宽度(单位px)
      返回:

    - #### colorType

          public PolylineOptions colorType(PolylineOptions.ColorType type)

      设置颜色类型
      参数:
        `type` - 颜色类型 `PolylineOptions.ColorType`
      返回:
        设置颜色类型后的PolylineOptions对象

    - #### getColorType

          public PolylineOptions.ColorType getColorType()

      获取设置的颜色类型
      返回:
        颜色类型 `PolylineOptions.ColorType`

    - #### gradient

          public PolylineOptions gradient(boolean enable)

      渐变色开关 只有 `getLineType()` == `PolylineOptions.LineType.LINE_TYPE_MULTICOLORLINE` 且 `isRoad()` == true 才生效
      参数:
        `enable` - true-启动，false-未启动

    - #### isGradientEnable

          public boolean isGradientEnable()

      是否开启渐变色
      返回:
        true-启动，false-未启动

    - #### color

          public PolylineOptions color(int i)

      设置线的颜色
      参数:
        `i` - 注意： 1、当使用ARGB线时为ARGB色值 2、当使用`colorTexture(BitmapDescriptor)`设置自定义纹理，使用纹理线时， 指定使用纹理的第几像素行来绘制线
      返回:
        设置颜色后的PolylineOptions对象

    - #### colors

          public PolylineOptions colors(int[] colors,
                                        int[] indexes)

      设置线的分段颜色
      参数:
        `colors` - 颜色数组 注： 1、当使用ARGB线时为ARGB色值 2、当使用`colorTexture(BitmapDescriptor)`设置自定义纹理，使用纹理线时， 指定使用纹理的第几像素行来绘制线
        `indexes` - 颜色数组对应的顶点索引数组
      返回:

    - #### borderColors

          public PolylineOptions borderColors(int[] borderColors)

      设置ARGB线的描边颜色，borderColors的数量应该与 `colors(int[], int[])`接口中的colors的长度保持一致。
      参数:
        `borderColors` - ARGB格式颜色数组
      返回:

    - #### borderColor

          public PolylineOptions borderColor(int borderColor)

      设置线ARGB的描边颜色：当线是纯色线的时候，设置border的颜色可用此接口
      参数:
        `borderColor` - ARGB格式颜色
      返回:

    - #### eraseColor

          public PolylineOptions eraseColor(int eraseColor)

      设置ARGB类型线的擦除色，默认为`Color.GRAY`
      参数:
        `eraseColor` -
      返回:

    - #### getEraseColor

          public int getEraseColor()

      获取ARGB类型线的擦除色，默认为`Color.GRAY`
      返回:

    - #### zIndex

          public PolylineOptions zIndex(int zIndex)

      设置相同显示Level `level(int)` 的折线堆叠顺序，相同显示level，zIndex越大越靠上显示 level优先级大于zIndex
      参数:
        `zIndex` - 指定折线的堆叠顺序
      返回:
        指定堆叠顺序后的PolylineOptions对象

    - #### indoorInfo

          public PolylineOptions indoorInfo(IndoorInfo indoorInfo)

      为Polyline添加室内图信息（buildingId，floorName） 当添加室内图信息后，Marker将会随着绑定的室内图状态改变而展示和隐藏
      参数:
        `indoorInfo` -
      返回:

    - #### visible

          public PolylineOptions visible(boolean visible)

      设置折线可见性
      参数:
        `visible` - 设置折线的可见性 true 可见 false 隐藏
      返回:
        设置可见性后的PolylineOptions对象

    - #### setColors

          @Deprecated
          public void setColors(int[] colors,
                                            int[] indexes)

      已过时。

    - #### arrow

          public PolylineOptions arrow(boolean flag)

      导航用接口,开发都不要用

    - #### abovePillar

          public PolylineOptions abovePillar(boolean isAbove)

      已过时。 Polyline是否显示在楼块上方 已经废弃，建议使用`level(int)`，精确设置显示层级关系
      参数:
        `isAbove` -
      返回:

    - #### alpha

          public PolylineOptions alpha(float a)

      设置透明度
      参数:
        `a` - 透明度
      返回:
        设置透明度后的线属性

    - #### lineCap

          public PolylineOptions lineCap(boolean cap)

      设置路线是否显示半圆端点
      参数:
        `cap` - 是否显示半圆端点
      返回:
        设置后的线属性

    - #### animation

          public PolylineOptions animation(Animation a)

      执行一个动画
      参数:
        `a` - 动画
      返回:
        添加动画后的线属性

    - #### getPoints

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

      返回PolylineOptions对象的顶点坐标列表
      返回:
        折线的顶点坐标列表

    - #### getWidth

          public float getWidth()

      返回PolylineOptions对象的宽度，单位（px)
      返回:
        折线的宽度

    - #### getColor

          public int getColor()

      返回PolylineOptions对象的32-bit ARGB颜色
      返回:
        折线的32-bit ARGB颜色

    - #### getColors

          public int[][] getColors()

      返回PolylineOptions对象的分段颜色
      返回:
        int[0]为颜色数组;int[1]为颜色对应顶点的索引值

    - #### getZIndex

          public int getZIndex()

      返回PolylineOptions对象的堆叠顺序
      返回:
        折线的堆叠顺序

    - #### getIndoorInfo

          public IndoorInfo getIndoorInfo()

      获取绑定的室内图信息
      返回:

    - #### isVisible

          public boolean isVisible()

      返回PolylineOptions对象的可见性
      返回:
        true 可见 false 隐藏

    - #### isArrow

          public boolean isArrow()

      导航用接口,开发都不要用

    - #### isAbovePillar

          public boolean isAbovePillar()

      如果不设置Polyline的zIndex时，是否显示在3D楼块上方，默认在显示在楼块下方
      返回:

    - #### getAlpha

          public float getAlpha()

      获取透明得
      返回:
        透明度

    - #### getLineCap

          public boolean getLineCap()

      获取路线是否显示半圆端点
      返回:
        是否显示半圆端点

    - #### getAnimation

          public Animation getAnimation()

      获取设置的动画
      返回:
        动画

    - #### getLineType

          public int getLineType()

      获取线类型
      返回:
        线类型

    - #### setLineType

          @Deprecated
          public PolylineOptions setLineType(int lineType)

      已过时。
      设置线的类型，必须`LineType里面的一种`
      已废弃，使用 `lineType(int lineType)` 代替此方法
      参数:
        `lineType` - 线类型

    - #### lineType

          public PolylineOptions lineType(int lineType)

      设置线的类型，必须`LineType里面的一种`
      参数:
        `lineType` - 线类型

    - #### setColorTexture

          @Deprecated
          public PolylineOptions setColorTexture(java.lang.String strTextureName)

      已过时。
      设置自定义纹理，自定义的纹理文件必须放在项目的asset目录下
      已过时，使用 `colorTexture(BitmapDescriptor)` 代替此方法
      注意：
      1、当调用此接口，且LineType不为LINE_TYPE_DOTTEDLINE时，color和colors接口指定的值代表用此接口设置纹理的第几像素行，以绘制纹理线
      2、当调用此接口，且LineType设置为LINE_TYPE_DOTTEDLINE时，绘制线时会连续绘制此接口设置的纹理。
      3、提供的纹理图片最大高度不能超过16px。
      参数:
        `strTextureName` - 自定义纹理文件名，不含asset, 如文件在 /asset/texture.png,则传入texture.png

    - #### colorTexture

          public PolylineOptions colorTexture(BitmapDescriptor bitmapDescriptor)

      注意：
      1、当调用此接口，且LineType不为LINE_TYPE_DOTTEDLINE时，color和colors接口指定的值代表用此接口设置纹理的第几像素行，以绘制纹理线
      2、当调用此接口，且LineType设置为LINE_TYPE_DOTTEDLINE时，绘制线时会连续绘制此接口设置的纹理。
      3、提供的纹理图片最大高度不能超过16px。
      参数:
        `bitmapDescriptor` -
      返回:

    - #### getTextureName

          @Deprecated
          public java.lang.String getTextureName()

      已过时。
      获取纹理图片名称 已过时，使用 `getColorTexture()` 代替此方法
      返回:
        纹理图片名称

    - #### getColorTexture

          public BitmapDescriptor getColorTexture()

      获取纹理
      返回:
        纹理图片名称

    - #### aboveMaskLayer

          public PolylineOptions aboveMaskLayer(boolean above)

      已过时。 请使用z轴层级来设置蒙层和路线的相对位置 设置是否显示在蒙层之上
      参数:
        `above` - 是否显示在蒙层智商
      返回:
        设置后的线属性

    - #### isAboveMaskLayer

          public boolean isAboveMaskLayer()

      已过时。 请使用z轴层级来设置蒙层和路线的相对位置 判断是否显示在蒙层之上
      返回:
        是否显示在蒙层之上

    - #### road

          public PolylineOptions road(boolean isRoad)

      设置线是否为路线
      参数:
        `isRoad` - 是否为路线
      返回:
        设置后的线属性

    - #### isRoad

          public boolean isRoad()

      判断线是否为路线
      返回:
        是否为路线

    - #### level

          public PolylineOptions level(int level)

      设置Polyline的显示Level，level用于控制Polyline与楼块，道路，POI的显示层级关系。 默认为`OverlayLevel.OverlayLevelAboveRoads`道路之上楼块之下 相同Level内的显示层级关系通过`zIndex(int)`来控制，zIndex越大越靠上显示。 Level优先级高于zIndex
      参数:
        `level` - 必须为如下值之一，否则不生效

        `OverlayLevel.OverlayLevelAboveRoads`

        `OverlayLevel.OverlayLevelAboveBuildings`

        `OverlayLevel.OverlayLevelAboveLabels`

      返回:

    - #### getLevel

          public int getLevel()

      获取PolylineOptions的显示level
      返回:

    - #### arrowTexture

          public PolylineOptions arrowTexture(BitmapDescriptor arrowTexture)

      设置方向箭头的自定义纹理
      参数:
        `arrowTexture` - 纹理图片包装类
      返回:

    - #### arrowSpacing

          public PolylineOptions arrowSpacing(int arrowSpacing)

      设置方向箭头的间距，单位（px),默认是100px
      参数:
        `arrowSpacing` - 箭头之间的间距（如果设置了自定义的箭头图片，建议arrowSpacing的值大于自定义箭头图片的宽度）
      返回:

    - #### setDefaultArrowTexture

          @Deprecated
          public static void setDefaultArrowTexture(java.lang.String textureName)

      已过时。
      设置默认的方向箭头图片名称，后续不再提供这个方法
      参数:
        `textureName` - 图片名称

    - #### getsDefaultArrowTexture

          @Deprecated
          public static java.lang.String getsDefaultArrowTexture()

      已过时。
      获取默认的方向箭头图片名称，后续不再提供这个方法
      返回:
        图片名称 如未设置则返回null

    - #### getArrowTexture

          public BitmapDescriptor getArrowTexture()

      获取Polyline自定义箭头的纹理
      返回:

    - #### getArrowSpacing

          public int getArrowSpacing()

      获取箭头的间距，单位（px)，默认100px
      返回:

    - #### clickable

          public PolylineOptions clickable(boolean clickable)

      是否可以点击
      参数:
        `clickable` -

    - #### isClickable

          public boolean isClickable()

      是否可点击
      返回:

    - #### writeToParcel

          public void writeToParcel(android.os.Parcel out,
                                    int flags)

      序列化
      参数:
        `out` -
        `flags` -

    - #### getPattern

          public java.util.List<java.lang.Integer> getPattern()

    - #### pattern

          public PolylineOptions pattern(java.util.List<java.lang.Integer> pattern)

      设置ARGB虚线的样式
      参数:
        `pattern` - pattern的元素数量必须是偶数个，每对元素分别表示虚线中实线区域的长度，以及空白区域的长度（单位px)
      返回:

    - #### getBorderWidth

          public float getBorderWidth()

      获取ARGB线描边宽度，(单位px)
      返回:

    - #### getBorderColors

          public int[] getBorderColors()

      获取ARGB线 border颜色数组 如果是纯色线的`borderColor(int)`,则返回长度为1的颜色数组
      返回:

    - #### text

          public PolylineOptions text(PolylineOptions.Text text)

      设置沿 polyline 展示的文字
      只要调用 `TencentMap.addPolyline(PolylineOptions)` 构造出 `PolylineOptions.Text` 就不可以再调用 `Polyline.setPoints(List)` 修改展示的路径，只能创建新的 `Polyline`
      参数:
        `text` -

    - #### getText

          public PolylineOptions.Text getText()

      获取沿 polyline 展示的文字
      返回: