SITOutdoorLocationOptions
Objective-C
@interface SITOutdoorLocationOptions : NSObject <NSCopying>
Swift
class SITOutdoorLocationOptions : NSObject, NSCopying
Outdoor location options used only in indoor-outdoor mode
-
Building detector strategy to find the building to start the indoor positioning
Declaration
Objective-C
@property (nonatomic) kSITBuildingDetector buildingDetector;Swift
var buildingDetector: kSITBuildingDetector { get set } -
Controls whether outdoor positions should be used per the location engine. Default value: YES @Discussion: this flag is incompatible with the @link kSITBuildingDetector#kSITGpsProximity building detector option. If those parameters are requested the location engine will raise an error and stop. When this option is disabled (false value) outdoor locations won’t be sent though location listener nor they will be uploaded to the realtime/historic dashboard.
Declaration
Objective-C
@property (nonatomic) BOOL enableOutdoorPositions;Swift
var enableOutdoorPositions: Bool { get set } -
Minimum accuracy required, in meters, for an outdoor position to be returned through the LocationManager delegate. Default value is zero, so all locations will be returned regardless of its accuracy. This parameter only accepts positive values. If a negative value is used, it will be ignored.
Declaration
Objective-C
@property (nonatomic) NSInteger minimumOutdoorLocationAccuracy;Swift
var minimumOutdoorLocationAccuracy: Int { get set } -
Controls if the building selection stage should take into account building detection geofences. These building detection geofences are configured from the dashboard and must have a custom field with the key “trainer_metadata” and value “{ "passable”:“True”, “use_gps”:“True”}“. This mode is useful only for a
buildingDetectorof type kSITBLE. When activating this mode you should setSITLocationRequest.useGpsto YES in theSITLocationRequestin order obtain proper locations inside these building detection geofences.Declaration
Objective-C
@property (nonatomic) BOOL useGeofencesInBuildingSelector;Swift
var useGeofencesInBuildingSelector: Bool { get set } -
Determines how often the SDK requests new outdoor location updates from Core Location.
@note Unit: milliseconds.
@note Default value:
0.Overview
This property controls how often the SDK computes outdoor locations by requesting new location updates from Core Location.
Increasing this interval reduces GPS usage and battery consumption. As a consequence, outdoor locations are computed less frequently, delivered to the application less often, become eligible for upload less frequently, and GPS-based and geofence-based building detection may react more slowly.
Accepted Values
0: Keep Core Location running continuously and receive location updates as they become available.- Greater than
0: Request new location updates approximately once per configured interval.
Implementation Notes
When a positive interval is configured, the SDK stops Core Location after obtaining a location and restarts it when the next location update is due.
Restarting Core Location is not instantaneous and typically takes between
5and15seconds before a new location becomes available. As a result, configuring intervals shorter than the restart time may not increase the effective update rate and can even delay successive location updates.As a general guideline, intervals of
15seconds or longer provide more predictable behavior.Related Properties
SITLocationRequest.outdoorOptions.updateIntervaldetermines how often those computed outdoor locations are delivered to the application and become eligible for upload to Situm Platform. Use this property when your primary goal is to reduce the number of locations uploaded to the Situm Platform rather than to reduce battery consumption.SITLocationRequest.realtimeUpdateIntervaldetermines when eligible outdoor location updates are uploaded to Situm Platform. It does not affect how often outdoor locations are computed.Declaration
Objective-C
@property (nonatomic) NSInteger computeInterval;Swift
var computeInterval: Int { get set } -
Determines how often computed outdoor locations are delivered to the application and become eligible for upload to Situm Platform.
@note Unit: milliseconds.
@note Default value:
0.Overview
This property controls how often computed outdoor locations are delivered to the application through
SITLocationDelegate -locationManager:didUpdateLocation:.Only the outdoor locations delivered according to this interval become eligible for upload to Situm Platform. Therefore, increasing this interval reduces the amount of location data stored in Situm Platform.
It does not affect how often outdoor locations are computed. As a result, changing this value does not affect GPS usage, battery consumption, or building detection.
Accepted Values
0: Deliver each computed outdoor location immediately.- Greater than
0: Deliver the latest computed outdoor location at approximately the configured interval. If no new outdoor location has been computed since the previous update, the previously delivered location is delivered again.
@warning
When both this property and
SITLocationRequest.outdoorOptions.computeIntervalare0, every outdoor location computed by Core Location becomes eligible for upload. IfSITLocationRequest.realtimeUpdateIntervalis notkSITUpdateNever, this can generate multiple uploaded locations per second while the device is moving.Related Properties
SITLocationRequest.outdoorOptions.computeIntervaldetermines how often outdoor locations are computed. Use that property to reduce GPS usage or battery consumption.This property provides the outdoor equivalent of
SITLocationRequest.interval, which determines how often indoor location updates are delivered to the application and become eligible for upload to Situm Platform.SITLocationRequest.realtimeUpdateIntervaldetermines when eligible outdoor location updates are uploaded to Situm Platform.Declaration
Objective-C
@property (nonatomic) NSInteger updateInterval;Swift
var updateInterval: Int { get set } -
This property determines the accuracy you require for outdoor positions when the app is in background. This property will be applied only if your app has any Background Location Update Mode enabled.
Default value is kSITBackgroundAccuracyHigh
Declaration
Objective-C
@property (nonatomic) kSITBackgroundAccuracy backgroundAccuracy;Swift
var backgroundAccuracy: kSITBackgroundAccuracy { get set } -
Compares the receiving outdoorLocationOptions to another outdoorLocationOptions
Declaration
Objective-C
- (BOOL)isEqualTo:(SITOutdoorLocationOptions *_Nonnull)options;Swift
func isEqual(to options: SITOutdoorLocationOptions) -> BoolParameters
optionsSITOutdoorLocationOptions The instance to compare with the receiver
Return Value
YES if options is equivalent to the receiving outdoorLocationOptions, otherwise NO.
-
Mix values between two objects.
Note
you should not use this method directly.Declaration
Objective-C
- (SITOutdoorLocationOptions *_Nonnull)merge: (SITOutdoorLocationOptions *_Nonnull)options;Swift
func merge(_ options: SITOutdoorLocationOptions) -> SITOutdoorLocationOptionsReturn Value
new `SITOutdoorLocationOptions’ object.