masakichi-code

独学エンジニアの技術ブログ

天気API【OpenWeather】の使い方

  • API
  • PHP

2024.05.17(金)

『サイトに現在の天気を表示したい』
『天気APIのカスタマイズをしたい』
『現在の天気から表示する内容を変更したい』

こういった疑問に答えます。

本記事の内容

  • 天気API OpenWeatherの導入
  • 取得した天気にあった内容を表示するやり方

Webエンジニア歴2年
WordPressの運営&立ち上げ70サイト以上かかわっている

こういった私が解説していきます。

1. 天気API OpenWeatherの導入

  • その①:公式サイトでアカウントを作成する
  • その②:phpでコードを書いていく

その①:公式サイトでアカウントを作成する

まずは公式サイトでアカウントを作成しましょう

OpenWeatherは無料で導入できます。
無料プランだと60calls/minなので60都市までのリクエストができます。

OpenWeatherAPIのログイン画面からアカウントを作成しましょう。

『Create An Account』を押して、ユーザー名、メールアドレス、パスワードを入力します。
あとは、『16歳以上か?』『利用規約に同意するか?』『ニュースを受け取るか?』など、必要に応じてチェックを入れて、『アカウントを作成する』ボタンを押します。

アカウントの作成ができたら次に進みましょう。

その②:phpでコードを書いていく

WordPressで使えるようにphpで書いていきます。

使いまわして使えるようにインクルードファイルにしています。
コード全体は下記のような感じです。

補足説明をしていきます。

表示される気温の小数点1桁以降を切り捨てるために、下記コードを書いています。
$precisionに桁数を設定して、round関数で四捨五入をしています。

スクリプトのタイムゾーンを東京に設定しています。

APIキーと緯度経度を$urlに渡して、その地点の天気を表示します。
$keyにはAPIキーのページから確認して入れます。
$latと$lonにはGoogleMapなどから確認して緯度経度を設定します。
$urlの『&exclude=minutely,hourly,daily,alerts』では、除外する情報を記載しています。
『&exclude=』のパラメータはこのページから確認してみてくださいね。

リクエストが多くなるとサイトの負荷につながるので、キャッシュさせて情報を表示させます。
最初の読み込みで『tenkicache』ディレクトリがあるか確認して、なければ自動で作成させます。
ホームのディレクトリに『tenkicache』ディレクトリが生成され、アクセスされてから10分間はキャッシュします。

最後に用意された関数で必要な情報を表示しています。
$weatherに格納された情報から引き出しています。
先ほどのページにパラメータの一覧があるので、
お好きな情報を引っ張ってくることができますよ。
天気のアイコンは天気のパラメータについてを参考に表示しています。
2倍サイズの画像を表示するために『@2x』と入れています。

説明はこんな感じです。
次に、取得した天気にあった内容を表示するやり方をご紹介します。

2. 取得した天気にあった内容を表示するやり方

  • 天気から表示する内容を変える
  • 気温から表示する内容を変える

その①:天気から表示する内容を変える

条件分岐を組んでいきます

晴れなら晴れ用のコメントを出したり、雨なら雨用のコメントを出したりすることができます。
下記コードをコピペで試してみてください。

各天気のパラメータをもとに表示しています。
天気のパラメータについてのページを確認して、
天気ごとに条件を組みました。

細かく設定もできるので試してみてくださいね。

その②:気温から表示する内容を変える

条件分岐を組んでいきます

気温ごとに細かく設定できるので、お好きな条件を組んでみてくださいね。

以上、天気API【OpenWeather】の使い方をご紹介しました。
ではまた。