com.tencent.tencentmap.mapsdk.maps.model

## 接口 Polyline

- 所有超级接口:
    com.tencent.tencentmap.mapsdk.maps.interfaces.Animationable, com.tencent.tencentmap.mapsdk.maps.interfaces.Clickable, IOverlay, com.tencent.tencentmap.mapsdk.maps.interfaces.Levelable, com.tencent.tencentmap.mapsdk.maps.interfaces.Removable, com.tencent.tencentmap.mapsdk.maps.interfaces.Tagable<java.lang.Object>, com.tencent.tencentmap.mapsdk.maps.interfaces.Visible

      public interface Polyline
      extends IOverlay, com.tencent.tencentmap.mapsdk.maps.interfaces.Removable, com.tencent.tencentmap.mapsdk.maps.interfaces.Visible, com.tencent.tencentmap.mapsdk.maps.interfaces.Levelable, com.tencent.tencentmap.mapsdk.maps.interfaces.Tagable<java.lang.Object>, com.tencent.tencentmap.mapsdk.maps.interfaces.Clickable, com.tencent.tencentmap.mapsdk.maps.interfaces.Animationable

- - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `static int` | `DARK_BLUE` 已过时。
    `static int` | `DASHED` 已过时。
    `static int` | `GREEN` 已过时。
    `static int` | `GREY` 已过时。
    `static int` | `LIGHT_BLUE` 已过时。
    `static int` | `RED` 已过时。
    `static int` | `WHITE_BLUE` 已过时。
    `static int` | `YELLOW` 已过时。

  - ### 方法概要

    所有方法 实例方法 抽象方法 已过时的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | `addTurnArrow(int index, int length)` 添加一个转弯箭头
    `void` | `appendPoint(LatLng... points)` 在原有顶点上附加新的顶点
    `void` | `appendPoints(java.util.List<LatLng> list)` 在原有顶点上附加新的顶点
    `void` | `arrowSpacing(int arrowSpacing)` 设置间距（如果是实线则设置的是方向箭头的间距；如果是点线/虚线则设置的是点/虚线之间的间距）
    `void` | `cleanTurnArrow()` 清除当前显示的路线转弯箭头
    `void` | `eraseColor(int color)` 设置路线擦除颜色
    `void` | `eraseTo(int index, LatLng point)` 设置路线擦除的索引，要使此接口生效必须调用 `setEraseable(boolean)`
    `int` | `getColor()` 获取当前颜色的索引值
    `int[][]` | `getColors()` 获取每段折线颜色及顶点位置
    `java.util.List<java.lang.Integer>` | `getPattern()` 获取 ARGB虚线的样式 pattern的元素数量必须是偶数个，每对元素分别表示虚线中实线区域的长度，以及空白区域的长度（单位px)
    `java.util.List<LatLng>` | `getPoints()` 返回折线的顶点坐标列表
    `PolylineOptions` | `getPolylineOptions()` 获取线属性
    `PolylineOptions.Text` | `getText()` 获取沿 polyline 展示的文字
    `android.graphics.Rect` | `getVisibleRect()` 得到可见路线的bound
    `float` | `getWidth()` 获取线的宽度 （单位 px）
    `boolean` | `isAboveMaskLayer()` 已过时。 请使用z轴层级来设置蒙层和路线的相对位置 判断是否显示在蒙层之上
    `boolean` | `isGradientEnable()` 渐变是否生效
    `void` | `pattern(java.util.List<java.lang.Integer> pattern)` 设置ARGB虚线的样式
    `void` | `setAboveMaskLayer(boolean above)` 已过时。 请使用z轴层级来设置蒙层和路线的相对位置 设置是否显示在蒙层之上
    `void` | `setArrow(boolean boEnable)` 导航用的API，开发者不要使用
    `void` | `setBorderColors(int[] borderColors)` 设置描边颜色
    `void` | `setColor(int color)` 设置路线的颜色
    `void` | `setColors(int[] colors, int[] indexs)` 设置线的分段颜色
    `void` | `setColorTexture(BitmapDescriptor bitmapDescriptor)` 设置定制义的纹理，每个纹理的为8x64的图片
    `void` | `setColorTexture(java.lang.String strTextureName)` 已过时。 建议使用 `setColorTexture(BitmapDescriptor)`
    `void` | `setEraseable(boolean eraseable)` 设置路线是否可以擦除
    `void` | `setGradientEnable(boolean enable)` 设置渐变开关 只有线类型是`PolylineOptions.LineType.LINE_TYPE_MULTICOLORLINE` 且 `PolylineOptions.isRoad()` == true才生效
    `void` | `setPoints(java.util.List<LatLng> list)` 设置折线顶点
    `void` | `setPolylineOptions(PolylineOptions options)` 已过时。 不推荐使用，会带来属性不兼容问题，建议直接调用对应属性修改接口更新
    `void` | `setText(PolylineOptions.Text text)` 设置沿 polyline 展示的文字
    `void` | `setWidth(float width)` 设置折线的宽度
    `void` | `startAnimation(Animation animation)` 开始播放动画，目前只有AlphaAnimation和EmergeAnimation支持。

    - ### 从接口继承的方法 com.tencent.tencentmap.mapsdk.maps.model.IOverlay

      `getId`

    - ### 从接口继承的方法 com.tencent.tencentmap.mapsdk.maps.interfaces.Removable

      `isRemoved, releaseData, remove`

    - ### 从接口继承的方法 com.tencent.tencentmap.mapsdk.maps.interfaces.Visible

      `isVisible, setVisible`

    - ### 从接口继承的方法 com.tencent.tencentmap.mapsdk.maps.interfaces.Levelable

      `getLevel, getZIndex, setLevel, setZIndex, setZIndex`

    - ### 从接口继承的方法 com.tencent.tencentmap.mapsdk.maps.interfaces.Tagable

      `getTag, setTag`

    - ### 从接口继承的方法 com.tencent.tencentmap.mapsdk.maps.interfaces.Clickable

      `isClickable, setClickable`

    - ### 从接口继承的方法 com.tencent.tencentmap.mapsdk.maps.interfaces.Animationable

      `setAnimation, startAnimation`

- - ### 字段详细资料

    - #### GREEN

          @Deprecated
          static final int GREEN

      已过时。
      绿色, 已废弃
      另请参阅:
        `PolylineOptions.Colors.GREEN`, 常量字段值

    - #### YELLOW

          @Deprecated
          static final int YELLOW

      已过时。
      黄色，已废弃
      另请参阅:
        `PolylineOptions.Colors.YELLOW`, 常量字段值

    - #### RED

          @Deprecated
          static final int RED

      已过时。
      红色，已废弃
      另请参阅:
        `PolylineOptions.Colors.RED`, 常量字段值

    - #### LIGHT_BLUE

          @Deprecated
          static final int LIGHT_BLUE

      已过时。
      淡蓝，已废弃
      另请参阅:
        `PolylineOptions.Colors.LIGHT_BLUE`, 常量字段值

    - #### DARK_BLUE

          @Deprecated
          static final int DARK_BLUE

      已过时。
      深蓝，已废弃
      另请参阅:
        `PolylineOptions.Colors.DARK_BLUE`, 常量字段值

    - #### GREY

          @Deprecated
          static final int GREY

      已过时。
      灰色，已废弃
      另请参阅:
        `PolylineOptions.Colors.GREY`, 常量字段值

    - #### DASHED

          @Deprecated
          static final int DASHED

      已过时。
      虚线，已废弃
      另请参阅:
        `PolylineOptions.Colors.DASHED`, 常量字段值

    - #### WHITE_BLUE

          @Deprecated
          static final int WHITE_BLUE

      已过时。
      白蓝色，已废弃
      另请参阅:
        `PolylineOptions.Colors.WHITE_BLUE`, 常量字段值

  - ### 方法详细资料

    - #### setPolylineOptions

          void setPolylineOptions(PolylineOptions options)

      已过时。 不推荐使用，会带来属性不兼容问题，建议直接调用对应属性修改接口更新
      设置一组线的属性
      参数:
        `options` - 线属性

    - #### getPolylineOptions

          PolylineOptions getPolylineOptions()

      获取线属性
      返回:
        线属性

    - #### setPoints

          void setPoints(java.util.List<LatLng> list)

      设置折线顶点
      参数:
        `list` - 将折线顶点设置为指定list

    - #### appendPoint

          void appendPoint(LatLng... points)

      在原有顶点上附加新的顶点
      参数:
        `points` -

    - #### appendPoints

          void appendPoints(java.util.List<LatLng> list)

      在原有顶点上附加新的顶点
      参数:
        `list` -

    - #### addTurnArrow

          void addTurnArrow(int index,
                            int length)

      添加一个转弯箭头
      参数:
        `index,` - 路段index
        `length` - 转弯箭头长度 @deprecated 暂不支持，传0即可

    - #### cleanTurnArrow

          void cleanTurnArrow()

      清除当前显示的路线转弯箭头

    - #### arrowSpacing

          void arrowSpacing(int arrowSpacing)

      设置间距（如果是实线则设置的是方向箭头的间距；如果是点线/虚线则设置的是点/虚线之间的间距）
      参数:
        `arrowSpacing` - 箭头间距（单位：pixel） 默认间距为100dp

    - #### getPoints

          java.util.List<LatLng> getPoints()

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

    - #### setWidth

          void setWidth(float width)

      设置折线的宽度
      参数:
        `width` - 折线宽度，单位：px，目前限制最大宽度 128

    - #### getWidth

          float getWidth()

      获取线的宽度 （单位 px）
      返回:
        线宽度

    - #### setBorderColors

          void setBorderColors(int[] borderColors)

      设置描边颜色
      参数:
        `borderColors` - 描边颜色数组 需保证数组个数与colors数组的个数匹配

    - #### setColor

          void setColor(int color)

      设置路线的颜色
      参数:
        `color` - 当使用ARGB线时为ARGB色值

    - #### setColors

          void setColors(int[] colors,
                         int[] indexs)

      设置线的分段颜色
      参数:
        `colors` - 颜色数组 需保证数组个数与borderColors数组的个数匹配
        `indexs` - 颜色数组对应的顶点索引数组

    - #### getColors

          int[][] getColors()

      获取每段折线颜色及顶点位置
      返回:
        int[0]折线颜色 int[1]折线顶点位置

    - #### setArrow

          void setArrow(boolean boEnable)

      导航用的API，开发者不要使用

    - #### setColorTexture

          void setColorTexture(java.lang.String strTextureName)

      已过时。 建议使用 `setColorTexture(BitmapDescriptor)`
      设置定制义的纹理，每个纹理的为8x64的图片
      参数:
        `strTextureName` - 线纹理的文件名。要放在assets目录下

    - #### setColorTexture

          void setColorTexture(BitmapDescriptor bitmapDescriptor)

      设置定制义的纹理，每个纹理的为8x64的图片
      参数:
        `bitmapDescriptor` - 线颜色纹理

    - #### getColor

          int getColor()

      获取当前颜色的索引值
      返回:
        颜色索引值

    - #### setAboveMaskLayer

          void setAboveMaskLayer(boolean above)

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

    - #### isAboveMaskLayer

          boolean isAboveMaskLayer()

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

    - #### getPattern

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

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

    - #### pattern

          void pattern(java.util.List<java.lang.Integer> pattern)

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

    - #### eraseTo

          void eraseTo(int index,
                       LatLng point)

      设置路线擦除的索引，要使此接口生效必须调用 `setEraseable(boolean)`
      参数:
        `index` - 擦除点相对于路线所有点集的索引 (不支持传入下标为 N-1 的最后一个点)
        `point` - 擦除点坐标，如果此坐标在 [points[index], points[index + 1]] 之外，擦除点为 points[index]； 如果此坐标在 [points[index], points[index + 1]] 之间，设置的这个点即为擦除点。

    - #### eraseColor

          void eraseColor(int color)

      设置路线擦除颜色
      参数:
        `color` - 擦除颜色 (如果eraseable为true, 擦除的路线上的颜色会彻底擦除; 若为false则擦除的路线会被置为设置的擦除色, 配合`eraseTo(int, LatLng)`调用)

    - #### setEraseable

          void setEraseable(boolean eraseable)

      设置路线是否可以擦除
      参数:
        `eraseable` - 默认为false不擦除

    - #### getVisibleRect

          android.graphics.Rect getVisibleRect()

      得到可见路线的bound

    - #### startAnimation

          void startAnimation(Animation animation)

      开始播放动画，目前只有AlphaAnimation和EmergeAnimation支持。
      指定者:
        `startAnimation` 在接口中 `com.tencent.tencentmap.mapsdk.maps.interfaces.Animationable`
      参数:
        `animation` - 动画

    - #### getText

          PolylineOptions.Text getText()

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

    - #### setText

          void setText(PolylineOptions.Text text)

      设置沿 polyline 展示的文字
      参数:
        `text` -

    - #### setGradientEnable

          void setGradientEnable(boolean enable)

      设置渐变开关 只有线类型是`PolylineOptions.LineType.LINE_TYPE_MULTICOLORLINE` 且 `PolylineOptions.isRoad()` == true才生效
      参数:
        `enable` - true-启动，false-未启动

    - #### isGradientEnable

          boolean isGradientEnable()

      渐变是否生效
      返回:
        true-是，false-否