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
- Position, rotation, zoom, and tilt
- Markers, polylines, and polygons
- Switching styles
- Gesture delegates
- Current location
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.
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 [email protected].
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 likepod "Mapzen-ios-sdk", :git => 'https://github.com/mapzen/ios.git', :branch => 'master', :submodules => true
There are two (optionally 3) ways to set your API key in the Sample App:
- Update SampleApp/Info.plist
Replace $(MAPZEN_API_KEY)
with your key:
-- OR --
- Create a new scheme and add an environment variable
Duplicate the 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.