---
title: "addOverlay(_:)"
framework: mapkit
role: symbol
role_heading: Instance Method
path: "mapkit/mkmapview/addoverlay(_:)"
---

# addOverlay(_:)

Adds a single overlay object to the map.

## Declaration

```swift
func addOverlay(_ overlay: any MKOverlay)
```

## Parameters

- `overlay`: The overlay object to add. This object needs to conform to the doc://com.apple.mapkit/documentation/MapKit/MKOverlay protocol.

## Discussion

Discussion The map view adds the specified object to the group of overlay objects in the MKOverlayLevel.aboveLabels level. Adding an overlay causes the map view to begin monitoring the area that the overlay represents. As soon as the bounding rectangle of an overlay intersects the visible portion of the map, the map view adds a corresponding overlay view to the map. Implement the mapView(_:rendererFor:) method of the map view’s delegate object to provide the overlay view. To remove an overlay from a map, use the removeOverlay(_:) method.

## See Also

### Related Documentation

- [removeOverlay(_:)](mapkit/mkmapview/removeoverlay(_:).md)
- [removeOverlays(_:)](mapkit/mkmapview/removeoverlays(_:).md)

### Adding and inserting overlays

- [addOverlay(_:level:)](mapkit/mkmapview/addoverlay(_:level:).md)
- [addOverlays(_:level:)](mapkit/mkmapview/addoverlays(_:level:).md)
- [addOverlays(_:)](mapkit/mkmapview/addoverlays(_:).md)
- [insertOverlay(_:at:level:)](mapkit/mkmapview/insertoverlay(_:at:level:).md)
- [insertOverlay(_:at:)](mapkit/mkmapview/insertoverlay(_:at:).md)
- [insertOverlay(_:above:)](mapkit/mkmapview/insertoverlay(_:above:).md)
- [insertOverlay(_:below:)](mapkit/mkmapview/insertoverlay(_:below:).md)
- [exchangeOverlay(_:with:)](mapkit/mkmapview/exchangeoverlay(_:with:).md)
- [exchangeOverlay(at:withOverlayAt:)](mapkit/mkmapview/exchangeoverlay(at:withoverlayat:).md)
