Skip to content

JohnnyTheTank/apiNG-plugin-openweathermap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

apiNG

Join the chat at https://gitter.im/JohnnyTheTank/apiNG npm version Bower version

apiNG-plugin-openweathermap is a OpenWeatherMap API plugin for apiNG.

Information

Documentation

  1. INSTALLATION
    1. Get file
    2. Include file
    3. Add dependency
    4. Add plugin
  2. API KEY
    1. Generate your api_key
    2. Insert your api_key into aping-config.js
  3. USAGE
    1. Models
    2. Requests
    3. Rate limit

1. INSTALLATION

I. Get file

Install via either bower, npm, CDN (jsDelivr) or downloaded files:

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

  1. Login on openweathermap.org
  2. Open home.openweathermap.org
    • There is your api_key

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>'}
            ],
            //...
        }
    });
}]);

⚠️ 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