ロト君のサイト by lotokunn

L'sCore ロト君のサイトへようこそ!

  1. TOP
  2. パソコン
  3. OpenWeatherMap Json形式 使い方

OpenWeatherMap Json形式 使い方

皆さんこんにちは!今晩は!!ロト君です。
今回は無料でMapの緯度経度から天候情報を取得できる『OpenWeatherMap』について、備忘録記載したいと思います!

1.OpenWeatherMapとは??

OpenWeatherMap(以降OWM)とは、上記したように1分間に60アクセスまで無料で使える、天候APIです。詳細は本家で検索してみて下さい。

2.APIで自分のサイトに天候表示

APIを使う事により、自分のサイトに天候や気象情報を記載出来ます!
APIは、GET形式でHTPPにリクエストして、Json形式で返ってきます。

例えば


<?php
//------------------------------------
// 定数設定
//------------------------------------
//APIキー
$apiKey = $_SESSION['weather_api_key']; // 取得したAPI

// 検索用URL
$baseUrl = "http://api.openweathermap.org/data/2.5/weather?";

//------------------------------------
// リクエストパラメータ生成
//------------------------------------
$paramAry = array(
'lat' => $rec['lat'],
'lon' => $rec['lng'],
'units' => 'metric', // 摂氏温度
'appid' => $apiKey
);
$param = http_build_query($paramAry);

//------------------------------------
// 実行&結果取得
//------------------------------------
$reqUrl = $baseUrl . $param;

$urlContents = file_get_contents($reqUrl); //appidにはAPI Keyを入れる

$weatherArray = json_decode($urlContents, true); //連想配列の場合は第2引数へtrueを指定
//print_r($weatherArray);

// 結果格納
//$weather = $weatherArray['weather'][0]['main'];
//var_dump($weatherArray);
?>

で、緯度、経度をで検索すると、


array(12) {
["coord"]=> array(2) {
["lon"]=> int(131)
["lat"]=> float(31.96)
}
["weather"]=> array(2) {
[0]=> array(4) {
["id"]=> int(500)
["main"]=> string(4) "Rain"
["description"]=> string(10) "light rain"
["icon"]=> string(3) "10d"
}
[1]=> array(4) {
["id"]=> int(741)
["main"]=> string(3) "Fog"
["description"]=> string(3) "fog"
["icon"]=> string(3) "50d" }
}
["base"]=> string(8) "stations"
["main"]=> array(5) {
["temp"]=> float(20.6)
["pressure"]=> int(1016)
["humidity"]=> int(100)
["temp_min"]=> int(18)
["temp_max"]=> int(23)
}
["visibility"]=> int(10000)
["wind"]=> array(2) {
["speed"]=> float(3.1)
["deg"]=> int(360)
}
["clouds"]=> array(1) {
["all"]=> int(90)
}
["dt"]=> int(1537772400)
["sys"]=> array(6) {
["type"]=> int(1)
["id"]=> int(7548)
["message"]=> float(0.0054)
["country"]=> string(2) "JP"
["sunrise"]=> int(1537736720)
["sunset"]=> int(1537780217)
}
["id"]=> int(1859175)
["name"]=> string(9) "Kobayashi"
["cod"]=> int(200)
}

で、返ってきます。

APIをJsonから抜き出す場合は、


<?php echo $weatherArray['weather'][0]['description'] ;?>

の、様にPHPへ格納してあげます。
ね!簡単でしょ!!!!

3.まとめ

先日のHackthonで色々とAPIについて勉強しましたが、ここまで使えるとは驚きです!!!

今後もパワーアップさせて自作WebAppを作っていきたいです!!


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA



Hello!!

皆さんこんにちは!こんばんは!!ロト君です。

このサイトは私が興味を持ったモノやコトについて掲載をしていくサイトです。

主にパソコン関係やアニメ・ゲーム等について掲載すたいと思いますので、 どうぞ宜しくお願い致します!

コメント等はTwitter等を活用して頂けると有り難いです!!

Twitter: ロト君@lotokunn