1 个不稳定版本
使用旧的 Rust 2015
0.0.1 | 2018年10月7日 |
---|
#97 in #weather
17KB
376 行
openweather
Openweather 是一个围绕 OpenWeatherMaps API 的非官方薄包装,用于请求当前和历史天气数据
有用链接
如何使用
要请求天气数据,需要为感兴趣的地点定义一个 LocationSpecifier
。指定位置的可用方法包括:
- CityAndCountryName (
{city: ""CITY_NAME", country: ""COUNTRY_CODE"}
) - CityId (
CITY_ID_CODE
) - Coordinates (
{lat: LATITUDE, lon: LONGITUDE}
) - ZipCode (
{zip: ""ZIP_CODE", country: ""COUNTRY_CODE"}
) - BoundingBox (
{lon_left: LEFT_LONGITUDE, lat_bottom: BOTTOM_LATITUDE, lon_right: RIGHT_LONGITUDE, lat_top: TOP_LATITUDE}
) - Circle (
{lat: CENTER_LATITUDE, lon: CENTER_LONGITDE, count: NUMBER_OF_CITIES_OF_INTEREST}
) - CityIds (
[CITY_ID_1, CITY_ID_2]
)
一旦创建了 LocationSpecifier
,就可以使用它查询任何可用的 API 端点
- get_current_weather
- get_5_day_forecast
- get_16_day_forecast
- get_historical_data
- get_accumulated_temperature_data
- 获取累计降水量数据
- 获取当前紫外线指数
- 获取预报紫外线指数
- 获取历史紫外线指数
查询明尼阿波利斯,明尼苏达州当前温度的示例
extern crate openweather;
use openweather::LocationSpecifier;
static API_KEY: &str = "YOUR_API_KEY_HERE";
fn main()
{
let loc = LocationSpecifier::CityAndCountryName{city:"Minneapolis", country:"USA"};
let weather = openweather::get_current_weather(loc, API_KEY).unwrap();
println!("Right now in Minneapolis, MN it is {}K", weather.main.temp);
}
许可证
openweather遵循MIT许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
依赖项
~15–25MB
~441K SLoC