Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

The Mapzen iOS SDK

Circle CI

The Mapzen iOS SDK is a thin wrapper that packages up everything you need to use Mapzen services in your iOS applications.

We welcome feedback from the community on its usage. Feature requests are also welcome; label it appropriately as an "Enhancement". Feel free to also reach out to us using any of the other channels we have available on


Everything you need to get going using the Mapzen SDK

Set up

Interacting with the map

Search and routing

What's Included

Major features include:

  • High performance and highly customizable map rendering using OpenGL ES provided by Tangram-es.
  • Driving directions and customizable route lines provided by Mapzen Turn-by-Turn.
  • Geocoding and Point-of-Interest search provided by Mapzen Search.
  • Several base map styles to suit most use cases.

And many more features than we can list here in a timely fashion.

How Do I Get The SDK?

Step 1: Get yourself a free Mapzen API Key.

Step 2: Install the SDK through Cocoapods.

Step 3: Check out the sample app source code or pod try Mapzen-ios-sdk to load it immediately. You'll need that API key from step 1 in either case. See where to set it below.

Step 4: Let us know your thoughts! You can either open a new issue on GitHub or send us email at

Non-Cocoapods Usage

Non-cocoapods usage at this point is not recommended, but can be accomplished. First, make sure to git submodule update --init --recursive to get all the style sheets after cloning this repository. Second. you will need to include the 3 other dependencies we require: Tangram-es, OnTheRoad for iOS, and the Pelias iOS SDK. Note that your project will need to support Swift 3.


There's a couple of things you should probably know about up front:

  • We only will be supporting Swift 3.x moving forward. Older versions of the SDK were written in Swift 2, but it is not recommended to use that as the project has changed dramatically since then, and we're continuing to add features all the time.
  • If you wish to install the sample app to a device (recommended due to performance issues in the simulator), you will need to update the bundle identifier and the code signing in the Xcode project and go through the general code signing process necessary for installing to a device. This will require a free Apple Developer account.
  • If you decide to use Cocoapods and pull directly from master, you will need to add :submodules => true to your podfile line. Otherwise submodules will not load in. The full line would look like pod "Mapzen-ios-sdk", :git => '', :branch => 'master', :submodules => true

Configure Sample App API Key

There are two (optionally 3) ways to set your API key in the Sample App:

  1. Update SampleApp/Info.plist

Replace $(MAPZEN_API_KEY) with your key:

-- OR --

  1. Create a new scheme and add an environment variable

Duplicate the ios-sdk scheme and then add your environment variable here:

-- OR --

  1. Manually change the code in the Sample App's AppDelegate.swift on line 31 to use your API key. Note that this will generate warnings about unused code.