Values.LegSourceContains the calculated route's details for each path between a pair of positions. The number of legs returned corresponds to one fewer than the total number of positions in the request. For example, a route with a departure position and destination position returns one leg with the positions snapped to a nearby road: The StartPosition is the departure position. The EndPosition is the destination position. A route with a waypoint between the departure and destination position returns two legs with the positions snapped to a nearby road: Leg 1: The StartPosition is the departure position . The EndPosition is the waypoint positon. Leg 2: The StartPosition is the waypoint position. The EndPosition is the destination position.
type nonrec t = {startPosition : Position.t option;The starting position of the leg. Follows the format [longitude,latitude]. If the StartPosition isn't located on a road, it's snapped to a nearby road.
*)endPosition : Position.t option;The terminating position of the leg. Follows the format [longitude,latitude]. If the EndPosition isn't located on a road, it's snapped to a nearby road.
*)distance : LegDistanceDouble.t option;The distance between the leg's StartPosition and EndPosition along a calculated route. The default measurement is Kilometers unless the request specifies a DistanceUnit of Miles.
*)durationSeconds : LegDurationSecondsDouble.t option;The estimated travel time between the leg's StartPosition and EndPosition. The travel mode and departure time that you specify in the request determines the calculated time.
*)geometry : LegGeometry.t option;Contains the calculated route's path as a linestring geometry.
*)steps : StepList.t option;Contains a list of steps, which represent subsections of a leg. Each step provides instructions for how to move to the next step in the leg such as the step's start position, end position, travel distance, travel duration, and geometry offset.
*)}val to_value :
t ->
[> `Structure of
(string
* [> `Double of LegDistanceDouble.t
| `List of
[> `Double of Double.t
| `Structure of
(string
* [> `Double of StepDistanceDouble.t
| `Integer of StepGeometryOffsetInteger.t
| `List of [> `Double of Double.t ] list ])
list ]
list
| `Structure of
(string
* [> `List of [> `List of [> `Double of Double.t ] list ] list ])
list ])
list ]