現在の位置: ホーム> 最新記事一覧> 天気APIと組み合わせて、その日の夕日を表示 +天気情報

天気APIと組み合わせて、その日の夕日を表示 +天気情報

M66 2025-05-31

最新のWebサイトやアプリケーションでは、リアルタイムの天気情報を組み合わせることで、ユーザーエクスペリエンスが向上する可能性があります。たとえば、旅行ウェブサイトや屋外アクティビティプラットフォームを開発している場合、リアルタイムの天気と日没時間に関する情報は非常に貴重です。この記事では、PHPを使用してWeather APIを組み合わせて、その日の特定の場所と日没時刻でリアルタイムの天気を獲得する方法について説明します。

1. Weather APIサービスを選択します

天気情報を取得するには、安定した信頼性の高い気象APIが必要です。この例では、 OpenWeatherが提供する無料のAPIを使用しています(注:最初に公式Webサイトに登録してAPIキーを取得する必要があります)。

2。APIリクエストを準備します

OpenWeatherのAPIは、気象条件と日没時間を含むデータを提供します。これが基本的なPHPリクエストの例です。

 <?php
$apiKey = 'YOUR_API_KEY'; // あなた自身と交換してください API 鍵
$city = 'Beijing'; // サポートされている都市に変更できます
$apiUrl = "https://api.openweathermap.org/data/2.5/weather?q={$city}&appid={$apiKey}&units=metric";

// 初期化 cURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);

// デコード JSON
$data = json_decode($response, true);

// データが正常に取得されるかどうかを確認します
if (isset($data['main'])) {
    $temperature = $data['main']['temp'];
    $weather = $data['weather'][0]['description'];
    $sunsetUnix = $data['sys']['sunset'];
    $sunsetTime = date("H:i:s", $sunsetUnix); // 現地時間に変換します(UTC タイムゾーンの調整が必要になる場合があります)

    echo "現代都市:{$city}<br>";
    echo "リアルタイム温度:{$temperature}°C<br>";
    echo "気象条件:{$weather}<br>";
    echo "今日の夕日:{$sunsetTime}<br>";
} else {
    echo "天気情報を取得できません,市の名前を確認してください API 鍵是否正确。";
}
?>

3。注意すべきこと

  1. タイムゾーンの問題:APIはUTC時間を返します。これは、サーバーまたはユーザーが配置されているタイムゾーンに従って変換する必要があります。 PHPのDateTimeZoneクラスを使用して処理できます。

  2. キャッシュ戦略:気象データは毎秒更新する必要はありません。10分ごとに更新するなど、APIリクエストのプレッシャーを緩和するなど、キャッシュを設定できます。

  3. エラー処理:ネットワークの問題やAPIクォータの消耗によるページのクラッシュを避けるために、APIリクエストの障害に対処してください。

  4. インターフェイスセキュリティ:APIキーをフロントエンドコードに公開しないようにしてください。バックエンドを通じてそれらをプロキシにすることをお勧めします。

IV。実際の展開の例

上記のPHPスクリプトをWeather.phpとして保存し、それをサーバーに展開します。

 https://www.m66.net/weather.php

この住所にアクセスして、天気と日没の時間情報をご覧ください。

結論

Weather APIと組み合わせてリアルタイム情報を表示すると、Webサイトをよりインタラクティブにするだけでなく、実用的なヘルプを提供することもできます。この記事があなたにインスピレーションを与えることを願っています!座標による天候のクエリ、今後数日間の予測を表示するなど、より複雑なニーズがある場合など、OpenWeatherが提供する他のAPIインターフェイスを引き続き探索することができます。

既存のWebサイトに追加するか、モジュールを個別に作成しますか?