iOS SDK
iOS SDK allows you to add an 2GIS map to your iOS application. Using the SDK, you can display a map on the screen, get information about map objects, build routes, use the navigator, and so on.
See SDK usage examples in the Examples section. For a detailed description of all classes and methods, see API Reference.
Geodata complies with OGC standards.
SDK versions
iOS SDK packages are available in two versions:
- Full is a full version that allows you to:
- Add a map to the application and manage it: add markers and geometric shapes, control the camera movement, display layers (for example, traffic), work with map styles, etc.
- Search for objects in the directory: organizations, buildings, places, and others.
- Work with the navigator in the application in one of the three modes: free-drive, turn-by-turn, or simulated navigation.
- Build optimal routes on the map, including routes inside buildings.
- Use offline data.
- Map is a lightweight version that allows you to:
You cannot use Full and Map simultaneously. It causes an assembly error.
API for SDK operation
Depending on the required features, the SDK requires access keys for the maps, search, and navigation APIs. Available features depend on the SDK version: Full or Map.
When you use a key, only access to used APIs is paid based on the number of sent requests (and, in some cases, responses). You can work with keys in the Platform Manager.
Map (for Full and Map)
For more information on the available options, see the Map instruction.
Feature | APIs |
|---|---|
| Creating a map in the application (makeMapFactory() method) | |
| Displaying traffic jams on the map (TrafficSource class) | Regions API |
Directory (for Full and Map)
For more information on the available options, see the Directory instruction.
Feature | APIs |
|---|---|
| Creating a search engine (SearchManager class) | Regions API |
| Getting search results (SearchManager.search() method) | Access to certain information about objects is only available with additional key configuration for an extra fee: see the Object data structure section. |
| Searching for objects in the directory by ID (SearchManager.searchById() method) | |
| Building search suggestions (SearchManager.suggest() method) | Suggest API |
Routing (only for Full)
For more information on the available options, see the Routing instruction.
Feature | APIs |
|---|---|
| Searching for an optimal route considering traffic jams (TrafficRouter class) |
|
| Displaying routes on the map (RouteEditorSource class) |
|
Navigation (only for Full)
For more information on the available options, see the Navigation instruction.
Feature | APIs |
|---|---|
| Starting the navigation (NavigationManager.start() method): |
|
| Searching for alternative routes (AlternativeRouteSelector class) |
|
| Displaying road events (RoadEventSource class) | Regions API |
System requirements
- Xcode 14
- iOS 16 and later / iPadOS 16 and later (this SDK uses SwiftUI)
Demo project
You can find a demo app with the source code in the GitHub repository.