Purchase
MTDirectionsKit comes in three flavors.
All 1.x updates of MTDirectionsKit are included.
The license is valid for a single app bundle id. Contact us to get a discount for additional licenses.
MTDirectionsKit is...
For a list of supported features visit the section Updates
Smart
MTDirectionsKit makes it as easy as possible for you to get the best results for your customers. It automatically detects whether the user preferrs the metric or the imperial measurement system as well as his preferred locale and does all computations in either kilometers or miles, depending on this preferrence. Of course you can overwrite these automatically determined values, if you want to.
Versatile
MTDirectionsKit can be used with 3 different APIs: Google Directions API, MapQuest Open Directions API and Bing Routes API. About every aspect of MTDirectionsKit is configurable and allows you to customize it the way you need to.
MTDirectionsKit can be used with Apple's MapKit as well as the Google Maps SDK for iOS and can moreover specify intermediate goals along your route, request alternative routes or display textual instructions to your users.
Easy to use
MTDirectionsKit handles a lot of pitfalls you can encounter during development for you and helps you in every aspect possible.
MTDirectionsKit makes it really hard for you to make it fail - but reports useful information in case you "succeed".
Beautiful
The directions drawn on top of MKMapView are beautifully handcrafted and look stunning on retina displays as well as regular ones, just take a look at the screenshots provided. You can easily tint the overlay in any color you want. MTDirectionsKit also features beautiful default turn type images for textual instructions, created by Manuel Maly (Creative Pragmatics).
Fast
MTDirectionsKit parses the data in the background by embracing the use of GCD to not slow down your App and to keep it as snappy as it always was.
Reliable
MTDirectionsKit is unit-tested to ensure it keeps working as you and your users would expect.
FAQs
Can I use MTDirectionsKit in combination with the Google Maps iOS SDK?
Starting with MTDirectionsKit 1.7 we have support for the Google Maps iOS SDK in addition to Apple's MapKit. This allows you to use all the great features of MTDirectionsKit while using tested and trusted Google map data in your app.
Which Features of MTDirectionsKit are supported by which APIs?
| | MapQuest | Google | Bing |
| Alternative Routes | | | |
| Intermediate Goals | | | |
| Route Optimization | | | |
| Textual Instructions | | | |
| Turn Type Images | | | |
| Reverse Geocoding |
| Start and Destination | | | |
| Intermediate Goals | | | |
| Atomar Adresses | | | |
I want to provide my own routing data, can I use MTDirectionsKit with my custom API?
Starting with MTDirectionsKit 1.4 you can use your own routing data by providing a custom request and parser (MTDDirectionsAPIRegisterCustomRequestClass, MTDDirectionsAPIRegisterCustomParserClass). Have a look at the Demo to see it in action.
What are the exact Terms of Usage for the provided APIs?
MapQuest Open Directions: Terms of Use
Google Directions: Terms of Service
Bing Routes: Terms of Use
Can I use the Google Directions API on iOS 6?
Starting with MTDirectionsKit 1.7 the Google Directions API can be used in combination with the Google Maps SDK for iOS.
Unfortunately Google's Terms of Service prohibit using their data in combination with other map data then Google‘s. That means you can use the Google Directions API on iOS 4 and iOS 5, but are not allowed to use it on iOS 6 as long as you are using MapKit to display your maps. You can easily switch to one of our other supported data providers - MapQuest as well as Bing can be used on iOS 6.
Is it possible to upgrade from the binary version to the full source version?
An upgrade is possible, contact us for more information.
I see the error '-[MTDWaypoint descriptionForAPI:]: unrecognized selector sent to instance', what can I do?
You most likely forgot to add -ObjC to your Other Linker Flags section in the Build Settings.
Who created the stunning looking turn type images for MTDirectionsKit?
The images were hand-crafted by Manuel Maly from Creative Pragmatics. Contact him if you need help with your graphics.
Documentation
Integration
There are basically 2 ways to integrate MTDirectionsKit into your App:
-
1. Include the binary framework MTDirectionsKit.framework
This is the easiest way to integrate MTDirectionsKit into your App and therefore the recommended one.
Just drag MTDirectionsKit.framework onto the Frameworks-group of your App, you don't need to
setup a User Header Search Path or a Target Dependency.
Next add the import statement
#import <MTDirectionsKit/MTDirectionsKit.h>
everywhere you want to use MTDirectionsKit and you are good to go.
See the image for visual hints on how to integrate MTDirectionsKit.framework:
-
2. Add MTDirectionsKit.xcodeproj as a dependency
First copy the whole MTDirectionsKit project into your App's root folder. Then locate
the "MTDirectionsKit.xcodeproj" file inside your App's root folder and drag it onto the
root of your Xcode project's Frameworks-group.
Add MTDirectionsKit as target dependency
of your target under the tab Build Phases and drag libMTDirectionsKit.a onto the section
'Link Binary with Libraries' of your target.
Next add the import statements
#import <MTDirectionsKit/MTDirectionsKit.h>
everywhere you want to use MTDirectionsKit and you are good to go.
See the image for visual hints on how to integrate MTDirectionsKit.framework:
Independent of which way to integrate MTDirectionsKit you choose, you have to add
- CoreLocation.framework
- MapKit.framework
- libxml2.dylib
to your target's linked libraries found under Build Phases. Moreover open the Build Settings of your project and add -ObjC to the Other Linker Flags section. If you want to use the built-in images for the textual instructions make sure to alse add MTDirectionsKit.bundle to your projects resources. You can find MTDirectionsKit.bundle under the Resources folder of MTDirectionsKit.
Google Maps SDK for iOS
If you use the Google Maps SDK version of MTDirectionsKit be sure to checkout Google's guide for integrating their SDK at https://developers.google.com/maps/documentation. Official support is currently provided for the Google Maps SDK version 1.2.2, other versions may be unstable or buggy.
Requirements
The source code version of MTDirectionsKit needs Xcode ≥ 4.5, iOS Base SDK ≥ 6.0 and Clang LLVM >= 3.1 to compile, because it uses handy new features provided by Clang. It doesn't work with the old LLVM GCC compiler.
MTDirectionsKit works on a deployment target of ≥ iOS 4.3 (≥ iOS 5.1 for Google Maps SDK version) on armv7 and armv7s and can be used in ARC as well as non-ARC applications.