# MGLPolyline

    @interface MGLPolyline : MGLMultiPoint <MGLOverlay>

An `MGLPolyline` object represents a shape consisting of two or more vertices, specified as `CLLocationCoordinate2D` instances, and the line segments that connect them. For example, you could use an polyline to represent a road or the path along which something moves.

You can add polyline shapes to the map by adding them to an `MGLShapeSource` object. Configure the appearance of an `MGLShapeSource`’s or `MGLVectorTileSource`’s polylines collectively using an `MGLLineStyleLayer` or `MGLSymbolStyleLayer` object. To access a polyline’s attributes, use an `MGLPolylineFeature` object.

Alternatively, you can add a polyline overlay directly to a map view using the `-[MGLMapView addAnnotation:]` or `-[MGLMapView addOverlay:]` method. Configure a polyline overlay’s appearance using `-[MGLMapViewDelegate mapView:strokeColorForShapeAnnotation:]` and `-[MGLMapViewDelegate mapView:lineWidthForPolylineAnnotation:]`.

The vertices are automatically connected in the order in which you provide them. The first and last vertices are not connected to each other, but you can specify the same `CLLocationCoordinate2D` as the first and last vertices in order to close the polyline. To fill the space within the shape, use an `MGLPolygon` object. To group multiple polylines together in one shape, use an `MGLMultiPolyline` or `MGLShapeCollection` object.

To make the polyline go across the antimeridian or international date line, specify some longitudes less than −180 degrees or greater than 180 degrees. For example, a polyline that stretches from Tokyo to San Francisco would have coordinates of (35.68476, -220.24257) and (37.78428, -122.41310).

    let coordinates = [
        CLLocationCoordinate2D(latitude: 35.68476, longitude: -220.24257),
        CLLocationCoordinate2D(latitude: 37.78428, longitude: -122.41310)
    ]
    let polyline = MGLPolyline(coordinates: coordinates, count: UInt(coordinates.count))

A polyline is known as a LineString geometry in GeoJSON.

#### Related examples

See the Annotation models example to learn how to add an `MGLPolyine` object to your map.

- `+polylineWithCoordinates:count:`

  Creates and returns an `MGLPolyline` object from the specified set of coordinates.

  #### Declaration

  Objective-C

      + (nonnull instancetype)polylineWithCoordinates:
                                  (nonnull const CLLocationCoordinate2D *)coords
                                                count:(NSUInteger)count;

  Swift

      convenience init(coordinates coords: UnsafePointer<CLLocationCoordinate2D>, count: UInt)

  #### Parameters

  `coords` | The array of coordinates defining the shape. The data in this array is copied to the new object.
  `count` | The number of items in the `coords` array.

  #### Return Value

  A new polyline object.

  View Source on GitHub