weatherapi 1.1.1
weatherapi: ^1.1.1 copied to clipboard
A plugin for fetching weather forecasting via WeatherAPI.com. Works for both Android and iOS.
WeatherAPI #
This package uses the WeatherAPI.com API to get weather information.
You can retrieve the weather data by supplying either geographical coordinates or the name of a city.
Installation (Flutter) #
Add the package to your Flutter project by following these steps:
- Open your project's
pubspec.yamlfile. - Locate the
dependenciessection in the file. - Add
weatherapias a dependency. You can specify the version, too.
dependencies:
flutter:
sdk: flutter
weatherapi: ^1.1.1
- After adding the dependency, save the
pubspec.yamlfile. - Run
flutter pub getin your terminal or use the relevant option in your IDE to fetch the new dependency.
For help on adding dependencies, view the pubspec documenation.
Permissions #
This package does not require any permissions. However, if you intend to retrieve the device's geolocation, it is recommended to use the geolocator plugin.
Usage #
First you need an API key from WeatherAPI.com, which can be acquired for free here. Then, import the library.
import 'package:weatherapi/weatherapi.dart';
Next, an instance of a WeatherRequest must be created using the obtained API key.
WeatherRequest wr = WeatherRequest('YOUR_API_KEY');
Alternatively, you can also specify a language for the weather results.
WeatherRequest wr = WeatherRequest('YOUR_API_KEY', language: Language.italian);
For all the supported languages, see the Languages section.
Realtime API (current weather) #
For specific documentation on the Realtime API, see the WeatherAPI docs.
Realtime weather API allows a user to get up to date current weather information. The data is returned as a RealtimeWeather object.
The current weather can be queried either through a city name or through a latitude and longitude.
WeatherRequest wr = WeatherRequest('YOUR_API_KEY');
String cityName = 'Parma';
RealtimeWeather rw = await wr.getRealtimeWeatherByCityName(cityName);
WeatherRequest wr = WeatherRequest('YOUR_API_KEY');
double latitude = 44.8;
double longitude = 10.33;
RealtimeWeather rw = await wr.getRealtimeWeatherByLocation(latitude, longitude);
Forecast API #
For specific documentation on the Forecast API, see the WeatherAPI docs.
Forecast weather API allows a user to get up to date current weather forecast. The data is returned as a ForecastWeather object.
The forecast weather can be queried either through a city name or a through latitude and longitude.
WeatherRequest wr = WeatherRequest('YOUR_API_KEY');
String cityName = 'Parma';
ForecastWeather fw = await wr.getForecastWeatherByCityName(cityName);
WeatherRequest wr = WeatherRequest('YOUR_API_KEY');
double latitude = 44.8;
double longitude = 10.33;
ForecastWeather fw = await wr.getForecastWeatherByLocation(latitude, longitude);
Search/Autocomplete API #
For specific documentation on the Search/Autocomplete API, see the WeatherAPI docs.
Search/Autocomplete API allows a user to get a list of locations matching a provided search query. The data is returned as a SearchResults object.
The results can be queried either through a city name or through a latitude and longitude.
WeatherRequest wr = WeatherRequest('YOUR_API_KEY');
String cityName = 'Parma';
SearchResults sr = await wr.getResultsByCityName(cityName);
for (LocationResultData location in sr.locations) { /* ... */ }
WeatherRequest wr = WeatherRequest('YOUR_API_KEY');
double latitude = 44.8;
double longitude = 10.33;
SearchResults sr = await wr.getResultsByLocation(latitude, longitude);
for (LocationResultData location in sr.locations) { /* ... */ }
Exceptions #
An exception will be thrown in the following cases:
- The provided WeatherAPI.com key is invalid.
- A bad response was given by the API.
Languages #
The supported languages are as follows:
arabicbengalibulgarianchineseSimplifiedchineseTraditionalczechdanishdutchfinnishfrenchgermangreekhindihungarianitalianjapanesejavanesekoreanmandarinmarathipolishportuguesepunjabiromanianrussianserbiansinhaleseslovakspanishswedishtamilteluguturkishukrainianurduvietnamesewuShanghainesexiangyueCantonesezulu
The default language is English.