MapQuest Navigation SDK provides a way to easily add turn by turn navigation in any app. Please visit our Getting Started Guide for instructions on how to get up and running with the SDK. The Getting Started Guide walks you through the basics of getting a MapQuest API key, starting a navigation session, and handling the navigation session callbacks.

Navigation SDK is only available in the U.S. at this time. If you would like to use Navigation SDK outside of the U.S. please contact your account manager or customer support

Framework Contents

The MQNavigation framework package contains the following files and directories:

  • Changelog - a change log for each release
  • docs - HeaderDocs for this release in both Swift and Objective-C
  • MQNavigation.framework - the framework
  • MQNavigation.podspec - the podspec file for CocoaPods
  • ReadMe - this ReadMe

Demo App

Our Demo App is available at https://github.com/MapQuest/mq-navigation-sdk-reference-app-ios and is suitable for a starting point to create your Navigation app.

Steps to include the SDK

  • Create an Xcode project
  • Add Podfile in your project folder:
source 'https://github.com/CocoaPods/Specs.git'
source 'git@github.com:MapQuest/podspecs-ios.git'

platform :ios, '8.0'

target :'<targetName>' do
pod 'MQNavigation', '~> 3.3.0'
  • Open terminal and run pod update in the project folder
  • Open .xcworkspace from your project folder.
  • Add import MQNavigation in the Swift class, or @import MQNavigation; in the Objective-C class you want to use MQNavigation SDK
  • In order to use MapQuest APIs and SDKs you will need a MapQuest Key. We use this key to associate your requests to APIs with your account. You can find your existing Keys or create a new one at ‘https://developer.mapquest.com/user/me/apps’.
  • Once you have MapQuest Key, add a new row in Info.plist of your project. Set the Key to MQApplicationKey and set the Value to your MapQuest Key.
  • In your app, ensure that you have a MQNavigationManagerDelegate set when initializing the MQNavigationManager class as the delegate is required for error handling.