Classes
The following classes are available globally.
-
Used for authenticating to the Steerpath Platform.
The recommended way of providing auth credentials is to add them your application’s Info.plist.
The Steerpath API access token can be added with the key ‘SPSteerpathAccessToken’.
Need API access? Contact support@steerpath.com
See moreDeclaration
Objective-C
@interface SPAccountManager : NSObject
Swift
class SPAccountManager : NSObject
-
Extends MGLAnnotationView. Used as the default view for displaying point annotations on a map. Provides async image loading for marker icons.
See moreDeclaration
Objective-C
@interface SPAnnotationView
Swift
class SPAnnotationView
-
Object that is passed to SPDirectionsManager for fetching directions between GPS points.
See moreDeclaration
Objective-C
@interface SPDirectionsRequest : NSObject
Swift
class SPDirectionsRequest : NSObject
-
Object returned by SPDirectionsManager containing information about routes.
See moreDeclaration
Objective-C
@interface SPDirectionsResponse : NSObject
Swift
class SPDirectionsResponse : NSObject
-
Used for calculating directions between GPS points. To use this class you need to have a Steerpath API access token and provide it to the app according to the instructions in SPAccountManager.h.
Requires internet access to download directions data. After data is downloaded, directions can be used while offline.
Currently only works for routes inside indoor areas.
More detailed descriptions:
Routes are calculated based on a network of possible paths that can be taken. In this network, different route types are marked, such as elevators, escalators and even buses and trains. Each different type is assigned two different costs, a cost to enter it and a cost along it.
While cost is an abstract concept, for simplicity, cost in routing can be thought of as time spent, so the cost to enter is the time spent waiting and the cost along is the time it will take to walk a given length of on the path: e.g. the time spent waiting for an elevato and the time spent moving whilst on an elevator. However these costs are not the same as the estimated travel time shown to users. The reason why they differ is that in some cases a route segment may need to be made more or less attractive without affecting the shown estimated time. For example walking past a some waste disposal area may be a fast route, but one that should generally not be used unless the user is very near by.
The current default costs are as follows:
Elevator: 20 to enter, 0.5 per meter Stairs: 0 to enter, 3.0 per meter Escalator: 0 to enter, 3.0 per meter Train, bus: 10 to enter, 0.4 per meter
For the time estimation a much more simple system is currently used. This system estimates pedestrian movement to happen at 1 meter per second on average.
See moreDeclaration
Objective-C
@interface SPDirectionsManager : NSObject
Swift
class SPDirectionsManager : NSObject
-
SPEidUpdater
This class is used to download EID data from a remote server as well as determining the status of local EID data.
See moreDeclaration
Objective-C
@interface SPEidUpdater : NSObject
Swift
class SPEidUpdater : NSObject
-
Object that abstracts GeoJSON data and provides convenience methods for accessing common properties as well as custom data provided by the Steerpath Platform.
GeoJSON specification can be found at: http://geojson.org/
Steerpath Meta Service documentation can be found at at http://steerpath-meta-us2.appspot.com/meta/ui/#!/default/
Need API access? Contact support@steerpath.com
See moreDeclaration
Objective-C
@interface SPGeoJson : NSObject
Swift
class SPGeoJson : NSObject
-
Defines a single point in a Geofence. Used to generate SPGeofencePolygon objects.
See moreDeclaration
Objective-C
@interface SPGeofencePoint : NSObject
Swift
class SPGeofencePoint : NSObject
-
Base class for all geofence types.
See moreDeclaration
Objective-C
@interface SPGeofenceInfo : NSObject
Swift
class SPGeofenceInfo : NSObject
-
Extends SPGeofenceInfo with some more common information required by geofences. Does not contain geometry information.
See moreDeclaration
Objective-C
@interface SPGeofence : SPGeofenceInfo
Swift
class SPGeofence : SPGeofenceInfo
-
Extends SPGeofence with extra information
See moreDeclaration
Objective-C
@interface SPGeofenceGeometry : SPGeofence
Swift
class SPGeofenceGeometry : SPGeofence
-
Geofence consisting of a polygon. You may add holes to polygons that are excluded from hit detection.
A polygon is an array of SPGeofencePoint objects. Polygons must contain at least 3 points.
See moreDeclaration
Objective-C
@interface SPGeofencePolygon : SPGeofenceGeometry
Swift
class SPGeofencePolygon : SPGeofenceGeometry
-
Geofence consisting of a coordinate and a radius around it. Defines a circular area.
See moreDeclaration
Objective-C
@interface SPGeofenceCircle : SPGeofenceGeometry
Swift
class SPGeofenceCircle : SPGeofenceGeometry
-
Extends SPGeofenceInfo. This type of geofence is added for a bluetooth beacon and is not necessarily tied to a static location. Bluetooth beacons can move if they’re attached to cars, trains, shopping carts etc.
See moreDeclaration
Objective-C
@interface SPGeofenceBeacon : SPGeofence
Swift
class SPGeofenceBeacon : SPGeofence
-
Contains information about a triggered geofence event.
See moreDeclaration
Objective-C
@interface SPGeofenceEvent : NSObject
Swift
class SPGeofenceEvent : NSObject
-
Handles registration and event triggering for dynamic geofences. Supports SPGeofenceCircle and SPGeofencePolygon types.
Observe notifications with the name ‘kSPGeofenceEventNotification’ for callbacks. Notifications will include an SPGeofenceEvent object that contains information about a triggered geofence.
See moreDeclaration
Objective-C
@interface SPGeofenceManager : NSObject
Swift
class SPGeofenceManager : NSObject
-
Declaration
Objective-C
@interface SPLiveUserInfo : NSObject
Swift
class SPLiveUserInfo : NSObject
-
Declaration
Objective-C
@interface SPLiveUserConfig : NSObject
Swift
class SPLiveUserConfig : NSObject
-
SPLiveMapConfig
Use this class to configure SPMapView settings to show live users on the map. You can define when and how often live user locations are fetched from Steerpath Live Service.
See moreDeclaration
Objective-C
@interface SPLiveMapConfig : NSObject
Swift
class SPLiveMapConfig : NSObject
-
SPLive
This class is used to enable real-time tracking of assets. Assets may include for example: People, mobile devices, bluetooth beacons or anything else that can send location information to the Steerpath Live Service.
Additionally you can choose to view the real-time locations of other registered devices on the SPMapView.
You can find an example of how to use the Steerpath Live Service at https://bitbucket.org/nimbledevices/steerpath-ios-examples/src/b9a1b96a86412a8690ac5c2168209f095a9af18e/ObjCExamples/ObjCExamples/MapWithLiveUsersViewController.m
Note! To use this class you need to have the Live access token and provide it to the app according to the instructions in SPAccountManager.h.
Need API access? Contact support@steerpath.com
See moreDeclaration
Objective-C
@interface SPLive : NSObject
Swift
class SPLive : NSObject
-
Provides APIs for requesting users current location. To use this class you need to have a Steerpath API access token and provide it to the app according to the instructions in SPAccountManager.h.
Set delegate to listen for location updates.
Switches between GPS and indoor positioning automatically if GPS is enabled. To disable GPS see ‘useGPS’ property.
Automatically downloads positioning data when relevant beacons are detected. Requires internet access to download positioning data. After data is downloaded, positioning can be used without a connection.
If you wish to use positioning without downloading it you can use a bundled .sff file. See SPOfflineManager class documentation for more information about how to use .sff files.
Example on the basic usage of this class can be found at https://bitbucket.org/nimbledevices/steerpath-ios-examples/src/b9a1b96a86412a8690ac5c2168209f095a9af18e/ObjCExamples/ObjCExamples/MapWithPositioningViewController.m
See moreDeclaration
Objective-C
@interface SPLocationManager : NSObject
Swift
class SPLocationManager : NSObject
-
Extends MGLMapView and provides additional functionality including but not limited to indoor maps, multi-floor routes, customizable floor widget, floor specific annotations etc.
To use this class you need to have a Steerpath API access token. See SPAccountManager.h for instructions on how to authenticate.
See moreDeclaration
Objective-C
@interface SPMapView
Swift
class SPMapView
-
Class used configure SPMapView
See moreDeclaration
Objective-C
@interface SPMapViewConfig : NSObject
Swift
class SPMapViewConfig : NSObject
-
The purpose of this class is to provide simplified APIs for fetching metadata from the Steerpath Meta Service. To use this class you need to have a Steerpath API access token and provide it to the app according to the instructions in SPAccountManager.h.
Need API access? Contact support@steerpath.com
See moreDeclaration
Objective-C
@interface SPMetaService : NSObject
Swift
class SPMetaService : NSObject
-
Abstraction of query parameters used with Steerpath Meta Service. Supports a simplified set of parameters used for most common use cases.
See moreDeclaration
Objective-C
@interface SPQuery : NSObject
Swift
class SPQuery : NSObject
-
Bounding box between two coordinates.
See moreDeclaration
Objective-C
@interface SPBoundingBox : NSObject
Swift
class SPBoundingBox : NSObject
-
Extends CLLocation with extra metadata.
See moreDeclaration
Objective-C
@interface SPLocation : CLLocation
Swift
class SPLocation : CLLocation
-
Simple abstraction of a floor in a building. Provides a way to store name and index data separately.
See moreDeclaration
Objective-C
@interface SPFloor : NSObject
Swift
class SPFloor : NSObject
-
Object for storing building information visible on the map. This class is mainly used internally by the SDK.
See moreDeclaration
Objective-C
@interface SPMapViewBuilding : NSObject
Swift
class SPMapViewBuilding : NSObject
-
The purpose of this class is to provide a simplified API for loading offline content bundled into the application. If your app needs to work offline immediately after installation or if your app is being used in areas where network connectivity is bad or non
See moreDeclaration
Objective-C
@interface SPOfflineManager : NSObject
Swift
class SPOfflineManager : NSObject
-
Object containing information for a section/step on the route. A route consists of multiple logical ‘steps’ where actions may need to be taken or instructions may need to be shown. Generally the SDK will internally generate these steps and SPRouteStep objects should be considered ‘read-only’.
Disclaimer: a route step has nothing to do with physical steps taken.
See moreDeclaration
Objective-C
@interface SPRouteStep : NSObject
Swift
class SPRouteStep : NSObject
-
Defines a route between two coordinates.
See moreDeclaration
Objective-C
@interface SPRoute : NSObject <NSCopying>
Swift
class SPRoute : NSObject, NSCopying
-
Object containing information about current progress on a route
See moreDeclaration
Objective-C
@interface SPRouteTrackerProgress : NSObject
Swift
class SPRouteTrackerProgress : NSObject
-
Class used for tracking progress on a route. Can be used to snap a location onto a route.
See moreDeclaration
Objective-C
@interface SPRouteTracker : NSObject
Swift
class SPRouteTracker : NSObject
-
Used for configuring what kind of telemetry data the SDK should gather and at what interval data should be gathered.
If you want to configure these options, you must do that before starting positioning with SPLocationManager.
Telemetry features are disabled by default. Contact support@steerpath.com to learn how to gather telemetry data.
See moreDeclaration
Objective-C
@interface SPTelemetryConfig : NSObject
Swift
class SPTelemetryConfig : NSObject