@stadiamaps/api
Version:
Stadia Maps Geospatial APIs
255 lines • 8.97 kB
TypeScript
import { ManeuverSign } from './ManeuverSign';
import { TravelMode } from './TravelMode';
/**
*
* @export
* @interface RouteManeuver
*/
export interface RouteManeuver {
/**
* The type of route maneuver.
*
* | Code | Type |
* |------|-------------------------------------|
* | 0 | None |
* | 1 | Start |
* | 2 | Start right |
* | 3 | Start left |
* | 4 | Destination |
* | 5 | Destination right |
* | 6 | Destination left |
* | 7 | Becomes |
* | 8 | Continue |
* | 9 | Slight right |
* | 10 | Right |
* | 11 | Sharp right |
* | 12 | U-turn right |
* | 13 | U-turn left |
* | 14 | Sharp left |
* | 15 | Left |
* | 16 | Slight left |
* | 17 | Ramp straight |
* | 18 | Ramp right |
* | 19 | Ramp left |
* | 20 | Exit right |
* | 21 | Exit left |
* | 22 | Stay straight |
* | 23 | Stay right |
* | 24 | Stay left |
* | 25 | Merge |
* | 26 | Enter roundabout |
* | 27 | Exit roundabout |
* | 28 | Enter ferry |
* | 29 | Exit ferry |
* | 30 | Transit |
* | 31 | Transit transfer |
* | 32 | Transit remain on |
* | 33 | Transit connection start |
* | 34 | Transit connection transfer |
* | 35 | Transit connection destination |
* | 36 | Post-transit connection destination |
* | 37 | Merge right |
* | 38 | Merge left |
*
* @type {number}
* @memberof RouteManeuver
*/
type: number;
/**
* The written maneuver instruction.
* @type {string}
* @memberof RouteManeuver
*/
instruction: string;
/**
* Text suitable for use as a verbal navigation alert.
* @type {string}
* @memberof RouteManeuver
*/
verbalTransitionAlertInstruction?: string;
/**
* Text suitable for use as a verbal navigation alert immediately prior to the maneuver transition.
* @type {string}
* @memberof RouteManeuver
*/
verbalPreTransitionInstruction?: string;
/**
* Text suitable for use as a verbal navigation alert immediately after to the maneuver transition.
* @type {string}
* @memberof RouteManeuver
*/
verbalPostTransitionInstruction?: string;
/**
* A list of street names that are consistent along the entire maneuver.
* @type {Array<string>}
* @memberof RouteManeuver
*/
streetNames?: Array<string>;
/**
* A list of street names at the beginning of the maneuver, if they are different from the names at the end.
* @type {Array<string>}
* @memberof RouteManeuver
*/
beginStreetNames?: Array<string>;
/**
* The estimated time to complete the entire maneuver, in seconds.
* @type {number}
* @memberof RouteManeuver
*/
time: number;
/**
* The length of the maneuver, in `units`.
* @type {number}
* @memberof RouteManeuver
*/
length: number;
/**
* The index into the list of shape points for the start of the maneuver.
* @type {number}
* @memberof RouteManeuver
*/
beginShapeIndex: number;
/**
* The index into the list of shape points for the end of the maneuver.
* @type {number}
* @memberof RouteManeuver
*/
endShapeIndex: number;
/**
* True any portion of the maneuver is subject to a toll.
* @type {boolean}
* @memberof RouteManeuver
*/
toll?: boolean;
/**
* True any portion of the maneuver is unpaved or has portions of rough pavement.
* @type {boolean}
* @memberof RouteManeuver
*/
rough?: boolean;
/**
* True if a gate is encountered in the course of this maneuver.
* @type {boolean}
* @memberof RouteManeuver
*/
gate?: boolean;
/**
* True if a ferry is encountered in the course of this maneuver.
* @type {boolean}
* @memberof RouteManeuver
*/
ferry?: boolean;
/**
*
* @type {ManeuverSign}
* @memberof RouteManeuver
*/
sign?: ManeuverSign;
/**
* The exit number of the roundabout to take after entering.
* @type {number}
* @memberof RouteManeuver
*/
roundaboutExitCount?: number;
/**
* The written departure time instruction (typically used in a transit maneuver).
* @type {number}
* @memberof RouteManeuver
*/
departInstruction?: number;
/**
* Text suitable for use as a verbal departure time instruction (typically used in a transit maneuver).
* @type {number}
* @memberof RouteManeuver
*/
verbalDepartInstruction?: number;
/**
* The written arrival time instruction (typically used in a transit maneuver).
* @type {number}
* @memberof RouteManeuver
*/
arriveInstruction?: number;
/**
* Text suitable for use as a verbal departure time instruction (typically used in a transit maneuver).
* @type {number}
* @memberof RouteManeuver
*/
verbalArriveInstruction?: number;
/**
* Public transit info (not currently supported).
* @type {{ [key: string]: any; }}
* @memberof RouteManeuver
*/
transitInfo?: {
[key: string]: any;
};
/**
* True if the `verbal_pre_transition_instruction` has been appended with the verbal instruction of the next maneuver.
* @type {boolean}
* @memberof RouteManeuver
*/
verbalMultiCue?: boolean;
/**
*
* @type {TravelMode}
* @memberof RouteManeuver
*/
travelMode: TravelMode;
/**
* The type of travel over the maneuver. This can be thought of as a specialization of the travel mode. For example, vehicular travel may be via car, motorcycle, etc.; and travel via bicycle may be via a road bike, mountain bike, etc.
* @type {string}
* @memberof RouteManeuver
*/
travelType: RouteManeuverTravelTypeEnum;
/**
* Describes a bike share action when using bikeshare routing.
* @type {string}
* @memberof RouteManeuver
*/
bssManeuverType?: RouteManeuverBssManeuverTypeEnum;
}
/**
* @export
*/
export declare const RouteManeuverTravelTypeEnum: {
readonly Car: "car";
readonly Motorcycle: "motorcycle";
readonly Bus: "bus";
readonly TractorTrailer: "tractor_trailer";
readonly MotorScooter: "motor_scooter";
readonly Foot: "foot";
readonly Wheelchair: "wheelchair";
readonly Segway: "segway";
readonly Road: "road";
readonly Cross: "cross";
readonly Hybrid: "hybrid";
readonly Mountain: "mountain";
readonly Tram: "tram";
readonly Metro: "metro";
readonly Rail: "rail";
readonly Ferry: "ferry";
readonly CableCar: "cable_car";
readonly Gondola: "gondola";
readonly Funicular: "funicular";
readonly GolfCart: "golf_cart";
readonly LowSpeedVehicle: "low_speed_vehicle";
};
export type RouteManeuverTravelTypeEnum = (typeof RouteManeuverTravelTypeEnum)[keyof typeof RouteManeuverTravelTypeEnum];
/**
* @export
*/
export declare const RouteManeuverBssManeuverTypeEnum: {
readonly NoneAction: "NoneAction";
readonly RentBikeAtBikeShare: "RentBikeAtBikeShare";
readonly ReturnBikeAtBikeShare: "ReturnBikeAtBikeShare";
};
export type RouteManeuverBssManeuverTypeEnum = (typeof RouteManeuverBssManeuverTypeEnum)[keyof typeof RouteManeuverBssManeuverTypeEnum];
/**
* Check if a given object implements the RouteManeuver interface.
*/
export declare function instanceOfRouteManeuver(value: object): value is RouteManeuver;
export declare function RouteManeuverFromJSON(json: any): RouteManeuver;
export declare function RouteManeuverFromJSONTyped(json: any, ignoreDiscriminator: boolean): RouteManeuver;
export declare function RouteManeuverToJSON(json: any): RouteManeuver;
export declare function RouteManeuverToJSONTyped(value?: RouteManeuver | null, ignoreDiscriminator?: boolean): any;
//# sourceMappingURL=RouteManeuver.d.ts.map