#osm #geolocation #api #api-bindings #nominatim #web-api

nominatim-rs

为 Rust 提供对 Nominatim 网页 API 的绑定

5 个不稳定版本

0.3.0 2023年6月8日
0.2.2 2021年12月4日
0.2.1 2021年11月1日
0.2.0 2021年11月1日
0.1.0 2021年10月14日

#17 in #geolocation

每月 29 次下载

MIT/Apache

36KB
753

Nominatim-rs

Nominatim-rs 是 Nominatim API 的 Rust 绑定。它提供反向地理编码(从坐标查找地点)、查找和搜索功能。

请遵守 Nominatim 的 服务条款

示例

此示例搜索位置并打印出 JSON

#[tokio::main]
async fn main() {
    let client = nominatim_rs::Client::new(
        reqwest::Url::parse("https://nominatim.openstreetmap.org/").unwrap(),
        "nominatim-rust/0.1.0 test-suite".to_string(),
        Some("john_t@mailo.com".to_string()),
    )
    .unwrap();

    let search = client
        .search(
            nominatim_rs::SearchQueryBuilder::default()
                .address_details(true)
                .location_query(nominatim_rs::LocationQuery::Generalised {
                    q: "bakery in berlin wedding".to_string(),
                })
                .limit(Some(1))
                .build()
                .unwrap(),
        )
        .await
        .unwrap();

    println!("{}", serde_json::to_string_pretty(&search).unwrap());
}

依赖关系

~4–19MB
~253K SLoC