<!--
{
  "availability" : [
    "iOS: 4.0.0 -",
    "iPadOS: 4.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.9.0 -",
    "tvOS: 9.2.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "MapKit",
  "identifier" : "/documentation/MapKit/MKMapView/insertOverlay(_:above:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "MapKit"
    ],
    "preciseIdentifier" : "c:objc(cs)MKMapView(im)insertOverlay:aboveOverlay:"
  },
  "title" : "insertOverlay(_:above:)"
}
-->

# insertOverlay(_:above:)

Inserts one overlay object above another.

```
func insertOverlay(_ overlay: any MKOverlay, above sibling: any MKOverlay)
```

## Parameters

`overlay`

The overlay object to insert.

`sibling`

An existing object in the [`overlays`](/documentation/MapKit/MKMapView/overlays) array. This object needs to exist in the array and can’t be `nil`.

## Discussion

This method inserts the overlay into the [`MKOverlayLevel.aboveLabels`](/documentation/MapKit/MKOverlayLevel/aboveLabels) level and positions it relative to the specified sibling. When displaying it, the map view displays the overlay’s contents above that of its sibling. If the sibling isn’t in the same map level, this method appends the overlay to the end of the list of overlays at the indicated level.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)