pub struct Openstreetmap { /* private fields */ }
Expand description
An instance of the Openstreetmap geocoding service
Implementations§
Source§impl Openstreetmap
impl Openstreetmap
Sourcepub fn new_with_endpoint(endpoint: String) -> Self
pub fn new_with_endpoint(endpoint: String) -> Self
Create a new Openstreetmap geocoding instance with a custom endpoint.
Endpoint should include a trailing slash (i.e. “https://nominatim.openstreetmap.org/”)
Sourcepub async fn forward_full<T>(
&self,
params: &OpenstreetmapParams<'_, T>,
) -> Result<OpenstreetmapResponse<T>, GeocodingError>
pub async fn forward_full<T>( &self, params: &OpenstreetmapParams<'_, T>, ) -> Result<OpenstreetmapResponse<T>, GeocodingError>
A forward-geocoding lookup of an address, returning a full detailed response
Accepts an OpenstreetmapParams
struct for specifying
options, including whether to include address details in the response and whether to filter
by a bounding box.
Please see the documentation for details.
This method passes the format
parameter to the API.
§Examples
use geocoding_async::{Openstreetmap, InputBounds, Point};
use geocoding_async::openstreetmap::{OpenstreetmapParams, OpenstreetmapResponse};
let osm = Openstreetmap::new();
let viewbox = InputBounds::new(
(-0.13806939125061035, 51.51989264641164),
(-0.13427138328552246, 51.52319711775629),
);
let params = OpenstreetmapParams::new(&"UCL Centre for Advanced Spatial Analysis")
.with_addressdetails(true)
.with_viewbox(&viewbox)
.build();
let res: OpenstreetmapResponse<f64> = osm.forward_full(¶ms).await.unwrap();
let result = res.features[0].properties.clone();
assert!(result.display_name.contains("Tottenham Court Road"));
Trait Implementations§
Source§impl Default for Openstreetmap
impl Default for Openstreetmap
Source§impl<T> Forward<T> for Openstreetmap
impl<T> Forward<T> for Openstreetmap
Source§async fn forward(&self, place: &str) -> Result<Vec<Point<T>>, GeocodingError>
async fn forward(&self, place: &str) -> Result<Vec<Point<T>>, GeocodingError>
A forward-geocoding lookup of an address. Please see the documentation for details.
This method passes the format
parameter to the API.
Source§impl<T> Reverse<T> for Openstreetmap
impl<T> Reverse<T> for Openstreetmap
Auto Trait Implementations§
impl Freeze for Openstreetmap
impl !RefUnwindSafe for Openstreetmap
impl Send for Openstreetmap
impl Sync for Openstreetmap
impl Unpin for Openstreetmap
impl !UnwindSafe for Openstreetmap
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
Mutably borrows from an owned value. Read more