pub struct Route {Show 14 fields
pub route_labels: Vec<i32>,
pub legs: Vec<RouteLeg>,
pub distance_meters: i32,
pub duration: Option<Duration>,
pub static_duration: Option<Duration>,
pub polyline: Option<Polyline>,
pub description: String,
pub warnings: Vec<String>,
pub viewport: Option<Viewport>,
pub travel_advisory: Option<RouteTravelAdvisory>,
pub optimized_intermediate_waypoint_index: Vec<i32>,
pub localized_values: Option<RouteLocalizedValues>,
pub route_token: String,
pub polyline_details: Option<PolylineDetails>,
}
Expand description
Contains a route, which consists of a series of connected road segments that join beginning, ending, and intermediate waypoints.
Fields§
§route_labels: Vec<i32>
Labels for the Route
that are useful to identify specific properties
of the route to compare against others.
legs: Vec<RouteLeg>
A collection of legs (path segments between waypoints) that make up the
route. Each leg corresponds to the trip between two non-via
[Waypoints
][google.maps.routing.v2.Waypoint]. For example, a route with
no intermediate waypoints has only one leg. A route that includes one
non-via
intermediate waypoint has two legs. A route that includes one
via
intermediate waypoint has one leg. The order of the legs matches the
order of waypoints from origin
to intermediates
to destination
.
distance_meters: i32
The travel distance of the route, in meters.
duration: Option<Duration>
The length of time needed to navigate the route. If you set the
routing_preference
to TRAFFIC_UNAWARE
, then this value is the same as
static_duration
. If you set the routing_preference
to either
TRAFFIC_AWARE
or TRAFFIC_AWARE_OPTIMAL
, then this value is calculated
taking traffic conditions into account.
static_duration: Option<Duration>
The duration of travel through the route without taking traffic conditions into consideration.
polyline: Option<Polyline>
The overall route polyline. This polyline is the combined polyline of
all legs
.
description: String
A description of the route.
warnings: Vec<String>
An array of warnings to show when displaying the route.
viewport: Option<Viewport>
The viewport bounding box of the polyline.
travel_advisory: Option<RouteTravelAdvisory>
Additional information about the route.
optimized_intermediate_waypoint_index: Vec<i32>
If you set
[optimize_waypoint_order
][google.maps.routing.v2.ComputeRoutesRequest.optimize_waypoint_order]
to true, this field contains the optimized ordering of intermediate
waypoints. Otherwise, this field is empty.
For example, if you give an input of Origin: LA; Intermediate waypoints:
Dallas, Bangor, Phoenix; Destination: New York; and the optimized
intermediate waypoint order is Phoenix, Dallas, Bangor, then this field
contains the values [2, 0, 1]. The index starts with 0 for the first
intermediate waypoint provided in the input.
localized_values: Option<RouteLocalizedValues>
Text representations of properties of the Route
.
route_token: String
An opaque token that can be passed to Navigation SDK to reconstruct the route during navigation, and, in the event of rerouting, honor the original intention when the route was created. Treat this token as an opaque blob. Don’t compare its value across requests as its value may change even if the service returns the exact same route.
NOTE: Route.route_token
is only available for requests that have set
ComputeRoutesRequest.routing_preference
to TRAFFIC_AWARE
or
TRAFFIC_AWARE_OPTIMAL
. Route.route_token
is not supported for requests
that have Via waypoints.
polyline_details: Option<PolylineDetails>
Contains information about details along the polyline.
Implementations§
Source§impl Route
impl Route
Sourcepub fn route_labels(
&self,
) -> FilterMap<Cloned<Iter<'_, i32>>, fn(_: i32) -> Option<RouteLabel>>
pub fn route_labels( &self, ) -> FilterMap<Cloned<Iter<'_, i32>>, fn(_: i32) -> Option<RouteLabel>>
Returns an iterator which yields the valid enum values contained in route_labels
.
Sourcepub fn push_route_labels(&mut self, value: RouteLabel)
pub fn push_route_labels(&mut self, value: RouteLabel)
Appends the provided enum value to route_labels
.
Trait Implementations§
Source§impl Message for Route
impl Message for Route
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.impl StructuralPartialEq for Route
Auto Trait Implementations§
impl Freeze for Route
impl RefUnwindSafe for Route
impl Send for Route
impl Sync for Route
impl Unpin for Route
impl UnwindSafe for Route
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request