Where you can find everything iOS from Mapzen
Swift Objective-C Ruby Shell
Clone or download
Permalink
Failed to load latest commit information.
.github
MapzenSDK
MapzenSDKTests
SampleApp-Objc
SampleApp-ObjcTests
SampleApp
docs
fastlane
housestyles.bundle Styles, Themes, and 512 Tiles support (#366) Oct 12, 2017
images
ios-sdk.xcodeproj
ios-sdk.xcworkspace
scripts
.gitignore Add origin tracking and cocoapods version injection (#364) Oct 12, 2017
.gitmodules
.jazzy.yaml
.swift-version
LICENSE.md
Mapzen-ios-sdk.podspec
Podfile
Podfile.lock
README.md
circle.yml
release_checklist.md

README.md

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 https://mapzen.com/.

Usage

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 ios-support@mapzen.com.

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.

Notes

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 => '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:

  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.