Awesome
apiNG-plugin-openweathermap is a OpenWeatherMap API plugin for apiNG.
Information
- Supported apiNG models:
weather
- This plugin supports the
get-native-data
parameter - This plugin needs an api key :warning:
- Used promise library: angular-openweathermap-api-factory (included in distribution files)
Documentation
- INSTALLATION
- Get file
- Include file
- Add dependency
- Add plugin
- API KEY
- Generate your
api_key
- Insert your
api_key
intoaping-config.js
- Generate your
- USAGE
- Models
- Requests
- Rate limit
1. INSTALLATION
I. Get file
Install via either bower, npm, CDN (jsDelivr) or downloaded files:
bower install apiNG-plugin-openweathermap --save
npm install aping-plugin-openweathermap --save
- use CDN file
- download apiNG-plugin-openweathermap.zip
II. Include file
Include aping-plugin-openweathermap.min.js
in your apiNG application
<!-- when using bower -->
<script src="bower_components/apiNG-plugin-openweathermap/dist/aping-plugin-openweathermap.min.js"></script>
<!-- when using npm -->
<script src="node_modules/aping-plugin-openweathermap/dist/aping-plugin-openweathermap.min.js"></script>
<!-- when using cdn file -->
<script src="//cdn.jsdelivr.net/aping.plugin-openweathermap/latest/aping-plugin-openweathermap.min.js"></script>
<!-- when using downloaded files -->
<script src="aping-plugin-openweathermap.min.js"></script>
III. Add dependency
Add the module jtt_aping_openweathermap
as a dependency to your app module:
angular.module('app', ['jtt_aping', 'jtt_aping_openweathermap']);
IV. Add the plugin
Add the plugin's directive aping-openweathermap="[]"
to your apiNG directive and configure your requests
<aping
template-url="templates/weather.html"
model="weather"
aping-openweathermap="[{'cityName':'munich'}]>
</aping>
2. API KEY
I. Get your api_key
- Login on openweathermap.org
- Open home.openweathermap.org
- There is your
api_key
- There is your
II. Insert your api_key
into aping-config.js
Create and open js/apiNG/aping-config.js
in your application folder. It should be look like this snippet:
angular.module('jtt_aping').config(['$provide', function ($provide) {
$provide.value("apingDefaultSettings", {
apingApiKeys : {
'openweathermap': [
{'api_key':'<YOUR_OPENWEATHERMAP_API_KEY>'}
],
//...
}
});
}]);
:warning: Replace <YOUR_OPENWEATHERMAP_API_KEY>
with your api_key
3. USAGE
I. Models
Supported apiNG models
model | content |
---|---|
weather | weather data |
II. Requests
Every apiNG plugin expects an array of requests as html attribute.
Requests by City name
parameter | sample | default | description | optional |
---|---|---|---|---|
cityName | berlin | You can call by city name | no | |
countryCode | de | ISO 3166 country codes | yes | |
timeSlot | forecast5 | now | Valid values: now and forecast5 (5 days forecast) | yes |
type | like | To set the accuracy level either use the accurate or like type parameter. accurate returns exact match values. like returns results by searching for that substring | yes | |
units | imperial | metric | Temperature is available in Fahrenheit, Celsius and Kelvin units. For temperature in Fahrenheit use imperial . For temperature in Celsius use metric . For temperature in Kelvin use kelvin | yes |
language | ru | en | English: en , Russian: ru , Italian: it , Spanish: es (or sp ), Ukrainian: uk (or ua ), German: de , Portuguese: pt , Romanian: ro , Polish: pl , Finnish: fi , Dutch: nl , French: fr , Bulgarian: bg , Swedish: sv (or se ), Chinese Traditional: zh_tw , Chinese Simplified: zh (or zh_cn ), Turkish: tr , Croatian: hr , Catalan: ca | yes |
Sample requests:
[{'cityName':'london'}, {'cityName':'ney work city', 'units':'imperial'}]
[{'cityName':'berlin', 'countryCode':'de', 'language':'de', 'timeSlot':'forecast5'}]
Requests by City ID
parameter | sample | default | description | optional |
---|---|---|---|---|
cityId | 2172797 | You can call by city ID. API responds with exact result. List of city ID city.list.json.gz can be downloaded here. | no | |
timeSlot | forecast5 | now | Valid values: now and forecast5 (5 days forecast) | yes |
units | imperial | metric | Temperature is available in Fahrenheit, Celsius and Kelvin units. For temperature in Fahrenheit use imperial . For temperature in Celsius use metric . For temperature in Kelvin use kelvin | yes |
language | ru | en | English: en , Russian: ru , Italian: it , Spanish: es (or sp ), Ukrainian: uk (or ua ), German: de , Portuguese: pt , Romanian: ro , Polish: pl , Finnish: fi , Dutch: nl , French: fr , Bulgarian: bg , Swedish: sv (or se ), Chinese Traditional: zh_tw , Chinese Simplified: zh (or zh_cn ), Turkish: tr , Croatian: hr , Catalan: ca | yes |
Sample requests:
[{'cityId':'2172797', 'units':'imperial'}]
Requests by Zip code
parameter | sample | default | description | optional |
---|---|---|---|---|
zip | 94040 | You can call by zip Code | no | |
countryCode | us | ISO 3166 country codes | no | |
units | imperial | metric | Temperature is available in Fahrenheit, Celsius and Kelvin units. For temperature in Fahrenheit use imperial . For temperature in Celsius use metric . For temperature in Kelvin use kelvin | yes |
language | ru | en | English: en , Russian: ru , Italian: it , Spanish: es (or sp ), Ukrainian: uk (or ua ), German: de , Portuguese: pt , Romanian: ro , Polish: pl , Finnish: fi , Dutch: nl , French: fr , Bulgarian: bg , Swedish: sv (or se ), Chinese Traditional: zh_tw , Chinese Simplified: zh (or zh_cn ), Turkish: tr , Croatian: hr , Catalan: ca | yes |
Sample requests:
[{'cityName':'94040', 'countryCode':'us', 'language':'de'}]
Requests by Coordinates
parameter | sample | default | description | optional |
---|---|---|---|---|
lat | -13.163333 | latitude of the location of your interest | no | |
lng | -72.545556 | longitude of the location of your interest | no | |
timeSlot | forecast5 | now | Valid values: now and forecast5 (5 days forecast) | yes |
units | imperial | metric | Temperature is available in Fahrenheit, Celsius and Kelvin units. For temperature in Fahrenheit use imperial . For temperature in Celsius use metric . For temperature in Kelvin use kelvin | yes |
language | ru | en | English: en , Russian: ru , Italian: it , Spanish: es (or sp ), Ukrainian: uk (or ua ), German: de , Portuguese: pt , Romanian: ro , Polish: pl , Finnish: fi , Dutch: nl , French: fr , Bulgarian: bg , Swedish: sv (or se ), Chinese Traditional: zh_tw , Chinese Simplified: zh (or zh_cn ), Turkish: tr , Croatian: hr , Catalan: ca | yes |
Sample requests:
[{'lat':'-13.163333', 'lng':'-72.545556', 'language':'es'}]
III. Rate limit
Visit the official OpenWeatherMap Price List
Calls per Free
| minute (no more than) | 60 | | day (no more than) | 50,000 |
Licence
MIT