A Typesafe OSM Nominatim API Wrapper written in Swift.
Default arguments:
let nominatim = Nominatim()
Optianally you can specify a custom Nominatim URL and/or disable caching:
let nominatim = Nominatim(nominatimURL: URL(string: "https://nominatim.example.com")!, enableCache: false)
Async lookup by location with all params:
nominatim.reverse(
params: ReverseParams(
query: .coordinate(latitude: 47.263208, longitude: 11.400494),
addressdetails: true,
extratags: false,
namedetails: false,
acceptLanguage: "de",
zoom: 15
)
) { (result, error) in
print(result.name, result.address.road, result.address.houseNumber) // Hauptbahnhof Südtiroler Platz 5
}
Sync lookup by location with minimum params:
let result = try nominatim.reverse(
params: ReverseParams(
query: .coordinate(latitude: 47.263208, longitude: 11.400494)
)
)
print(result.name, result.address.road, result.address.houseNumber) // Hauptbahnhof Südtiroler Platz 5
Sync lookup by osm id with minimum params:
let result = try nominatim.reverse(
params: ReverseParams(
query: .model(osmType: .way, osmID: "25757253")
)
)
print(result.name, result.address.road, result.address.houseNumber) // Hauptbahnhof Südtiroler Platz 5