<!--
{
  "availability" : [
    "iOS: 17.0.0 -",
    "iPadOS: 17.0.0 -",
    "macCatalyst: -",
    "macOS: 14.0.0 -",
    "tvOS: 17.0.0 -",
    "visionOS: -",
    "watchOS: 10.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "MapKit",
  "identifier" : "/documentation/MapKit/MapContentBuilder",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "MapKit",
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:15_MapKit_SwiftUI0A14ContentBuilderV"
  },
  "title" : "MapContentBuilder"
}
-->

# MapContentBuilder

A result builder that creates map content from closures you provide.

```
@resultBuilder struct MapContentBuilder
```

## Overview

The [`buildBlock(_:)`](/documentation/MapKit/MapContentBuilder/buildBlock(_:)-5ewn9) methods in this type create [`MapContent`](/documentation/MapKit/MapContent) instances based on the number and types of sources you provide as parameters.

You don’t use this type directly. Instead, SwiftUI annotates the `content` parameter of the various `MapView` initializers with the `@MapContentBuilder` annotation, implicitly calling this builder for you.

## Topics

### Map content builders

[`buildBlock()`](/documentation/MapKit/MapContentBuilder/buildBlock())

Creates an empty map content block that contains no statements.

[`buildBlock(_:)`](/documentation/MapKit/MapContentBuilder/buildBlock(_:)-5ewn9)

Creates a map content block that contains a single content result.

### Conditionally building map content

[`buildEither(first:)`](/documentation/MapKit/MapContentBuilder/buildEither(first:))

Compares content in a multistatement closure, resulting in use of the conditional content if the first argument you provide evaluates to  true.

[`buildEither(second:)`](/documentation/MapKit/MapContentBuilder/buildEither(second:))

Compares content in a multistatement closure, resulting in use of the conditional content if the second argument you provide evaluates to true.

[`buildExpression(_:)`](/documentation/MapKit/MapContentBuilder/buildExpression(_:))

Builds an expression within the map content builder.

[`buildIf(_:)`](/documentation/MapKit/MapContentBuilder/buildIf(_:))

Compares content in a multistatement closure, that produces an optional view that’s visible if the argument you provide evaluates to true.

[`buildLimitedAvailability(_:)`](/documentation/MapKit/MapContentBuilder/buildLimitedAvailability(_:))

Provides support for “if” statements with “available” macro clauses in multi-statement closures, producing conditional content for the “then” branch, such the conditionally-available branch.



---

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)