2011-08-19
WordPressに天気予報表示を付けてみる3
WordPressに天気予報表示を付けてみる2では、livedoorのWeather Hacksを使った天気予報表示を試してみたが、次はGoogle Weather APIを利用した天気予報表示を試してみる。
cssは省略。
<?php // APIからXMLデータ取得 $city = 'osaka,osaka'; $gpath = 'http://www.google.com'; $url = $gpath . '/ig/api?weather='; // 取得データから表示項目取得 $xml = simplexml_load_file($url . $city); $objInfo = $xml->weather->forecast_information; $first_date = $objInfo->forecast_date[data]; echo '<div>in ' . strtoupper($objInfo->postal_code[data]) . '<br>'; $i = 0; foreach ($xml->weather->forecast_conditions as $cond) { $week = $cond->day_of_week[data]; $icon_url = $gpath . $cond->icon[data]; $low = $cond->low[data]; $high = $cond->high[data]; $condition = str_replace('Chance of ', '', $cond->condition[data]); echo '<div>'; echo '<img src="' . $icon_url . '" alt="icon" />'; echo '<div>' . ''; echo date('Y-m-d', strtotime ($first_date) + $i * 86400) .'[' . $week . ']<br>' . $condition . ' '; if (strlen($low) > 0 || strlen($high) > 0) { echo strlen($low)>0 ? convertF2C($low) : ''; echo '-' ; echo strlen($high)>0 ? convertF2C($high) : ''; echo '℃' ; } echo '</div>'; echo '</div>'; $i++; } echo '</div>'; //華氏摂氏変換 function convertF2C($val) { return round(($val-32)*5/9); } ?>
Google Weather APIでは今日を含めた4日分の予報が取得できる。