OpenWeatherMapKit 0.2.0

OpenWeatherMapKit 0.2.0

Anver Bogatov 维护。



  • Anver Bogatov

Build Status codecov Badge w/ Version || Swift Badge w/ Platform

OpenWeatherMapKit

OpenWeatherMapKit 是一个用 Swift 编写的简单框架,它为您提供了访问 OpenWeatherMap 服务 API 所有功能的权限,可以直接在您的 iOS / macOS / watchOS/ tvOS 应用中使用。

如何安装

🥥 Cocoapods

只需将以下行添加到您的 Podfile 中

pod 'OpenWeatherMapKit'

然后在项目根目录下从终端运行以下命令

pod update

如何使用

先决条件

为了让 OpenWeatherMapKit 正常工作,必须使用您的 API 密钥初始化。

您可以使用以下方法来初始化 OpenWeatherMapKit。只需将 [YOUR API TOKEN] 替换为您自己的 API 密钥,您可以从 https://home.openweathermap.org/api_keys 获取

 OpenWeatherMapKit.initialize(withAppId: "[YOUR API TOKEN]")

使用方法

使用OpenWeatherMapKit类来检索天气数据。它是一个单例,可以通过instance变量访问其实例。

🌇按城市获取天气

您可以通过城市名称检索特定城市的天气数据

OpenWeatherMapKit.instance.currentWeather(forCity: "Samara") { (forecast, error) in
    ...
}

或通过城市名称和国家代码检索

OpenWeatherMapKit.instance.currentWeather(forCity: "Samara", withCountryCode: "ru") { (forecast, error) in
    ...
}
🌍按地理坐标获取天气

您可以通过坐标检索特定地理位置的天气数据

OpenWeatherMapKit.instance.currentWeather(forCoordiante: (latitude: 53.2610313, longitude: 50.0579958)) { (forecast, error) in
    ...
}
📆获取未来5天的天气预报

您可以通过城市名称和国家代码检索特定城市的未来5天的天气数据

OpenWeatherMapKit.instance.weatherForecastForFiveDays(forCity: "Samara", withCountryCode: "ru") { (forecast, error) in
...
}

或通过坐标检索特定地理位置的数据

OpenWeatherMapKit.instance.weatherForecastForFiveDays(forCoordiante: (latitude: 53.2610313, longitude: 50.0579958)) { (forecast, error) in
...
}
🌤WeatherItem

获取当前天气数据的所有操作都将返回特殊对象WeatherItem类型。WeatherItem是一个简单的结构体,包含了温度数据。以下是您可以访问的字段

/// Weather item's temperature values in Kelvin
public let kelvin: (currentTemp: Double, maxTemp: Double, minTemp: Double)
/// Weather item's temperature values in Celsius
public let celsius: (currentTemp: Double, maxTemp: Double, minTemp: Double)
/// Weather item's temperature values in Fahrenheit
public let fahrenheit: (currentTemp: Double, maxTemp: Double, minTemp: Double)

例如,如果您想获取摄氏度当前天气信息,可以使用以下语句实现

weatherItem.celsius.currentTemp

WeatherItem可以从ForecastItem的实例访问。以下是一个例子

forecast.main.celsius.currentTemp

🛣开发路线图

请查看项目开发路线图如下

版本 预计时间 功能
v0.1   2018年1月 按城市和地理坐标提供当前天气预测,以及支持不同的单位(摄氏度、开尔文、华氏度)
v0.2 2018年4月 按城市和地理坐标提供5天/3小时的天气预报。
v0.3 2018年夏季 按城市和地理坐标提供16天的每日天气预报。

⚠️将逐步引入支持其他平台(如watchOS、macOS和tvOS)