pub struct GeoAdmin { /* private fields */ }
Expand description
An instance of the GeoAdmin geocoding service
Implementations§
Source§impl GeoAdmin
impl GeoAdmin
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new GeoAdmin geocoding instance using the default endpoint and sr
Sourcepub fn with_endpoint(self, endpoint: &str) -> Self
pub fn with_endpoint(self, endpoint: &str) -> Self
Set a custom endpoint of a GeoAdmin geocoding instance
Endpoint should include a trailing slash (i.e. “https://api3.geo.admin.ch/rest/services/api/”)
Sourcepub fn with_sr(self, sr: &str) -> Self
pub fn with_sr(self, sr: &str) -> Self
Set a custom sr of a GeoAdmin geocoding instance
Supported values: 21781 (LV03), 2056 (LV95), 4326 (WGS84) and 3857 (Web Pseudo-Mercator)
Sourcepub async fn forward_full<T>(
&self,
params: &GeoAdminParams<'_, T>,
) -> Result<GeoAdminForwardResponse<T>, GeocodingError>
pub async fn forward_full<T>( &self, params: &GeoAdminParams<'_, T>, ) -> Result<GeoAdminForwardResponse<T>, GeocodingError>
A forward-geocoding search of a location, returning a full detailed response
Accepts an GeoAdminParams
struct for specifying
options, including what origins to 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::{GeoAdmin, InputBounds, Point};
use geocoding_async::geoadmin::{GeoAdminParams, GeoAdminForwardResponse};
let geoadmin = GeoAdmin::new();
let bbox = InputBounds::new(
(7.4513398, 46.92792859),
(7.4513662, 46.9279467),
);
let params = GeoAdminParams::new(&"Seftigenstrasse Bern")
.with_origins("address")
.with_bbox(&bbox)
.build();
let res: GeoAdminForwardResponse<f64> = geoadmin.forward_full(¶ms).await.unwrap();
let result = &res.features[0];
assert_eq!(
result.properties.label,
"Seftigenstrasse 264 <b>3084 Wabern</b>",
);
Trait Implementations§
Source§impl<T> Forward<T> for GeoAdmin
impl<T> Forward<T> for GeoAdmin
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 type
, origins
, limit
and sr
parameter to the API.