# 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.