Funcionalidades

Galerías fáciles de usar

¿Buscas la manera más sencilla de implementar datos climatológicos en tu app o servicio? Nuestras galerías de debajo harán que todo sea más rápido y sencillo de hacer. Por favor, nota, no podemos ofrecer asistencia para las galerías API.

Galerías API disponibles:

Python Galería API

La funcionalidad básica de esta galería solo necesita módulos de solicitudes y pytz. Puedes instalarlo usando el comando pip3.

Python Galería de API Climatológicas en Github

Ejemplo:

from datetime import datetime, timedelta
from pymeteosource.api import Meteosource
from pymeteosource.types import tiers, sections, langs, units

# Change this to your actual API key
YOUR_API_KEY = 'abcdefghijklmnopqrstuvwxyz0123456789ABCD'
# Change this to your actual tier
YOUR_TIER = tiers.FLEXI

# Initialize the main Meteosource object
meteosource = Meteosource(YOUR_API_KEY, YOUR_TIER)

# Get the forecast for given point
forecast = meteosource.get_point_forecast(
    lat=37.7775,  # Latitude of the point
    lon=-122.416389,  # Longitude of the point
    place_id=None,  # You can specify place_id instead of lat+lon
    sections=[sections.CURRENT, sections.HOURLY],  # Defaults to '("current", "hourly")'
    tz='US/Pacific',  # Defaults to 'UTC', regardless of the point location
    lang=langs.ENGLISH,  # Defaults to 'en'
    units=units.US  # Defaults to 'auto'
)

# Forecast for lat: 37.7775, lon: -122.416389
print(forecast)

JavaScript Galería

Para usar meteosource_js instálalo usando npm install meteosource o incluye metesource.js y galería con fecha y hora luxon en tu script.

JavaScript Galería API Climatológicas en GitHub

Ejemplo:

<script src="https://www.meteosource.com/js/libs/meteosource.js">
<script src="https://cdn.jsdelivr.net/npm/luxon@2.4.0/build/global/luxon.min.js">

// Change this to your actual API key
let apiKey = 'YOU_API_KEY'
// Change this to your actual tier
let tier = 'flexi'

let m = new meteosource.Meteosource(apiKey, tier)

let forecast = await m.getPointForecast({
    lat: 37.7775,  // Latitude of the point
    lon: -122.416389,  // Longitude of the point
    placeId: null,  // You can specify place_id instead of lat+lon
    sections: ["current", "hourly"],  // is converted to "current,hourly"
    tz: 'US/Pacific',
    lang: 'en',
    units: 'us',  // Defaults to 'auto'
})

// NOTE: The command above works in an async/wait context only
// (async function, Node.JS REPL)
// elsewhere you run:
//m.getPointForecast({...}).then(forecast => console.log(forecast))

PHP Galería

Instala la galería meteosource_php usando composer require meteosource/meteosource_php.

PHP Galería API Climatológicas en GitHub

Ejemplo:

<?php
// Change this to your actual API key
const YOUR_API_KEY = 'abcdefghijklmnopqrstuvwxyz0123456789ABCD';
// Change this to your actual tier
const YOUR_TIER = 'flexi';

// Initialize the main Meteosource object
$meteosource = new Meteosource\Meteosource(YOUR_API_KEY, YOUR_TIER);

// Get the forecast for given point
$forecast = $meteosource->getPointForecast(
    null,  // You can specify place_id instead of lat+lon
    37.7775,  // Latitude of the point
    -122.416389,  // Longitude of the point
    ['current', 'hourly'],  // Defaults to '("current", "hourly")'
    'US/Pacific',  // Defaults to 'UTC', regardless of the point location
    'en',  // Defaults to 'en'
    'auto'  // Defaults to 'auto'
);

echo $forecast;  // <?Forecast for lat: 37.7775, lon: -122.416389>

C++ Galería

Para usar meteosource_cpp, solo tienes que copiar todos los archivos *.cpp y *.h de la carpeta src en tu proyecto. Luego podrás meter #include "Meteosource.h" y sacar los datos climatológicos que necesites.

C++ Galería de API Climatológicas en GitHub

Ejemplo:

#include <iostream>
#include <jsoncpp/json/json.h>
#include <memory>

#include "Meteosource.h"


int main()
{
    // Change this to your actual API key
    const std::string api_key = "YOUR-API-KEY";
    // Change this to your actual tier
    const std::string tier = "free";
    Meteosource m = Meteosource(api_key, tier);

    const std::string place_id = "london";
    const std::string sections = "all";
    const std::string timezone = "UTC";
    const std::string language = "en";
    const std::string units = "auto";
    auto res = m.get_point_forecast(place_id, sections, timezone, language, units);
    if (!res)
    {
        return -1;
    }

    if (res->current)
    {
        std::cout << "Current weather: " << res->current->summary << std::endl << std::endl;
    }

    if (res->minutely)
    {
        std::cout << "Minutely summary: " << res->minutely->summary << std::endl << std::endl;
        std::cout << "Precipitation for next 5 minutes: " << res->minutely->summary << std::endl << std::endl;

        for (int i = 0; i < 5; ++i)
            std::cout << "  " << res->minutely->data[i]->date << ": precipitation " << res->minutely->data[i]->precipitation << std::endl;
        std::cout << std::endl;
    }

    if (res->hourly.size() > 0)
    {
        std::cout << "Weather for next 5 hours:" << std::endl;
        for (int i = 0; i < 5; ++i)
            std::cout << "  " << res->hourly[i]->date << ": temperature " << res->hourly[i]->temperature << ", wind speed: " << res->hourly[i]->wind_speed << std::endl;
        std::cout << std::endl;
    }

    if (res->daily.size() > 0)
    {
        std::cout << "Daily Weather for next 5 days:" << std::endl;
        for (int i = 0; i < 5; ++i)
            std::cout << "  " << res->daily[i]->day << ": all day weather: '" << res->daily[i]->all_day->weather << "', sunrise: " << res->daily[i]->astro->sun_rise << std::endl;
        std::cout << std::endl;
    }

    return 0;
}

Postman Collection

Usa Postman Collection directamente haciendo clic en el botón Run in Postman o visita el repositorio GitHub para más información.