iOS
iOS is the native operating system of Apple’s mobile devices. iPhone, iPad, and iPod Touch devices can be used to view and edit OpenStreetMap-based maps as well as to record GPS tracks that can be uploaded to OSM to aid in editing.
OpenStreetMap.org
The most basic way to use OpenStreetMap on your iOS device is to open www.openstreetmap.org in a web browser such as Safari. The website automatically adapts to the small screen sizes of the iPhone and iPod Touch for a more comfortable viewing experience. For a map-viewing experience similar to the built-in Maps application, view the applications below. Similarly, for contributing to OpenStreetMap, the iD editor embedded on the website supports basic interaction on iPad, but an iOS editor application may be more convenient.
OpenStreetMap applications
- Main article: Comparison of iOS applications
The following applications rely on OpenStreetMap for core functionality, so they’re good ways to use OpenStreetMap on your iOS device. Each of these applications is actively maintained, with a new release within the last 18 months, as of 22:02, 23 June 2016 (UTC). For a comprehensive comparison of all available iOS applications, see Comparison of iOS applications.
These applications provide turn-by-turn navigation and, in many cases, voice guidance:
Guru Maps
image CC BY-NC-ND
(Galileo Offline Maps)
It is also possible to load OpenStreetMap-based maps into the following applications:
Editing the map
These applications allow you to contribute to OpenStreetMap:
Organic Maps
(limited editing)MAPS.ME
(limited editing, this app is inferior to Organic Maps)
These applications allow you to contribute imagery for armchair mappers to use:
Track recording
These applications allow you to record your movement as GPS tracks. You can upload your GPS tracks to OpenStreetMap to help you add features to the map. Most of these applications also have orienteering features that are useful for navigation but not as granular as the turn-by-turn navigation applications.
Guru Maps
(Galileo Offline Maps)
Travel planning
These applications let you search for and learn about places on the map. Many of them also support offline maps.
Games
- Main article: Games#In the game itself
These games rely on OpenStreetMap data to power gameplay:
Miscellaneous
Libraries for developers
- Main article: Frameworks
As a platform for developers, iOS is very similar to tvOS, watchOS, and to a lesser extent macOS. Several libraries make it easy for iOS developers to incorporate OpenStreetMap in their own applications, whether as a static map image, a fully interactive map, or more sophisticated uses like geocoding and routing. Another benefit of using these libraries is that they respect OpenStreetMap’s tile usage policy by fetching tiles and other resources from dedicated servers instead of OpenStreetMap’s donated servers.
Maps
Library | Minimum iOS version | Objective-C | Swift | Interface Builder | License | Notes |
---|---|---|---|---|---|---|
Carto Mobile SDK | 7.0 | ObjC++ | yes | yes | BSD | Supports 3D city overlays, editable vector overlays and is highly customizable. |
CartoType | 7.0 | ObjC++ | no | no | Proprietary | Rendering and routing library |
GLMap | 8.0 | yes | yes | yes | Proprietary | Pay for the data service feeding into this iOS component (inc bulk downloads for offline use). Styleable with MapCSS. |
Mapbox iOS SDK | 9.0 | yes | yes | yes | Proprietary | Customizable, interactive vector maps styled in Mapbox Studio and rendered using OpenGL ES. Hybrid components available for Cordova, NativeScript, React Native, and Xamarin. |
Mapbox SceneKit SDK | 10.0 | yes | yes | no | ISC | Provides data for generating custom 3D scenes in SceneKit |
MapboxStatic.swift | 8.0 | yes | yes | no | BSD | Connects to Mapbox's Static API for static map images. Handy for situations where an interactive map is overkill. |
Navmii Mobile SDK | ? | ? | ? | ? | Proprietary | |
OsmSharp | ? | no | no | no | GPLv2 or commercial | Offline vector map rendering in C# using Xamarin |
QuartzMaps | ? | yes | ? | ? | Proprietary | Slippy map and vector map rendering engine |
Skobbler iOS SDK | ? | yes | yes | ? | Proprietary | |
Tangram ES | ? | ObjC++ | no | View controller only | MIT | 2D and 3D map renderer using OpenGL ES |
WhirlyGlobe-Maply | 7.0 | yes | yes | no | Apache 2 | Geospatial display kit for iOS and Android based on OpenGL ES. Implements a 2D map and a 3D globe and can handle image base maps and tiled vector maps based on OSM data. |
MapLibre Native | 12.0 | yes | yes | no | BSD | An open-source vector map renderer with support for dynamic styling, Metal, and semi-3D views. |
Geocoding
Library | Minimum iOS version | Objective-C | Swift | License | Notes |
---|---|---|---|---|---|
Pelias iOS SDK | 9.0 | no | yes | Apache 2 | Connects to Mapzen’s Pelias Geocoder instance |
Stadia Maps Swift SDK | 11.0 | no | yes | BSD | Connects to the Stadia Maps APIs (including geocoding) |
Stadia Maps SwiftUI Autocomplete Search | 16.0 | no | yes | BSD | A customizable autocomplete search view for SwiftUI |
Directions
Library | Minimum iOS version | Objective-C | Swift | Interface Builder | CarPlay | License | Notes |
---|---|---|---|---|---|---|---|
CartoType | 7.0 | ObjC++ | no | no | no | Proprietary | Rendering and routing library |
GraphHopper | 7.0 | yes | yes | no | no | Apache 2 | Offline routing library |
Mapbox Directions for Swift | 10.0 | no | yes | no | no | ISC | Connects to Mapbox's OSRM-based Directions API |
Mapbox Navigation SDK for iOS | 10.0 | no | yes | no | yes | ISC | Embeds a turn-by-turn navigation view controller with voice guidance |
Mapzen iOS SDK | 9.3 | yes | yes | no | no | Apache | Connects to Mapzen Turn-by-Turn (powered by Valhalla) via OnTheRoad for iOS |
Navmii Mobile SDK | ? | ? | ? | no | no | Proprietary | |
OsmSharp | ? | no | no | no | no | GPLv2 or commercial | Offline routing in C# using Xamarin |
Ferrostar | 16.0 | no | yes | no | no | BSD | A navigation SDK with an extensible core, composable UI with SwiftUI, voice guidance, OSRM-style annotation support, and more. |
Stadia Maps Swift SDK | 11.0 | no | yes | no | no | BSD | API client connecting to the Stadia Maps Routing API. |
Processing OpenStreetMap data
Library | Minimum iOS version | Objective-C | Swift | License | Notes |
---|---|---|---|---|---|
OSMKit | 7.0 | yes | yes | MIT | Parses and stores OSM data in a spatialite database. |
SwiftOverpassWrapper | 10.0 | no | yes | MIT | Queries the Overpass API and provides the result as native Swift objects. |
Historical
The following libraries are no longer maintained but are of historical interest:
- MapQuest iOS Maps API – Maps, routing, and geocoding using MapQuest Open
- MBXMapKit – Displays Mapbox raster tiles atop a MapKit slippy map
- OpenStreetPad – BSD-licensed MapCSS-based renderer
- route-me – Raster tile renderer that also formed the basis for the legacy Mapbox iOS SDK
See also
- Software - root page for all OSM applications
- Audio mapping with iPhone
- Photo Mapping with iPhone
- Category:iPhone Users - iPhone users on this wiki
- Category:iPad Users - iPad users on this wiki
- Android apps
External links
- Accessibility Programming Guide for iOS – see also OSM for the blind
- RoqyBT – a jailbreak application that connects the iOS device to an external GPS unit over Bluetooth, enabling mainstream applications (whether OpenStreetMap-powered or otherwise) to potentially receive better GPS readings than what the onboard receiver provides