@magiclane/maps-sdk
    Preparing search index...

    Class RoutePreferences

    Comprehensive route calculation configuration for customizing routing behavior.

    RoutePreferences centralizes all route calculation options including transport mode, vehicle profiles, avoidance settings (motorways, tolls, ferries, unpaved roads), traffic handling, algorithm selection, result detail levels, and alternative route handling. Set preferences before calling RoutingService.calculateRoute to control how routes are computed.

    Each transport mode supports specific profile configurations:

    • carProfile for cars, including fuel type and vehicle mass
    • truckProfile for trucks, with dimensions and axle load constraints
    • bikeProfile for bicycles, supporting both standard and electric bikes
    • pedestrianProfile for walking or wheelchair-accessible routes

    Common preferences include routeType (fastest, shortest, economic), avoidMotorways, avoidTollRoads, avoidFerries, avoidUnpavedRoads, and avoidTraffic strategies. Public transport options include departure/arrival times via timestamp and algorithmType, transfer constraints, and sorting strategies. Emergency vehicle mode relaxes routing constraints.

    Hierarchy

    • GemAutoreleaseObject
      • RoutePreferences
    Index

    Constructors

    • Creates a new set of routing preferences used to customize how routes are calculated.

      Can be called in two ways for backward compatibility:

      • new RoutePreferences(id) - Internal constructor with pointer ID
      • new RoutePreferences(options) - Public constructor with configuration options

      Parameters

      • OptionalidOrOptions: any

        Either a pointer ID (string/number, internal use) or configuration options object

      Returns RoutePreferences

    Accessors

    • get accurateTrackMatch(): boolean

      Enables accurate track matching for route-over-track computations.

      When true, the SDK uses more precise track matching algorithms during route calculation when track-based landmarks are provided.

      Default is true

      Returns boolean

    • set accurateTrackMatch(value: boolean): void

      Enables accurate track matching for route-over-track computations.

      Parameters

      • value: boolean

        True to enable accurate track matching, false to disable.

      Returns void

    • get accurateWaypointsApproach(): boolean

      Get accurate waypoints approach. An accurate approach implies that the route arrives at the waypoint on the drive side of the region.

      Default is false

      Returns boolean

    • set accurateWaypointsApproach(value: boolean): void
      Experimental

      Set the accurate waypoints approach. An accurate approach implies that the route arrives at the waypoint on the drive side of the region.

      Parameters

      • value: boolean

      Returns void

    • get algorithmType(): PTAlgorithmType

      Public transport algorithm type for determining departure or arrival time optimization.

      Default is PTAlgorithmType.departure

      Returns PTAlgorithmType

    • set algorithmType(value: PTAlgorithmType): void

      Parameters

      • value: PTAlgorithmType

        The algorithm type to use for public transport routing.

      Returns void

    • get allowOnlineCalculation(): boolean

      Allows route calculation using online services when available.

      Default is true

      Returns boolean

    • set allowOnlineCalculation(value: boolean): void

      Parameters

      • value: boolean

        True to allow online calculation, false to use only offline data.

      Returns void

    • get alternativeRoutesBalancedSorting(): boolean

      Enables balanced sorting for alternative route results.

      Default is true

      Returns boolean

    • set alternativeRoutesBalancedSorting(value: boolean): void

      Parameters

      • value: boolean

        True to enable balanced sorting, false to disable.

      Returns void

    • get avoidBikingHillFactor(): number

      Hill avoidance factor for bicycle routes, ranging from 0.0 to 1.0.

      Returns number

      Use fitnessFactor instead

      Default is 0.5

    • set avoidBikingHillFactor(value: number): void

      Parameters

      • value: number

      Returns void

      Use fitnessFactor instead

    • get avoidCarpoolLanes(): boolean

      Avoids carpool/HOV lanes when calculating routes.

      Default is false

      Returns boolean

    • set avoidCarpoolLanes(value: boolean): void

      Parameters

      • value: boolean

        True to avoid carpool lanes, false to allow them.

      Returns void

    • get avoidFerries(): boolean

      Avoids ferry crossings when calculating routes.

      Default is false

      Returns boolean

    • set avoidFerries(value: boolean): void

      Parameters

      • value: boolean

        True to avoid ferries, false to allow them.

      Returns void

    • get avoidGeofenceAntiAreas(): string[]
      Experimental

      Get the geofence anti-area avoidance IDs list

      An anti-area geofence is an area within which boundaries the route should remain during calculation. If immutableRoadblockAvoidance is true and the route cannot stay in the requested boundaries, routing will fail.

      Returns string[]

    • set avoidGeofenceAntiAreas(value: string[]): void
      Experimental

      Set avoidance of the given geofence anti-area IDs

      Parameters

      • value: string[]

      Returns void

    • get avoidGeofenceAreas(): string[]

      Get the geofence area avoidance IDs list

      Returns string[]

    • set avoidGeofenceAreas(value: string[]): void

      Set avoidance of the given geofence area IDs

      Send an empty list to disable geofence area avoidance

      Parameters

      • value: string[]

      Returns void

    • get avoidMotorways(): boolean

      Avoids motorways/highways when calculating routes.

      Default is false

      Returns boolean

    • set avoidMotorways(value: boolean): void

      Parameters

      • value: boolean

        True to avoid motorways, false to allow them.

      Returns void

    • get avoidTollRoads(): boolean

      Avoids toll roads when calculating routes.

      Default is false

      Returns boolean

    • set avoidTollRoads(value: boolean): void

      Parameters

      • value: boolean

        True to avoid toll roads, false to allow them.

      Returns void

    • get avoidTraffic(): TrafficAvoidance

      Traffic avoidance strategy for route calculation.

      Default is TrafficAvoidance.none

      Returns TrafficAvoidance

    • set avoidTraffic(value: TrafficAvoidance): void

      Parameters

      Returns void

    • get avoidTurnAroundInstruction(): boolean

      Avoids generating "Turnaround when possible" instructions during navigation.

      Default is false

      Returns boolean

    • set avoidTurnAroundInstruction(value: boolean): void

      Parameters

      • value: boolean

        True to avoid turn-around instructions, false to allow them.

      Returns void

    • get avoidUnpavedRoads(): boolean

      Avoids unpaved roads when calculating routes.

      Default is false

      Returns boolean

    • set avoidUnpavedRoads(value: boolean): void

      Parameters

      • value: boolean

        True to avoid unpaved roads, false to allow them.

      Returns void

    • get buildConnections(): boolean

      Enables building route segment connections metadata.

      Default is false

      Returns boolean

    • set buildConnections(value: boolean): void

      Parameters

      • value: boolean

        True to build connections metadata, false to omit it.

      Returns void

    • get buildConnectionsMaxLength(): number
      Experimental

      Get route connections build max length.

      Default is -1

      Returns number

    • get buildTerrainProfile(): BuildTerrainProfile

      Controls whether terrain profile data is generated for the route.

      Default terrain profile disabled.

      Returns BuildTerrainProfile

    • set buildTerrainProfile(value: BuildTerrainProfile): void

      Parameters

      Returns void

    • get carProfile(): CarProfile

      Car routing profile with vehicle-specific constraints.

      Default is null (no car profile)

      Returns CarProfile

    • set carProfile(value: CarProfile): void

      Parameters

      • value: CarProfile

        The car profile configuration to use.

      Returns void

    • get departureHeading(): DepartureHeading

      Departure heading and accuracy for route calculation.

      Default heading and accuracy are -1 (no constraint).

      Returns DepartureHeading

    • set departureHeading(value: DepartureHeading): void

      Parameters

      Returns void

    • get emergencyVehicleExtraFreedomLevels(): number

      Extra freedom levels for emergency vehicle routing constraints.

      Only applies when emergencyVehicleMode is true.

      Default is 0

      Returns number

    • set emergencyVehicleExtraFreedomLevels(value: number): void

      Parameters

      • value: number

        The extra freedom levels as a packed integer.

      Returns void

    • get emergencyVehicleMode(): boolean

      Enables emergency vehicle routing mode with relaxed constraints.

      Default is false

      Returns boolean

    • set emergencyVehicleMode(value: boolean): void

      Parameters

      • value: boolean

        True to enable emergency vehicle mode, false to disable.

      Returns void

    • get fitnessFactor(): number

      Bike & pedestrian routing fitness factor, ranging from 0.0 to 1.0.

      Default is 0.5 (normal/good shape)

      Returns number

    • set fitnessFactor(value: number): void

      Parameters

      • value: number

        Factor from 0.0 (untrained) to 1.0 (professional).

      Returns void

    • get ignoreRestrictionsOverTrack(): boolean

      Ignores map restrictions during route-over-track calculations.

      Default is false

      Returns boolean

    • set ignoreRestrictionsOverTrack(value: boolean): void

      Parameters

      • value: boolean

        True to ignore restrictions, false to apply them.

      Returns void

    • get immutableRoadblockAvoidance(): boolean

      Get the immutable roadblock avoidance state. If set, the algorithm rather fails than routing through roadblocks.

      Default is false

      Returns boolean

    • set immutableRoadblockAvoidance(value: boolean): void

      Parameters

      • value: boolean

        True to enable immutable roadblock avoidance, false otherwise.

      Returns void

    • get isTrackResume(): boolean

      Track resume mode for path-based routing with track landmarks.

      Default is true

      Returns boolean

    • set isTrackResume(value: boolean): void

      Parameters

      • value: boolean

        True to resume from closest point, false to use entire track.

      Returns void

    • get maximumDistanceConstraint(): boolean

      Enables maximum distance constraints based on transport mode.

      Default is true

      Returns boolean

    • set maximumDistanceConstraint(value: boolean): void

      Parameters

      • value: boolean

        True to enable distance constraints, false to disable.

      Returns void

    • get maximumTransferTimeInMinutes(): number

      Maximum transfer time between public transport connections, in minutes.

      Default is 300 (5 hours)

      Returns number

    • set maximumTransferTimeInMinutes(value: number): void

      Parameters

      • value: number

        Maximum transfer time in minutes.

      Returns void

    • get maximumWalkDistance(): number

      Maximum walking distance for public transport routes, in meters.

      Default is 5000 meters (5 km)

      Returns number

    • set maximumWalkDistance(value: number): void

      Parameters

      • value: number

        Maximum walking distance in meters.

      Returns void

    • get minimumTransferTimeInMinutes(): number

      Minimum transfer time between public transport connections, in minutes.

      Default is 1 minute

      Returns number

    • set minimumTransferTimeInMinutes(value: number): void

      Parameters

      • value: number

        Minimum transfer time in minutes.

      Returns void

    • get pedestrianProfile(): PedestrianProfile

      Pedestrian routing profile for walking and wheelchair accessibility.

      Default is PedestrianProfile.walk

      Returns PedestrianProfile

    • set pedestrianProfile(value: PedestrianProfile): void

      Parameters

      Returns void

    • get pointerId(): any

      Returns any

    • get resultDetails(): RouteResultDetails

      Level of detail to include in route calculation results.

      Default is RouteResultDetails.full

      Returns RouteResultDetails

    • set resultDetails(value: RouteResultDetails): void

      Parameters

      Returns void

    • set roundTripParameters(value: RoundTripParameters): void

      Set parameters for roundtrip feature.

      Parameters

      Returns void

    • get roundTripRandomSeed(): number

      Get roundtrip random seed.

      Returns number

    • get roundTripRange(): number
      Experimental

      Get roundtrip range.

      Returns number

    • get roundTripRangeType(): RangeType
      Experimental

      Get roundtrip range type.

      Returns RangeType

    • get routeGroupIdsEarlierLater(): number[]

      Route group IDs for earlier/later trip calculations in public transport.

      Default is an empty list

      Returns number[]

    • set routeGroupIdsEarlierLater(value: number[]): void

      Parameters

      • value: number[]

        List of route group IDs.

      Returns void

    • get routeRanges(): number[]

      Route range values for isoline/isochrone calculations.

      Default is an empty list (no range calculation)

      Returns number[]

    • set routeRanges(value: number[]): void

      Parameters

      • value: number[]

        List of range values in units based on route type.

      Returns void

    • get routeRangesQuality(): number

      Quality level for route range calculations, from 0 to 100.

      Default is 100 (maximum quality)

      Returns number

    • set routeRangesQuality(value: number): void

      Parameters

      • value: number

        Quality level from 0 to 100.

      Returns void

    • get routeResultType(): RouteResultType

      Route result type indicating the format of the returned route.

      Default is RouteResultType.path.

      Returns RouteResultType

    • get routeType(): RouteType

      Primary route optimization criterion.

      Default is RouteType.fastest

      Returns RouteType

    • set routeType(value: RouteType): void

      Parameters

      • value: RouteType

        The route optimization type to use.

      Returns void

    • get routeTypePreferences(): Set<RouteTypePreferences>

      Additional route type preference flags.

      Default is {RouteTypePreferences.none}

      Returns Set<RouteTypePreferences>

    • set routeTypePreferences(value: Set<RouteTypePreferences>): void

      Parameters

      Returns void

    • get sortingStrategy(): PTSortingStrategy

      Public transport route sorting strategy.

      Default is PTSortingStrategy.bestTime

      Returns PTSortingStrategy

    • set sortingStrategy(value: PTSortingStrategy): void

      Parameters

      Returns void

    • get timestamp(): Date | null

      Local departure or arrival time for public transport routing.

      Default is null (current time)

      Returns Date | null

    • set timestamp(value: Date | null): void

      Parameters

      • value: Date | null

        The timestamp to use, or null for current time.

      Returns void

    • get transportMode(): RouteTransportMode

      Primary transport mode for route calculation.

      Default is RouteTransportMode.car

      Returns RouteTransportMode

    • set transportMode(value: RouteTransportMode): void

      Parameters

      Returns void

    • get truckProfile(): TruckProfile

      Truck routing profile with vehicle-specific constraints.

      Default is null (no truck profile)

      Returns TruckProfile

    • set truckProfile(value: TruckProfile): void

      Parameters

      Returns void

    • get useBikes(): boolean

      Ensures bike accessibility for public transport routes.

      Default is false

      Returns boolean

    • set useBikes(value: boolean): void

      Parameters

      • value: boolean

        True to ensure bike accessibility, false otherwise.

      Returns void

    • get useWheelchair(): boolean

      Ensures wheelchair accessibility for public transport routes.

      Default is false

      Returns boolean

    • set useWheelchair(value: boolean): void

      Parameters

      • value: boolean

        True to ensure wheelchair accessibility, false otherwise.

      Returns void

    Methods

    • Returns void

    • Registers an object for auto release. When the object is not used anymore, it will be released automatically from C++.

      Parameters

      • pointerId: any

        The pointer ID to register

      Returns void

    • Creates a new set of routing preferences used to customize how routes are calculated.

      These preferences control routing behavior such as transport mode, avoidance options, algorithm selection, profile overrides, and constraints for transfers, walking distance, and timing. Provide only the options you need; unspecified profile fields will fall back to default behavior. This constructor configures a request-level set of hints that influence route generation and result formatting.

      Parameters

      • Optionaloptions: {
            accurateTrackMatch?: boolean;
            accurateWaypointsApproach?: boolean;
            algorithmType?: PTAlgorithmType;
            allowOnlineCalculation?: boolean;
            alternativeRoutesBalancedSorting?: boolean;
            alternativesSchema?: RouteAlternativesSchema;
            avoidBikingHillFactor?: number;
            avoidCarpoolLanes?: boolean;
            avoidFerries?: boolean;
            avoidMotorways?: boolean;
            avoidTollRoads?: boolean;
            avoidTraffic?: TrafficAvoidance;
            avoidTurnAroundInstruction?: boolean;
            avoidUnpavedRoads?: boolean;
            bikeProfile?: BikeProfileElectricBikeProfile;
            buildConnections?: boolean;
            buildTerrainProfile?: BuildTerrainProfile;
            carProfile?: CarProfile;
            departureHeading?: DepartureHeading;
            emergencyVehicleExtraFreedomLevels?: number;
            emergencyVehicleMode?: boolean;
            fitnessFactor?: number;
            ignoreRestrictionsOverTrack?: boolean;
            immutableRoadblockAvoidance?: boolean;
            isTrackResume?: boolean;
            maximumDistanceConstraint?: boolean;
            maximumTransferTimeInMinutes?: number;
            maximumWalkDistance?: number;
            minimumTransferTimeInMinutes?: number;
            pathAlgorithm?: RoutePathAlgorithm;
            pathAlgorithmFlavor?: RoutePathAlgorithmFlavor;
            pedestrianProfile?: PedestrianProfile;
            resultDetails?: RouteResultDetails;
            roundTripParameters?: RoundTripParameters;
            routeGroupIdsEarlierLater?: number[];
            routeRanges?: number[];
            routeRangesQuality?: number;
            routeType?: RouteType;
            routeTypePreferences?: Set<RouteTypePreferences>;
            sortingStrategy?: PTSortingStrategy;
            timestamp?: Date | null;
            transportMode?: RouteTransportMode;
            truckProfile?: TruckProfile;
            useBikes?: boolean;
            useWheelchair?: boolean;
        }

        Configuration options for route preferences

        • OptionalaccurateTrackMatch?: boolean

          When true, prefer tighter matching of the computed route to an existing track or path to increase positional accuracy. Default: true

        • OptionalaccurateWaypointsApproach?: boolean

          Enable accurate waypoints approach. Default: false

        • OptionalalgorithmType?: PTAlgorithmType

          Public-transport algorithm selection. Default: PTAlgorithmType.departure

        • OptionalallowOnlineCalculation?: boolean

          Whether online calculation can be used. Default: true

        • OptionalalternativeRoutesBalancedSorting?: boolean

          Balances sorting of alternative routes. Default: true

        • OptionalalternativesSchema?: RouteAlternativesSchema

          Defines the schema for alternative routes. Default: RouteAlternativesSchema.defaultSchema

        • OptionalavoidBikingHillFactor?: number
        • OptionalavoidCarpoolLanes?: boolean

          When true, avoid carpool/HOV lanes. Default: false

        • OptionalavoidFerries?: boolean

          When true, avoid ferry segments. Default: false

        • OptionalavoidMotorways?: boolean

          When true, avoid motorways/highways. Default: false

        • OptionalavoidTollRoads?: boolean

          When true, avoid toll roads. Default: false

        • OptionalavoidTraffic?: TrafficAvoidance

          Level of traffic avoidance. Default: TrafficAvoidance.none

        • OptionalavoidTurnAroundInstruction?: boolean

          When true, prefer routes without turn-around maneuvers. Default: false

        • OptionalavoidUnpavedRoads?: boolean

          When true, avoid unpaved roads. Default: false

        • OptionalbikeProfile?: BikeProfileElectricBikeProfile

          Optional bike-specific routing profile

        • OptionalbuildConnections?: boolean

          When true, construct and include connections. Default: false

        • OptionalbuildTerrainProfile?: BuildTerrainProfile

          Options for terrain profile building. Default: new BuildTerrainProfile()

        • OptionalcarProfile?: CarProfile

          Optional car-specific routing profile

        • OptionaldepartureHeading?: DepartureHeading

          Optional heading constraint at route origin. Default: new DepartureHeading()

        • OptionalemergencyVehicleExtraFreedomLevels?: number

          Extra freedom levels for emergency vehicles. Default: 0

        • OptionalemergencyVehicleMode?: boolean

          When true, enable emergency-vehicle routing. Default: false

        • OptionalfitnessFactor?: number

          Factor that influences routing for bikes and pedestrians. Default: 0.5

        • OptionalignoreRestrictionsOverTrack?: boolean

          When true, ignore map restrictions during path-based calculations. Default: false

        • OptionalimmutableRoadblockAvoidance?: boolean

          If true, fail rather than route through roadblocks. Default: false

        • OptionalisTrackResume?: boolean

          Whether path-based routing resumes from closest point. Default: true

        • OptionalmaximumDistanceConstraint?: boolean

          When true, enforce maximum distance constraints. Default: true

        • OptionalmaximumTransferTimeInMinutes?: number

          Maximum transfer time in minutes. Default: 300

        • OptionalmaximumWalkDistance?: number

          Maximum walking distance in meters. Default: 5000

        • OptionalminimumTransferTimeInMinutes?: number

          Minimum transfer time in minutes. Default: 1

        • OptionalpathAlgorithm?: RoutePathAlgorithm

          Pathfinding algorithm to use. Default: RoutePathAlgorithm.ml

        • OptionalpathAlgorithmFlavor?: RoutePathAlgorithmFlavor

          Variant of path algorithm. Default: RoutePathAlgorithmFlavor.magicLane

        • OptionalpedestrianProfile?: PedestrianProfile

          Pedestrian profile selection. Default: PedestrianProfile.walk

        • OptionalresultDetails?: RouteResultDetails

          Level of detail in returned route. Default: RouteResultDetails.full

        • OptionalroundTripParameters?: RoundTripParameters

          Optional parameters for roundtrip route generation

        • OptionalrouteGroupIdsEarlierLater?: number[]

          IDs for earlier/later route groups. Default: []

        • OptionalrouteRanges?: number[]

          Route range thresholds. Default: []

        • OptionalrouteRangesQuality?: number

          Quality threshold for route ranges. Default: 100

        • OptionalrouteType?: RouteType

          Preferred route type. Default: RouteType.fastest

        • OptionalrouteTypePreferences?: Set<RouteTypePreferences>

          Additional public-transport preferences. Default: {RouteTypePreferences.none}

        • OptionalsortingStrategy?: PTSortingStrategy

          Strategy for sorting public-transport alternatives. Default: PTSortingStrategy.bestTime

        • Optionaltimestamp?: Date | null

          Reference timestamp for routing request. Default: null

        • OptionaltransportMode?: RouteTransportMode

          Primary transport mode. Default: RouteTransportMode.car

        • OptionaltruckProfile?: TruckProfile

          Optional truck-specific routing profile

        • OptionaluseBikes?: boolean

          When true, enable bike-accessible routing. Default: false

        • OptionaluseWheelchair?: boolean

          When true, enable wheelchair-accessible routing. Default: false

      Returns RoutePreferences

      A new RoutePreferences instance with the specified options

      Use fitnessFactor instead