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 more

    Declaration

    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 more

    Declaration

    Objective-C

    @interface SPAnnotationView

    Swift

    class SPAnnotationView
  • Object that is passed to SPDirectionsManager for fetching directions between GPS points.

    See more

    Declaration

    Objective-C

    @interface SPDirectionsRequest : NSObject

    Swift

    class SPDirectionsRequest : NSObject
  • Object returned by SPDirectionsManager containing information about routes.

    See more

    Declaration

    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 more

    Declaration

    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 more

    Declaration

    Objective-C

    @interface SPEidUpdater : NSObject

    Swift

    class SPEidUpdater : NSObject
  • Defines a single point in a Geofence. Used to generate SPGeofencePolygon objects.

    See more

    Declaration

    Objective-C

    @interface SPGeofencePoint : NSObject

    Swift

    class SPGeofencePoint : NSObject
  • Base class for all geofence types.

    See more

    Declaration

    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 more

    Declaration

    Objective-C

    @interface SPGeofence : SPGeofenceInfo

    Swift

    class SPGeofence : SPGeofenceInfo
  • 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 more

    Declaration

    Objective-C

    @interface SPGeofencePolygon : SPGeofenceGeometry

    Swift

    class SPGeofencePolygon : 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 more

    Declaration

    Objective-C

    @interface SPGeofenceBeacon : SPGeofence

    Swift

    class SPGeofenceBeacon : SPGeofence
  • Contains information about a triggered geofence event.

    See more

    Declaration

    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 more

    Declaration

    Objective-C

    @interface SPGeofenceManager : NSObject

    Swift

    class SPGeofenceManager : NSObject
  • SPLiveUserInfo

    Contains information about a live user.

    See more

    Declaration

    Objective-C

    @interface SPLiveUserInfo : NSObject

    Swift

    class SPLiveUserInfo : NSObject
  • SPLiveUserConfig

    Use this class to configure SPLive settings for this user/device.

    See more

    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 more

    Declaration

    Objective-C

    @interface SPLiveMapConfig : NSObject

    Swift

    class SPLiveMapConfig : 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 more

    Declaration

    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 more

    Declaration

    Objective-C

    @interface SPMapView

    Swift

    class SPMapView
  • Class used configure SPMapView

    See more

    Declaration

    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 more

    Declaration

    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 more

    Declaration

    Objective-C

    @interface SPQuery : NSObject

    Swift

    class SPQuery : NSObject
  • Bounding box between two coordinates.

    See more

    Declaration

    Objective-C

    @interface SPBoundingBox : NSObject

    Swift

    class SPBoundingBox : NSObject
  • Extends CLLocation with extra metadata.

    See more

    Declaration

    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 more

    Declaration

    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 more

    Declaration

    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 more

    Declaration

    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 more

    Declaration

    Objective-C

    @interface SPRouteStep : NSObject

    Swift

    class SPRouteStep : NSObject
  • Defines a route between two coordinates.

    See more

    Declaration

    Objective-C

    @interface SPRoute : NSObject <NSCopying>

    Swift

    class SPRoute : NSObject, NSCopying
  • Object containing information about current progress on a route

    See more

    Declaration

    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 more

    Declaration

    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 more

    Declaration

    Objective-C

    @interface SPTelemetryConfig : NSObject

    Swift

    class SPTelemetryConfig : NSObject