Skip to main content

LineLayer

Mapbox spec: line

import { LineLayer } from '@rnmapbox/maps';

LineLayer

LineLayer is a style layer that renders one or more stroked polylines on the map.

props

id

string

required A string that uniquely identifies the source in the style to which it is added.

existing

boolean

The id refers to an existing layer in the style. Does not create a new layer.

Show and hide layer

sourceID

string

The source from which to obtain the data to style. If the source has not yet been added to the current style, the behavior is undefined. Inferred from parent source only if the layer is a direct child to it.

defaults to: Mapbox.StyleSource.DefaultSourceID

sourceLayerID

string

Identifier of the layer within the source identified by the sourceID property from which the receiver obtains the data to style.

aboveLayerID

string

Inserts a layer above aboveLayerID.

belowLayerID

string

Inserts a layer below belowLayerID

layerIndex

number

Inserts a layer at a specified index

filter

FilterExpression

Filter only the features in the source layer that satisfy a condition that you define

minZoomLevel

number

The minimum zoom level at which the layer gets parsed and appears.

maxZoomLevel

number

The maximum zoom level at which the layer gets parsed and appears.

slot

'bottom' | 'middle' | 'top'

The slot this layer is assigned to. If specified, and a slot with that name exists, it will be placed at that position in the layer order.

v11 only

style

LineLayerStyleProps

Customizable style attributes

styles


lineCap

Name: lineCap

Mapbox spec: line-cap

Description

The display of line endings.

Type

enum

Default Value

butt

Supported Values

butt - A cap with a squared-off end which is drawn to the exact endpoint of the line.
round - A cap with a rounded end which is drawn beyond the endpoint of the line at a radius of one-half of the line's width and centered on the endpoint of the line.
square - A cap with a squared-off end which is drawn beyond the endpoint of the line at a distance of one-half of the line's width.

Expression

Parameters: zoom, feature


lineJoin

Name: lineJoin

Mapbox spec: line-join

Description

The display of lines when joining.

Type

enum

Default Value

miter

Supported Values

bevel - A join with a squared-off end which is drawn beyond the endpoint of the line at a distance of one-half of the line's width.
round - A join with a rounded end which is drawn beyond the endpoint of the line at a radius of one-half of the line's width and centered on the endpoint of the line.
miter - A join with a sharp, angled corner which is drawn with the outer sides beyond the endpoint of the path until they meet.
none - Line segments are not joined together, each one creates a separate line. Useful in combination with line-pattern. Line-cap property is not respected. Can't be used with data-driven styling.

Supported Style Functions

camera

Expression

Parameters: zoom, feature


lineMiterLimit

Name: lineMiterLimit

Mapbox spec: line-miter-limit

Description

Used to automatically convert miter joins to bevel joins for sharp angles.

Type

number

Default Value

2

Expression

Parameters: zoom


lineRoundLimit

Name: lineRoundLimit

Mapbox spec: line-round-limit

Description

Used to automatically convert round joins to miter joins for shallow angles.

Type

number

Default Value

1.05

Expression

Parameters: zoom


lineSortKey

Name: lineSortKey

Mapbox spec: line-sort-key

Description

Sorts features in ascending order based on this value. Features with a higher sort key will appear above features with a lower sort key.

Type

number

Expression

Parameters: zoom, feature


lineZOffset

Name: lineZOffset

Mapbox spec: line-z-offset

Description

Vertical offset from ground, in meters. Defaults to 0. This is an experimental property with some known issues:

  • Not supported for globe projection at the moment
  • Elevated line discontinuity is possible on tile borders with terrain enabled
  • Rendering artifacts can happen near line joins and line caps depending on the line styling
  • Rendering artifacts relating to lineOpacity and lineBlur
  • Elevated line visibility is determined by layer order
  • ZFighting issues can happen with intersecting elevated lines
  • Elevated lines don't cast shadows

Type

number

Default Value

0

Requires

lineElevationReference

Expression

Parameters: zoom, feature, line-progress


lineElevationReference

Name: lineElevationReference

Mapbox spec: line-elevation-reference

Description

Selects the base of lineElevation. Some modes might require precomputed elevation data in the tileset.

Type

enum

Default Value

none

Supported Values

none - Elevated rendering is disabled.
sea - Elevated rendering is enabled. Use this mode to elevate lines relative to the sea level.
ground - Elevated rendering is enabled. Use this mode to elevate lines relative to the ground's height below them.
hd-road-markup - Elevated rendering is enabled. Use this mode to describe additive and stackable features that should exist only on top of road polygons.

Expression

Parameters: ``


lineCrossSlope

Name: lineCrossSlope

Mapbox spec: line-cross-slope

Description

Defines the slope of an elevated line. A value of 0 creates a horizontal line. A value of 1 creates a vertical line. Other values are currently not supported. If undefined, the line follows the terrain slope. This is an experimental property with some known issues:

  • Vertical lines don't support line caps
  • lineJoin: round is not supported with this property

Type

number

Requires

lineZOffset

Expression

Parameters: ``


visibility

Name: visibility

Mapbox spec: visibility

Description

Whether this layer is displayed.

Type

enum

Default Value

visible

Supported Values

visible - The layer is shown.
none - The layer is not shown.

Expression

Parameters: ``


lineOpacity

Name: lineOpacity

Mapbox spec: line-opacity

Description

The opacity at which the line will be drawn.

Type

number

Default Value

1

Minimum

0

Maximum

1

Expression

Parameters: zoom, feature, feature-state, measure-light


lineOpacityTransition

Name: lineOpacityTransition

Description

The transition affecting any changes to this layer’s lineOpacity property.

Type

{ duration, delay }

Units

milliseconds

Default Value

{duration: 300, delay: 0}


lineColor

Name: lineColor

Mapbox spec: line-color

Description

The color with which the line will be drawn.

Type

color

Default Value

#000000

Disabled By

linePattern

Expression

Parameters: zoom, feature, feature-state, measure-light


lineColorTransition

Name: lineColorTransition

Description

The transition affecting any changes to this layer’s lineColor property.

Type

{ duration, delay }

Units

milliseconds

Default Value

{duration: 300, delay: 0}


lineTranslate

Name: lineTranslate

Mapbox spec: line-translate

Description

The geometry's offset. Values are [x, y] where negatives indicate left and up, respectively.

Type

array<number>

Default Value

[0,0]

Units

pixels

Expression

Parameters: zoom


lineTranslateTransition

Name: lineTranslateTransition

Description

The transition affecting any changes to this layer’s lineTranslate property.

Type

{ duration, delay }

Units

milliseconds

Default Value

{duration: 300, delay: 0}


lineTranslateAnchor

Name: lineTranslateAnchor

Mapbox spec: line-translate-anchor

Description

Controls the frame of reference for lineTranslate.

Type

enum

Default Value

map

Supported Values

map - The line is translated relative to the map.
viewport - The line is translated relative to the viewport.

Requires

lineTranslate

Expression

Parameters: zoom


lineWidth

Name: lineWidth

Mapbox spec: line-width

Description

Stroke thickness.

Type

number

Default Value

1

Units

pixels

Minimum

0

Supported Style Functions

camera

Expression

Parameters: zoom, feature, feature-state, measure-light, line-progress


lineWidthTransition

Name: lineWidthTransition

Description

The transition affecting any changes to this layer’s lineWidth property.

Type

{ duration, delay }

Units

milliseconds

Default Value

{duration: 300, delay: 0}


lineGapWidth

Name: lineGapWidth

Mapbox spec: line-gap-width

Description

Draws a line casing outside of a line's actual path. Value indicates the width of the inner gap.

Type

number

Default Value

0

Units

pixels

Minimum

0

Expression

Parameters: zoom, feature, feature-state, measure-light


lineGapWidthTransition

Name: lineGapWidthTransition

Description

The transition affecting any changes to this layer’s lineGapWidth property.

Type

{ duration, delay }

Units

milliseconds

Default Value

{duration: 300, delay: 0}


lineOffset

Name: lineOffset

Mapbox spec: line-offset

Description

The line's offset. For linear features, a positive value offsets the line to the right, relative to the direction of the line, and a negative value to the left. For polygon features, a positive value results in an inset, and a negative value results in an outset.

Type

number

Default Value

0

Units

pixels

Expression

Parameters: zoom, feature, feature-state, measure-light


lineOffsetTransition

Name: lineOffsetTransition

Description

The transition affecting any changes to this layer’s lineOffset property.

Type

{ duration, delay }

Units

milliseconds

Default Value

{duration: 300, delay: 0}


lineBlur

Name: lineBlur

Mapbox spec: line-blur

Description

Blur applied to the line, in pixels.

Type

number

Default Value

0

Units

pixels

Minimum

0

Expression

Parameters: zoom, feature, feature-state, measure-light


lineBlurTransition

Name: lineBlurTransition

Description

The transition affecting any changes to this layer’s lineBlur property.

Type

{ duration, delay }

Units

milliseconds

Default Value

{duration: 300, delay: 0}


lineDasharray

Name: lineDasharray

Mapbox spec: line-dasharray

Description

Specifies the lengths of the alternating dashes and gaps that form the dash pattern. The lengths are later scaled by the line width. To convert a dash length to pixels, multiply the length by the current line width. Note that GeoJSON sources with lineMetrics: true specified won't render dashed lines to the expected scale. Also note that zoomDependent expressions will be evaluated only at integer zoom levels.

Type

array<number>

Units

line widths

Minimum

0

Disabled By

linePattern

Expression

Parameters: zoom, feature


linePattern

Name: linePattern

Mapbox spec: line-pattern

Description

Name of image in sprite to use for drawing image lines. For seamless patterns, image width must be a factor of two (2, 4, 8, ..., 512). Note that zoomDependent expressions will be evaluated only at integer zoom levels.

Type

resolvedImage

Expression

Parameters: zoom, feature


linePatternCrossFade

Name: linePatternCrossFade

Mapbox spec: line-pattern-cross-fade

Description

Controls the transition progress between the image variants of linePattern. Zero means the first variant is used, one is the second, and in between they are blended together. Both images should be the same size and have the same type (either raster or vector).

Type

number

Default Value

0

Minimum

0

Maximum

1

Requires

linePattern

Expression

Parameters: zoom, measure-light


lineGradient

Name: lineGradient

Mapbox spec: line-gradient

Description

A gradient used to color a line feature at various distances along its length. Defined using a step or interpolate expression which outputs a color for each corresponding lineProgress input value. lineProgress is a percentage of the line feature's total length as measured on the webmercator projected coordinate plane (a number between 0 and 1). Can only be used with GeoJSON sources that specify "lineMetrics": true.

Type

color

Disabled By

linePattern

Expression

Parameters: line-progress


lineTrimOffset

Name: lineTrimOffset

Mapbox spec: line-trim-offset

Description

The line part between [trimStart, trimEnd] will be painted using lineTrimColor, which is transparent by default to produce a route vanishing effect. The line trimOff offset is based on the whole line range [0.0, 1.0].

Type

array<number>

Default Value

[0,0]

Minimum

0,0

Maximum

1,1


lineTrimFadeRange

Name: lineTrimFadeRange

Mapbox spec: line-trim-fade-range

Description

The fade range for the trimStart and trimEnd points is defined by the lineTrimOffset property. The first element of the array represents the fade range from the trimStart point toward the end of the line, while the second element defines the fade range from the trimEnd point toward the beginning of the line. The fade result is achieved by interpolating between lineTrimColor and the color specified by the lineColor or the lineGradient property.

Type

array<number>

Default Value

[0,0]

Minimum

0,0

Maximum

1,1

Requires

lineTrimOffset

Expression

Parameters: zoom, measure-light


lineTrimColor

Name: lineTrimColor

Mapbox spec: line-trim-color

Description

The color to be used for rendering the trimmed line section that is defined by the lineTrimOffset property.

Type

color

Default Value

transparent

Requires

lineTrimOffset

Expression

Parameters: zoom, measure-light


lineTrimColorTransition

Name: lineTrimColorTransition

Description

The transition affecting any changes to this layer’s lineTrimColor property.

Type

{ duration, delay }

Units

milliseconds

Default Value

{duration: 300, delay: 0}


lineEmissiveStrength

Name: lineEmissiveStrength

Mapbox spec: line-emissive-strength

Description

Controls the intensity of light emitted on the source features.

Type

number

Default Value

0

Units

intensity

Minimum

0

Requires

lights

Expression

Parameters: zoom, measure-light


lineEmissiveStrengthTransition

Name: lineEmissiveStrengthTransition

Description

The transition affecting any changes to this layer’s lineEmissiveStrength property.

Type

{ duration, delay }

Units

milliseconds

Default Value

{duration: 300, delay: 0}


lineOcclusionOpacity

Name: lineOcclusionOpacity

Mapbox spec: line-occlusion-opacity

Description

Opacity multiplier (multiplies lineOpacity value) of the line part that is occluded by 3D objects. Value 0 hides occluded part, value 1 means the same opacity as nonOccluded part. The property is not supported when lineOpacity has dataDriven styling.

Type

number

Default Value

0

Minimum

0

Maximum

1

Expression

Parameters: zoom


lineOcclusionOpacityTransition

Name: lineOcclusionOpacityTransition

Description

The transition affecting any changes to this layer’s lineOcclusionOpacity property.

Type

{ duration, delay }

Units

milliseconds

Default Value

{duration: 300, delay: 0}