Документация для разработчиков, AWZ: Загрузка погоды [awz.weather]

Конструктор \Awz\Weather\App

На вход принимает 1 параметр string $provider

Провайдер Описание
OpenMeteo По умолчанию open-meteo.com
Ninjas api-ninjas.com
OpenWeatherMap openweathermap.org
WeatherApi weatherapi.com
WeatherStack weatherstack.com

\Awz\Weather\App->getCurrent

Получение погоды с внешнего сервиса и запись/обновление в базу

Параметр Описание
lat float Широта
lon float Долгота
use Bitrix\Main\Loader;

/*
 * пример получения и записи погоды на 7-14 дней в базу данных
 * (период отличается в зависимости от сервиса и тарифного плана на сервисе)
*/

$lat = '43.357812';
$lon = '132.084237';

if(Loader::includeModule('awz.weather')){
    $app = new \Awz\Weather\App();
    $app->getCurrent((float)$lat, (float)$lon);
}

Рекомендуется выносить логику обновления погоды на агент:

модуль: awz.weather функция: \Awz\Weather\Agent::autoUpdate('43.357812', '132.084237', 'OpenMeteo');

\Awz\Weather\App->getMinDay

Получение структуированных данных по погоде из базы на указанную дату.

Внимание! метод не делает запрос на внешний сервис, у вас уже должна быть реализована логика запроса погоды через метод: \Awz\Weather\App->getCurrent

Параметр Описание
lat float Широта
lon float Долгота
timestamp int Дата в unixtime
use Bitrix\Main\Loader;

$lat = '43.357812';
$lon = '132.084237';

if(Loader::includeModule('awz.weather')){
    $app = new \Awz\Weather\App();
    $dayVidjet = $app->getMinDay($lat, $lon, '+1day');
}

Обсуждение в Telegram

Для улучшения работы сайта используются cookie.
Подробнее об этом в Политике cookie.
Принять Настроить