# MapControlsBuilder

    @resultBuilder
    struct MapControlsBuilder

Constructs map controls.

`MapControlsBuilder` is used in the `mapControls` view modifier to allow for a natural,
declarative syntax when specifying multiple controls.
- `


  ### [buildArray(_:)](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/MapControlsBuilder#/s:12GoogleMaps3D18MapControlsBuilderV10buildArrayyQrSayxGAA0C7ControlRzlFZ)


  ` Provides support for "for" loops in result builder closure.

  #### Declaration

  Swift

      static func buildArray<C>(_ components: [C]) -> some MapControl
       where C : MapControl

- `


  ### [buildEither(first:)](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/MapControlsBuilder#/s:12GoogleMaps3D18MapControlsBuilderV11buildEither5firstQrx_tAA0C7ControlRzAaFR_r0_lFZ)


  ` Provides support for "if-else" statements in result builder closure,
  producing conditional content for the "if" branch.

  #### Declaration

  Swift

      static func buildEither<First, Second>(first component: First) -> some MapControl
       where First : MapControl, Second : MapControl

- `


  ### [buildEither(second:)](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/MapControlsBuilder#/s:12GoogleMaps3D18MapControlsBuilderV11buildEither6secondQrq__tAA0C7ControlRzAaFR_r0_lFZ)


  ` Provides support for "if-else" statements in result builder closure,
  producing conditional content for the "else" branch.

  #### Declaration

  Swift

      static func buildEither<First, Second>(second component: Second) -> some MapControl
       where First : MapControl, Second : MapControl

- `


  ### [buildLimitedAvailability(_:)](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/MapControlsBuilder#/s:12GoogleMaps3D18MapControlsBuilderV24buildLimitedAvailabilityyQrxAA0C7ControlRzlFZ)


  ` Provides support for "if" statements with `#available()` clauses in
  result builder closure, producing conditional content for the "then"
  branch, i.e. the conditionally-available branch.

  #### Declaration

  Swift

      static func buildLimitedAvailability<C>(_ component: C) -> some MapControl
       where C : MapControl

- `


  ### [buildOptional(_:)](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/MapControlsBuilder#/s:12GoogleMaps3D18MapControlsBuilderV13buildOptionalyQrxSgAA0C7ControlRzlFZ)


  ` Creates an optional control result.

  #### Declaration

  Swift

      static func buildOptional<C>(_ component: C?) -> some MapControl
       where C : MapControl

- `


  ### [buildPartialBlock(accumulated:next:)](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/MapControlsBuilder#/s:12GoogleMaps3D18MapControlsBuilderV17buildPartialBlock11accumulated4nextQrx_q_tAA0C7ControlRzAaGR_r0_lFZ)


  ` Creates a pair of control results.

  #### Declaration

  Swift

      static func buildPartialBlock<C0, C1>(accumulated: C0, next: C1) -> some MapControl
       where C0 : MapControl, C1 : MapControl

- `


  ### [buildPartialBlock(first:)](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/MapControlsBuilder#/s:12GoogleMaps3D18MapControlsBuilderV17buildPartialBlock5firstxx_tAA0C7ControlRzlFZ)


  ` Creates a single control result.

  #### Declaration

  Swift

      static func buildPartialBlock<C>(first: C) -> C where C : MapControl