1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
use crate::{geocoding::forward::ForwardRequest, region::Region};
impl<'a> ForwardRequest<'a> {
/// Specifies the region bias.
///
/// ## Arguments:
///
/// * `region` ‧ The region to prefer in search results. This parameter will
/// only influence, not fully restrict, results from the geocoder.
///
/// ## Description
///
/// [Region
/// Biasing](https://developers.google.com/maps/documentation/geocoding/intro#RegionCodes)
///
/// In a Geocoding request, you can instruct the Geocoding service to return
/// results biased to a particular region by using the `region` parameter.
///
/// Geocoding results can be biased for every domain in which the main
/// Google Maps application is officially launched. Note that biasing only
/// _prefers_ results for a specific domain; if more relevant results exist
/// outside of this domain, they may be included.
///
/// For example, a directions request for "Toledo" to "Madrid" returns
/// appropriate results when `region` is set to `Region::Spain` and "Toledo"
/// is then interpreted as the Spanish city. A directions request for
/// "Toledo" to "Madrid" sent without a `region` parameter does not return
/// results, because "Toledo" is interpreted as the city in Ohio and not
/// Spain.
///
/// ## Example:
///
/// * Bias region to Canada:
/// ```rust
/// .with_region(Region::Canada)
/// ```
pub fn with_region(
&'a mut self,
region: Region
) -> &'a mut ForwardRequest {
// Set region in ForwardRequest struct.
self.region = Some(region);
// Return modified ForwardRequest struct to caller.
self
} // fn
} // impl