---
title: "MTLayer | Mobile sdk | Mobile sdk ios | Ios"
description: "Protocol requirements for all types of Layers."
---

> For AI agents: a documentation index is available at [/llms.txt](https://docs.maptiler.com/llms.txt). Markdown versions of all pages are available by appending .md to any URL.

# MTLayer

```
public protocol MTLayer : AnyObject, MTMapViewContent, Sendable
```

Protocol requirements for all types of Layers.

-   `[identifier](#/s:11MapTilerSDK7MTLayerP10identifierSSvp)`
    
    Unique id of the layer.
    
    #### Declaration
    
    Swift
    
    ```
    var identifier: String { get set }
    ```
    
-   `[type](#/s:11MapTilerSDK7MTLayerP4typeAA0D4TypeOvp)`
    
    Type of the layer.
    
    #### Declaration
    
    Swift
    
    ```
    var type: MTLayerType { get }
    ```
    
-   `[sourceIdentifier](#/s:11MapTilerSDK7MTLayerP16sourceIdentifierSSvp)`
    
    Identifier of the source.
    
    #### Declaration
    
    Swift
    
    ```
    var sourceIdentifier: String { get set }
    ```
    
-   `[maxZoom](#/s:11MapTilerSDK7MTLayerP7maxZoomSdSgvp)`
    
    Max zoom of the layer.
    
    #### Declaration
    
    Swift
    
    ```
    var maxZoom: Double? { get set }
    ```
    
-   `[minZoom](#/s:11MapTilerSDK7MTLayerP7minZoomSdSgvp)`
    
    Min zoom of the layer.
    
    #### Declaration
    
    Swift
    
    ```
    var minZoom: Double? { get set }
    ```
    
-   `[sourceLayer](#/s:11MapTilerSDK7MTLayerP11sourceLayerSSSgvp)`
    
    Identifier of the source (main) layer to use.
    
    #### Declaration
    
    Swift
    
    ```
    var sourceLayer: String? { get set }
    ```
