Add a marker symbol
A newer version of the Maps SDK is available
This page uses v6.4.1 of the Mapbox Maps SDK. A newer version of the SDK is available. Learn about the latest version, v10.5.0, in the Maps SDK documentation.
This example uses an image to mark a point on the map. Download the image here and add it to your Xcode project.
To learn about more ways to add points to a map, see the Markers and annotations guide.
ViewController
import Mapbox class ViewController: UIViewController, MGLMapViewDelegate {override func viewDidLoad() {super.viewDidLoad() let mapView = MGLMapView(frame: view.bounds)mapView.autoresizingMask = [.flexibleWidth, .flexibleHeight]mapView.delegate = self // Set the map’s center coordinate and zoom level.mapView.setCenter(CLLocationCoordinate2D(latitude: 41.8864, longitude: -87.7135), zoomLevel: 13, animated: false)view.addSubview(mapView)} func mapView(_ mapView: MGLMapView, didFinishLoading style: MGLStyle) { // Create point to represent where the symbol should be placedlet point = MGLPointAnnotation()point.coordinate = mapView.centerCoordinate // Create a data source to hold the point datalet shapeSource = MGLShapeSource(identifier: "marker-source", shape: point, options: nil) // Create a style layer for the symbollet shapeLayer = MGLSymbolStyleLayer(identifier: "marker-style", source: shapeSource) // Add the image to the style's spriteif let image = UIImage(named: "house-icon") {style.setImage(image, forName: "home-symbol")} // Tell the layer to use the image in the spriteshapeLayer.iconImageName = NSExpression(forConstantValue: "home-symbol") // Add the source and style layer to the mapstyle.addSource(shapeSource)style.addLayer(shapeLayer)}}