The Mapzen iOS SDK
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 https://mapzen.com/.
Everything you need to get going using the Mapzen SDK
Interacting with the map
- Position, rotation, zoom, and tilt
- Markers, polylines, and polygons
- Switching styles
- Gesture delegates
- Current location
Search and routing
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.
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 => trueto your podfile line. Otherwise submodules will not load in. The full line would look like
pod "Mapzen-ios-sdk", :git => 'https://github.com/mapzen/ios.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:
- Update SampleApp/Info.plist
$(MAPZEN_API_KEY) with your key:
-- OR --
- Create a new scheme and add an environment variable
ios-sdk scheme and then add your environment variable here:
-- OR --
- 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.