Home > @magiclane/maps-sdk > RoutePreferences > create

RoutePreferences.create() method

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.

Signature:

static create(options?: {
        accurateTrackMatch?: boolean;
        algorithmType?: PTAlgorithmType;
        allowOnlineCalculation?: boolean;
        alternativeRoutesBalancedSorting?: boolean;
        alternativesSchema?: RouteAlternativesSchema;
        avoidBikingHillFactor?: number;
        fitnessFactor?: 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;
        ignoreRestrictionsOverTrack?: boolean;
        maximumDistanceConstraint?: boolean;
        maximumTransferTimeInMinutes?: number;
        maximumWalkDistance?: number;
        minimumTransferTimeInMinutes?: number;
        pathAlgorithm?: RoutePathAlgorithm;
        pathAlgorithmFlavor?: RoutePathAlgorithmFlavor;
        pedestrianProfile?: PedestrianProfile;
        resultDetails?: RouteResultDetails;
        routeGroupIdsEarlierLater?: number[];
        routeRanges?: number[];
        routeRangesQuality?: number;
        routeType?: RouteType;
        routeTypePreferences?: Set<RouteTypePreferences>;
        sortingStrategy?: PTSortingStrategy;
        timestamp?: Date | null;
        transportMode?: RouteTransportMode;
        truckProfile?: TruckProfile;
        useBikes?: boolean;
        useWheelchair?: boolean;
        isTrackResume?: boolean;
        immutableRoadblockAvoidance?: boolean;
        accurateWaypointsApproach?: boolean;
        roundTripParameters?: RoundTripParameters;
    }): RoutePreferences;

Parameters

Parameter

Type

Description

options

{ accurateTrackMatch?: boolean; algorithmType?: PTAlgorithmType; allowOnlineCalculation?: boolean; alternativeRoutesBalancedSorting?: boolean; alternativesSchema?: RouteAlternativesSchema; avoidBikingHillFactor?: number; fitnessFactor?: 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; ignoreRestrictionsOverTrack?: boolean; maximumDistanceConstraint?: boolean; maximumTransferTimeInMinutes?: number; maximumWalkDistance?: number; minimumTransferTimeInMinutes?: number; pathAlgorithm?: RoutePathAlgorithm; pathAlgorithmFlavor?: RoutePathAlgorithmFlavor; pedestrianProfile?: PedestrianProfile; resultDetails?: RouteResultDetails; routeGroupIdsEarlierLater?: number[]; routeRanges?: number[]; routeRangesQuality?: number; routeType?: RouteType; routeTypePreferences?: Set<RouteTypePreferences>; sortingStrategy?: PTSortingStrategy; timestamp?: Date | null; transportMode?: RouteTransportMode; truckProfile?: TruckProfile; useBikes?: boolean; useWheelchair?: boolean; isTrackResume?: boolean; immutableRoadblockAvoidance?: boolean; accurateWaypointsApproach?: boolean; roundTripParameters?: RoundTripParameters; }

(Optional) Configuration options for route preferences

options properties:

  • Optional accurateTrackMatch?: boolean

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

  • Optional algorithmType?: PTAlgorithmType

    Public-transport algorithm selection. Default: `PTAlgorithmType.departure`

  • Optional allowOnlineCalculation?: boolean

    Whether online calculation can be used. Default: `true`

  • Optional alternativeRoutesBalancedSorting?: boolean

    Balances sorting of alternative routes. Default: `true`

  • Optional alternativesSchema?: RouteAlternativesSchema

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

  • Optional avoidBikingHillFactor?: number

    will be removed in the future , use `fitnessFactor` instead.

  • Optional fitnessFactor?: number

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

  • Optional avoidCarpoolLanes?: boolean

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

  • Optional avoidFerries?: boolean

    When true, avoid ferry segments. Default: `false`

  • Optional avoidMotorways?: boolean

    When true, avoid motorways/highways. Default: `false`

  • Optional avoidTollRoads?: boolean

    When true, avoid toll roads. Default: `false`

  • Optional avoidTraffic?: TrafficAvoidance

    Level of traffic avoidance. Default: `TrafficAvoidance.none`

  • Optional avoidTurnAroundInstruction?: boolean

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

  • Optional avoidUnpavedRoads?: boolean

    When true, avoid unpaved roads. Default: `false`

  • Optional bikeProfile?: BikeProfileElectricBikeProfile

    Optional bike-specific routing profile

  • Optional buildConnections?: boolean

    When true, construct and include connections. Default: `false`

  • Optional buildTerrainProfile?: BuildTerrainProfile

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

  • Optional carProfile?: CarProfile

    Optional car-specific routing profile

  • Optional departureHeading?: DepartureHeading

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

  • Optional emergencyVehicleExtraFreedomLevels?: number

    Extra freedom levels for emergency vehicles. Default: `0`

  • Optional emergencyVehicleMode?: boolean

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

  • Optional ignoreRestrictionsOverTrack?: boolean

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

  • Optional maximumDistanceConstraint?: boolean

    When true, enforce maximum distance constraints. Default: `true`

  • Optional maximumTransferTimeInMinutes?: number

    Maximum transfer time in minutes. Default: `300`

  • Optional maximumWalkDistance?: number

    Maximum walking distance in meters. Default: `5000`

  • Optional minimumTransferTimeInMinutes?: number

    Minimum transfer time in minutes. Default: `1`

  • Optional pathAlgorithm?: RoutePathAlgorithm

    Pathfinding algorithm to use. Default: `RoutePathAlgorithm.ml`

  • Optional pathAlgorithmFlavor?: RoutePathAlgorithmFlavor

    Variant of path algorithm. Default: `RoutePathAlgorithmFlavor.magicLane`

  • Optional pedestrianProfile?: PedestrianProfile

    Pedestrian profile selection. Default: `PedestrianProfile.walk`

  • Optional resultDetails?: RouteResultDetails

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

  • Optional routeGroupIdsEarlierLater?: number[]

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

  • Optional routeRanges?: number[]

    Route range thresholds. Default: `[]`

  • Optional routeRangesQuality?: number

    Quality threshold for route ranges. Default: `100`

  • Optional routeType?: RouteType

    Preferred route type. Default: `RouteType.fastest`

  • Optional routeTypePreferences?: Set<RouteTypePreferences>

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

  • Optional sortingStrategy?: PTSortingStrategy

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

  • Optional timestamp?: Date | null

    Reference timestamp for routing request. Default: `null`

  • Optional transportMode?: RouteTransportMode

    Primary transport mode. Default: `RouteTransportMode.car`

  • Optional truckProfile?: TruckProfile

    Optional truck-specific routing profile

  • Optional useBikes?: boolean

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

  • Optional useWheelchair?: boolean

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

  • Optional isTrackResume?: boolean

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

  • Optional immutableRoadblockAvoidance?: boolean

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

  • Optional accurateWaypointsApproach?: boolean

    Enable accurate waypoints approach. Default: `false`

  • Optional roundTripParameters?: RoundTripParameters

    Optional parameters for roundtrip route generation

Returns:

RoutePreferences

A new RoutePreferences instance with the specified options