# Use third-party vector tiles

> **Note (legacy): A newer version of the Maps SDK is available**
> 
> This page uses v6.4.1 of the Mapbox Maps SDK. A newer version of the SDK is available. Learn about the latest version, v11.31.0, in the [Maps SDK documentation](https://docs.mapbox.com/ios/ja/maps/guides/).

![](https://docs.mapbox.com/ios/ja/assets/ideal-img/maps-examples-source-custom-vector.374efb5.480.png)

Download [third_party_vector_style.json](pathname:///files/third_party_vector_style.json) and add it to your project.

**Swift**

Title: `ViewController`

[View on GitHub](https://github.com/mapbox/ios-sdk-examples/tree/298e050be7352eb28cee6f03e02945593140c1f3/Examples/Swift/ThirdPartyVectorStyleExample.swift)

```swift
import Mapbox

@objc(ThirdPartyVectorStyleExample_Swift)

class ThirdPartyVectorStyleExample_Swift: UIViewController {
    var mapView: MGLMapView!

    override func viewDidLoad() {
        super.viewDidLoad()

        // Third party vector tile sources can be added.

        // In this case we're using custom style JSON (https://www.mapbox.com/mapbox-gl-style-spec/) to add a third party tile source from Mapillary: <https://d25uarhxywzl1j.cloudfront.net/v0.1/{z}/{x}/{y}.mvt>
        let customStyleURL = Bundle.main.url(forResource: "third_party_vector_style", withExtension: "json")!

        mapView = MGLMapView(frame: view.bounds, styleURL: customStyleURL)
        mapView.setCenter(CLLocationCoordinate2DMake(60.16, 24.93), zoomLevel: 12, animated: false)
        mapView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
        mapView.tintColor = .white

        // Set the minimum zoom level to prevent the map from zooming out past zoom level 6.
        mapView.minimumZoomLevel = 6

        view.addSubview(mapView)
    }
}
```

**Objective C**

Title: `ViewController`

[View on GitHub](https://github.com/mapbox/ios-sdk-examples/tree/298e050be7352eb28cee6f03e02945593140c1f3/Examples/ObjectiveC/ThirdPartyVectorStyleExample.m)

```swift
#import "ViewController.h"
@import Mapbox;
@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    // Third party vector tile sources can be added.
    
    // In this case we're using custom style JSON (https://www.mapbox.com/mapbox-gl-style-spec/) to add a third party tile source from Mapillary: <https://d25uarhxywzl1j.cloudfront.net/v0.1/{z}/{x}/{y}.mvt>
    NSURL *customStyleURL = [[NSBundle mainBundle] URLForResource:@"third_party_vector_style" withExtension:@"json"];

    MGLMapView *mapView = [[MGLMapView alloc] initWithFrame:self.view.bounds styleURL:customStyleURL];
    [mapView setCenterCoordinate:CLLocationCoordinate2DMake(60.16, 24.93) zoomLevel:12 animated:NO];
    mapView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
    mapView.tintColor = [UIColor whiteColor];
    
    // Set the minimum zoom level to prevent the map from zooming out past zoom level 6.
    mapView.minimumZoomLevel = 6;
    
    [self.view addSubview:mapView];
}

@end
```