Expand description
§OSM Overpass
A library to query OSM Overpass servers
§Example
§Async example
let url = String::from("https://overpass-api.de/api/interpreter");
let query = "
[out:json][timeout:30];
node(3662847634);
// print results
out;
";
let api = api::OverpassAPI::new(url);
let res = api.query(String::from(query)).await;
...
§Sync example
...
let res = api.query_sync(String::from(query));
§Using query response
...
let unwrapped = res.unwrap();
//unwrapped is iterable, so
for nwr in unwrapped {
match nwr {
NWR::Node(n) => ...,
NWR::Way(w) => ...,
NWR::Relation(r) => ...
}
}
§Notes
Queries must return a JSON result. Put [out:json]
in the first line of
the query to do this.