```rust use crate::{ engineconfig::engineconfigbuilder::EngineConfigBuilder, nearestapi::nearestrequestbuilder::NearestRequestBuilder, Status, };
fn main() {
let osrmresult = EngineConfigBuilder::new("
match osrm_result {
Ok(osrm) => {
let request = NearestRequestBuilder::new(57.804404, 13.448601)
.set_number_of_results(3)
.build();
match request {
Ok(mut nearest_request) => {
let (status, nearest_result) = nearest_request.run(&osrm);
if status == Status::Ok {
if nearest_result.code.is_some() {
println!("code: {}", nearest_result.code.unwrap());
}
if nearest_result.waypoints.is_some() {
for waypoint in nearest_result.waypoints.unwrap() {
println!(
"lat: {}, lon: {}, name: {}",
waypoint.location[1], waypoint.location[0], waypoint.name
);
}
}
} else {
if nearest_result.code.is_some() {
println!("code: {}", nearest_result.code.unwrap());
}
if nearest_result.message.is_some() {
println!("message: {}", nearest_result.message.unwrap());
}
}
}
Err(request_error) => {
eprintln!("{request_error}");
}
}
}
Err(osrm_error) => {
eprintln!("{osrm_error}");
}
}
}
```