Home

Awesome

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

:warning: Replace <YOUR_OPENWEATHERMAP_API_KEY> with your api_key

3. USAGE

I. Models

Supported apiNG models

modelcontent
weatherweather data

II. Requests

Every apiNG plugin expects an array of requests as html attribute.

Requests by City name

parametersampledefaultdescriptionoptional
cityNameberlinYou can call by city nameno
countryCodedeISO 3166 country codesyes
timeSlotforecast5nowValid values: now and forecast5 (5 days forecast)yes
typelikeTo set the accuracy level either use the accurate or like type parameter. accurate returns exact match values. like returns results by searching for that substringyes
unitsimperialmetricTemperature 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 kelvinyes
languageruenEnglish: 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: cayes

Sample requests:

Requests by City ID

parametersampledefaultdescriptionoptional
cityId2172797You can call by city ID. API responds with exact result. List of city ID city.list.json.gz can be downloaded here.no
timeSlotforecast5nowValid values: now and forecast5 (5 days forecast)yes
unitsimperialmetricTemperature 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 kelvinyes
languageruenEnglish: 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: cayes

Sample requests:

Requests by Zip code

parametersampledefaultdescriptionoptional
zip94040You can call by zip Codeno
countryCodeusISO 3166 country codesno
unitsimperialmetricTemperature 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 kelvinyes
languageruenEnglish: 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: cayes

Sample requests:

Requests by Coordinates

parametersampledefaultdescriptionoptional
lat-13.163333latitude of the location of your interestno
lng-72.545556longitude of the location of your interestno
timeSlotforecast5nowValid values: now and forecast5 (5 days forecast)yes
unitsimperialmetricTemperature 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 kelvinyes
languageruenEnglish: 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: cayes

Sample requests:

III. Rate limit

Visit the official OpenWeatherMap Price List

Calls perFree

| minute (no more than) | 60 | | day (no more than) | 50,000 |

Licence

MIT