Struct google_maps::roads::nearest_roads::request::Request

source ·
pub struct Request<'a> { /* private fields */ }
Expand description

Look at this Request struct for documentation on how to build your Snap To Roads query. The methods implemented for this struct are what’s used to build your request.

Implementations§

source§

impl<'a> Request<'a>

source

pub fn build(&mut self) -> &'a mut Request<'_>

Builds the query string for the Google Maps Nearest Roads request based on the input provided by the client.

§Arguments

This method accepts no arguments.

source§

impl<'a> Request<'a>

source

pub async fn execute( &'a mut self ) -> Result<NearestRoadsResponse, GoogleMapsError>

Executes the query you’ve built.

§Description

My adventures in Rust became messy so I had to make this method. It wraps the .validate()?.build()?.get()? chain needed at the end of the builder pattern.

§Arguments

This method accepts no arguments.

source§

impl<'a> Request<'a>

source

pub async fn get(&mut self) -> Result<NearestRoadsResponse, GoogleMapsError>

Performs the HTTP get request and returns the response to the caller.

§Arguments

This method accepts no arguments.

source§

impl<'a> Request<'a>

source

pub fn new(client: &GoogleMapsClient, points: Vec<LatLng>) -> Request<'_>

Initializes the builder pattern for a Nearest Roads query with the required parameters.

Note: The snapping algorithm works best for points that are not too far apart. If you observe odd snapping behavior, try creating paths that have points closer together. To ensure the best snap-to-road quality, you should aim to provide paths on which consecutive pairs of points are within 300m of each other. This will also help in handling any isolated, long jumps between consecutive points caused by GPS signal loss, or noise.

§Arguments
  • client ‧ Your application’s Google Maps API client struct.

  • points ‧ The points to be snapped. The points parameter accepts a list of latitude/longitude pairs.

source§

impl<'a> Request<'a>

source

pub fn query_url(&'a mut self) -> String

Returns the URL query string that represents the query you’ve built.

§Description

Returns the query string that will be sent to the Google Maps API. It is the result of the builder pattern. This method could be useful for records or logging. It could also be used for passing to your HTTP client of choice and executing the HTTP GET request yourself.

§Arguments

This method accepts no arguments.

Trait Implementations§

source§

impl<'a> Debug for Request<'a>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Request<'a>

§

impl<'a> !RefUnwindSafe for Request<'a>

§

impl<'a> Send for Request<'a>

§

impl<'a> Sync for Request<'a>

§

impl<'a> Unpin for Request<'a>

§

impl<'a> !UnwindSafe for Request<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more