Classes

The following classes are available globally.

Class Definition

  • 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

SPAnnotationView Class Definition

  • 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

SPDirectionsRequest Definition

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

    See more

    Declaration

    Objective-C

    @interface SPDirectionsRequest : NSObject

    Swift

    class SPDirectionsRequest : NSObject

SPDirectionsResponse Definition

  • Object returned by SPDirectionsManager containing information about routes.

    See more

    Declaration

    Objective-C

    @interface SPDirectionsResponse : NSObject

    Swift

    class SPDirectionsResponse : NSObject

SPDirectionsManager Definition

  • 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 Class Definition

  • 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

Class Definition

SPGeofencePoint Class Definition

  • Defines a single point in a Geofence. Used to generate SPGeofencePolygon objects.

    See more

    Declaration

    Objective-C

    @interface SPGeofencePoint : NSObject

    Swift

    class SPGeofencePoint : NSObject

SPGeofenceInfo Class Definition

  • Base class for all geofence types.

    See more

    Declaration

    Objective-C

    @interface SPGeofenceInfo : NSObject

    Swift

    class SPGeofenceInfo : NSObject

SPGeofence Class Definition

  • 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

SPGeofenceGeometry Class Definition

SPGeofencePolygon Class Definition

  • 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

SPGeofenceCircle Class Definition

SPGeofenceBeacon Class Definition

  • 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

SPGeofenceEvent Class Definition

  • Contains information about a triggered geofence event.

    See more

    Declaration

    Objective-C

    @interface SPGeofenceEvent : NSObject

    Swift

    class SPGeofenceEvent : NSObject

SPGeofenceManager Class Definition

  • 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 Class Definition

  • SPLiveUserInfo

    Contains information about a live user.

    See more

    Declaration

    Objective-C

    @interface SPLiveUserInfo : NSObject

    Swift

    class SPLiveUserInfo : NSObject

SPLiveConfig Class Definition

  • 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 Class Definition

  • 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

SPLive Class Definition

SPLocationManager Class Definition

  • 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

SPMapView Class Definition

  • 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

SPMapViewConfig Class Definition

  • Class used configure SPMapView

    See more

    Declaration

    Objective-C

    @interface SPMapViewConfig : NSObject

    Swift

    class SPMapViewConfig : NSObject

Class Definition

  • 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

SPQuery Definition

  • 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

SPBoundingBox Definition

  • Bounding box between two coordinates.

    See more

    Declaration

    Objective-C

    @interface SPBoundingBox : NSObject

    Swift

    class SPBoundingBox : NSObject

SPLocation Definition

  • Extends CLLocation with extra metadata.

    See more

    Declaration

    Objective-C

    @interface SPLocation : CLLocation

    Swift

    class SPLocation : CLLocation

SPFloor Definition

  • 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

SPMapViewBuilding Definition

  • 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

Class Definition

  • 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

SPRouteStep Class Definition

  • 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

SPRoute Class Definition

  • Defines a route between two coordinates.

    See more

    Declaration

    Objective-C

    @interface SPRoute : NSObject <NSCopying>

    Swift

    class SPRoute : NSObject, NSCopying

Dependencies

  • Object containing information about current progress on a route

    See more

    Declaration

    Objective-C

    @interface SPRouteTrackerProgress : NSObject

    Swift

    class SPRouteTrackerProgress : NSObject

SPRouteTracker Class Definition

  • 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

Class Definition

  • 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