iOS

From OpenStreetMap Wiki
Jump to navigation Jump to search

iOS logo

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

OpenStreetMap on an iPhone

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.

Navigation

These applications provide turn-by-turn navigation and, in many cases, voice guidance:

It is also possible to load OpenStreetMap-based maps into the following applications:

Editing the map

These applications allow you to contribute to OpenStreetMap:

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.

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

Applications using OpenStreetMap

These applications also use OpenStreetMap in some fashion:

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 BSD 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.

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

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

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:

See also

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