Expand description
§Rust API client for Valhalla
This crate contains the types and functions for interacting with the Valhalla API.
These APIs are implemented:
- Turn-by-Turn Route
- Optimized Route
- Time-Distance Matrix
- Isochrone & Isodistance
- Map Matching
- Valhalla locate
- Elevation
- Expansion
- Status
§Features and usage
We provide two clients:
- async:
valhalla_client::Valhalla
and - sync:
valhalla_client::blocking::Valhalla
using the tokio runtime internally to call the async version
The second one is behind the (default-enabled) blocking
feature, so if you don’t need it, you can disable it via default-features = false
.
We also offer the (default-enabled) gpx
feature.
This enables reading and writing GPX (GPS Exchange Format) files for APIs where we have the needed context.
§Example
// an async version is available at valhalla_client::Valhalla
use valhalla_client::blocking::Valhalla;
use valhalla_client::route::{Location, Manifest};
use valhalla_client::costing::{Costing};
let valhalla = Valhalla::default();
let amsterdam = Location::new(4.9041, 52.3676);
let utrecht = Location::new(5.1214, 52.0907);
let manifest = Manifest::builder()
.locations([amsterdam, utrecht])
.costing(Costing::Motorcycle(Default::default()));
let response = valhalla.route(manifest).unwrap();
println!("{:#?}", response);
// If the gpx feature is enabled, you can convert the response to a gpx::Gpx object
// let gpx = response.trip.into();
For further examples, please see the different clients:
- async:
valhalla_client::Valhalla
and - sync:
valhalla_client::blocking::Valhalla
Modules§
- blocking
- synchronous (“blocking”) client implementation
- costing
costing
model-configuration for different transport modes- elevation
- Models connected to the
elevation
-api - matrix
- Models connected to the Time-distance
matrix
-api - route
- Models connected to the Turn-by-turn
route
ing-api - shapes
- Shape decoding support for
route
andelevation
- status
- Models connected to the healthcheck via the
status
-API
Structs§
- Coded
Description - A description with a code
- Date
Time - The local date and time at the location
- Remote
Error - An error response from the Valhalla API
- Valhalla
- async Valhalla client
Enums§
Type Aliases§
- Coordinate
- A longitude, latitude coordinate in degrees