MapBox iOS SDK
Based on the Route-Me iOS map library (Alpstein fork) with custom MapBox additions.
Requires iOS 5 and Xcode 4.3 or greater. Does not yet support ARC.
Undergoing rapid development, so the develop
branch is currently recommended.
Major differences from Alpstein fork of Route-Me:
- Requires iOS 5.0 and above.
- Canonical source for MapBox & MBTiles tile source integration code
- UTFGrid interactivity
- User location services
- Removal of two-finger double-tap gesture for zoom out (to speed up two-finger single-tap recognition like MapKit)
- Different default starting location for maps
- Built-in attribution view controller with button on map views & default OpenStreetMap attribution.
- MapBox Markers support.
- Prepackaged framework (see #24)
Route-Me
Route-Me is an open source map library that runs natively on iOS. It's designed to look and feel much like the built-in iOS map library, but it's entirely open, and works with any map source.
Currently, OpenStreetMap, OpenCycleMap, OpenSeaMap, MapQuest OSM, MapQuest Open Aerial, MapBox Hosting/TileStream, and two offline-capable, database-backed formats (DBMap and MBTiles) are supported as map sources.
Please note that you are responsible for getting permission to use the map data, and for ensuring your use adheres to the relevant terms of use.
Installing
New: Try the prepackaged framework. Use like regular frameworks, linking it in your project, adding #import <MapBox/MapBox.h>
, and additionally, including the -ObjC
linker flag.
As the SDK is undergoing some significant changes, the recommended course of action is to clone a copy of the repository:
git://github.com/mapbox/mapbox-ios-sdk.git
Or, download the trunk.
The two main branches are pretty self-explanatory: release
and develop
. When we tag a release, we also merge develop
over to release
.
Then, update the submodules:
git submodule update --init
Example app showing usage:
https://github.com/mapbox/mapbox-ios-example
More documentation is available:
http://mapbox.com/mobile/docs/sdk
There are three subdirectories - MapView, Proj4, and samples. Proj4 is a support class used to do map projections. The MapView project contains only the Route-Me map library. "samples" contains some ready-to-build projects which you may use as starting points for your own applications, and also some engineering test cases. samples/SampleMap
and samples/ProgrammaticMap
are the best places to look, to see how to embed a Route-Me map in your application.
See License.txt for license details. In any app that uses the Route-Me library, include the following text on your "preferences" or "about" screen: "Uses Route-Me map library, (c) 2008-2012 Route-Me Contributors". Your data provider will have additional attribution requirements.
News, Support and Contributing
The MapBox iOS SDK has a support resource where you can open cases and browse other developers' discussions about use of the SDK.
We have a basic technical overview along with the installation instructions.
MapBox has an IRC channel on irc.freenode.net
in #mapbox
.
The main Route-Me project has a mailing list for news and to communicate with project members and other users.
To report bugs and help fix them, please use the issue tracker.