# Model

    @MainActor
    @preconcurrency
    struct Model

    extension Model : MapContent, https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Protocols.html#/s:12GoogleMaps3D18MapContentTappableP, Sendable, SendableMetatype, View

A 3D model that can be placed on a map.

    Map(mode: .hybrid) {
      Model(
        position: .init(latitude: 37.7749, longitude: -122.4194, altitude: 100),
        url: URL(string: "path/to/your/model.glb")!
      )
    }

- `


  ### [Body](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/Model#/s:12GoogleMaps3D5ModelV4Bodya)


  ` The type of view representing the body of this view.

  When you create a custom view, Swift infers this type from your
  implementation of the required `View/body-swift.property` property.

  #### Declaration

  Swift

      typealias Body = some View

- `


  ### [altitudeMode](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/Model#/s:12GoogleMaps3D5ModelV12altitudeModeAA08AltitudeE0Ovp)


  `

  #### Declaration

  Swift

      @MainActor
      @preconcurrency
      var altitudeMode: https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Enums/AltitudeMode.html

- `


  ### [body](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/Model#/s:12GoogleMaps3D5ModelV4bodyQrvp)


  ` The content and behavior of the view.

  When you implement a custom view, you must implement a computed
  `body` property to provide the content for your view. Return a view
  that's composed of built-in views that SwiftUI provides, plus other
  composite views that you've already defined:

      struct MyView: View {
          var body: some View {
              Text("Hello, World!")
          }
      }

  For more information about composing views and a view hierarchy,
  see <doc:Declaring-a-Custom-View>.

  #### Declaration

  Swift

      @MainActor
      @preconcurrency
      var body: some View { get }

- `


  ### [init(position:url:altitudeMode:zIndex:scale:orientation:)](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/Model#/s:12GoogleMaps3D5ModelV8position3url12altitudeMode6zIndex5scale11orientationAcA14LatLngAltitudeV_10Foundation3URLVAA0mG0Os5Int32VAA8Vector3DVAA13Orientation3DVtcfc)


  `

  #### Declaration

  Swift

      @MainActor
      @preconcurrency
      init(position: https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/LatLngAltitude.html, url: URL, altitudeMode: https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Enums/AltitudeMode.html = .clampToGround, zIndex: Int32 = 0, scale: https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/Vector3D.html = .init(x: 1.0, y: 1.0, z: 1.0), orientation: https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/Orientation3D.html = .init(heading: 0, tilt: 0, roll: 0))

- `


  ### [orientation](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/Model#/s:12GoogleMaps3D5ModelV11orientationAA13Orientation3DVvp)


  `

  #### Declaration

  Swift

      @MainActor
      @preconcurrency
      var orientation: https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/Orientation3D.html

- `


  ### [position](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/Model#/s:12GoogleMaps3D5ModelV8positionAA14LatLngAltitudeVvp)


  ` Position of the model.

  #### Declaration

  Swift

      @MainActor
      @preconcurrency
      var position: https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/LatLngAltitude.html

- `


  ### [scale](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/Model#/s:12GoogleMaps3D5ModelV5scaleAA8Vector3DVvp)


  `

  #### Declaration

  Swift

      @MainActor
      @preconcurrency
      var scale: https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/Vector3D.html

- `


  ### [url](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/Model#/s:12GoogleMaps3D5ModelV3url10Foundation3URLVvp)


  `

  #### Declaration

  Swift

      @MainActor
      @preconcurrency
      var url: URL

- `


  ### [zIndex](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Structs/Model#/s:12GoogleMaps3D5ModelV6zIndexs5Int32Vvp)


  `

  #### Declaration

  Swift

      @MainActor
      @preconcurrency
      var zIndex: Int32