天気予報ブログパーツ(API)&jQueryプラグイン

jQuery plugin for Japan weather forecast

日本国内の天気予報を表示するブログパーツ(API)とjQueryプラグイン、天気記号のウェブフォントを公開します。使用は無料です。
ブログパーツとjQueryプラグインでは気象庁の公開データを利用しています。jQueryはGPLライセンスです。いずれもSSL対応なので、httpsのサイトでもご利用いただけます。
PCではIE9~11・Firefox・Chrome・Safari、スマートフォンではiOSのSafari・Android標準ブラウザで動作確認済みです。

ブログパーツとしての利用方法が1つ、jQueryプラグインとしての利用方法が2つ、計3種類の利用方法があります。

利用方法1 天気予報ブログパーツ

ブログやホームページににコードを貼るだけで、天気予報を表示できます
  • 下のエディターでエリア・表示方法・デザインを設定してください。
  • エディターの下にある「ブログパーツのコードを取得」ボタンをクリックしてコードをコピーしてください。
  • ブログやホームページなどで、天気予報を表示したい場所にコードを設置してください。
縦横
対象
preview
プレビューサイズ
プレビュー背景色

気に入っていただけましたら、このツールをどこかで紹介していただけますと嬉しいです。

  • 2022/4/25
    気象庁の仕様変更によりエリアの一部(群馬県・長野県・東京都伊豆諸島)が統合されました。
  • 2022/4/5
    気象庁の仕様変更により岐阜・京都・兵庫・滋賀・岡山・広島・長崎のエリアが統合されました。
  • 2021/11/2
    気象庁の仕様変更により釧路・根室地方と十勝地方が統合され、東京・長野・岐阜・京都・兵庫・滋賀・岡山・広島・長崎のエリアが分離されました。
  • 2021/4/12
    気象庁の仕様変更によりエリアの一部(群馬県・長野県・東京都伊豆諸島)が統合されました。
  • 2021/4/1
    気象庁の仕様変更によりエリアの一部が統合されました。
  • 2021/2/26
    気象庁のホームページリニューアル伴い、24日頃からデータが正常に取得できませんでしたが、現在は正常に動作しております。
  • 2020/10/4
    エリアの一部が細分化されました。
  • 2020/8/4
    Livedoor Weather Hacksの終了に伴い、気象庁の公開データからデータを収集するように仕様変更しました(ブログ記事はこちら)。
  • jQueryプラグインで天気アイコンに「NaN;」が表示される場合は、こちらのzipをダウンロードしてJavascriptファイルを差し替えて下さい。

利用方法2 天気予報jQueryプラグインPack

jQueryプラグインを手軽に利用できます
  • エディターでエリア・表示方法・デザインを設定してください。
  • エディターの下にある「jQueryプラグインをダウンロード」ボタンをクリックしてzipファイルをダウンロードしてください。
  • zip内にあるreadme.txtを参考に設定し、サーバーに解凍したファイルをアップロードしてください。

利用方法3 天気予報jQueryプラグイン(手動設定用)

jQueryプラグインのファイルをダウンロードし、カスタマイズして利用できます
mamewaza_weather
Javascript・CSS・ウェブフォントのセット
  • 上のzipファイルをダウンロードしてください。
  • 以下のファイルが必須です。これらをアップロードしてください。
    mamewaza_weather.css
    mamewaza_weather.eot
    mamewaza_weather.min.js
    mamewaza_weather.svg
    mamewaza_weather.ttf
    mamewaza_weather.woff
    css内のfont-faceで、ウェブフォント(.eot/.svg/.ttf/.woff)を同一フォルダ内で指定しているので、別フォルダに入れる場合はcss内のパスを変更してください。
  • 天気予報を表示させたいページで、2でアップロードしたJavascriptを設置してください。 
    <script type="text/javascript" src="./mamewaza_weather/mamewaza_weather.min.js"></script>
  • $.mamewaza_weatherを以下のように実行してください。 
    $.mamewaza_weather( {
        selector: "天気予報を設置したい要素のセレクター",
        region:天気予報の6桁の地域コード(下の地域コード表参照),
        layout:"レイアウト(vertical|verticalMini|verticalMicro|horizontal|horizontalMini|horizontalMicro)の6択",
        when:"表示対象範囲(7days|weekend|1day|2days)の4択",
        cssPath:mamewaza_weather.cssへのパス
    } );
  • 出力されるHTMLは下記のようになるので、任意でデザインを適用してください。 
    <div id="mamewaza_weather" class="mamewaza_weather">
        <div>
            <table class="mamewaza_weather">
            <tbody>
                <tr>
                    <td>10<span class="mamewaza_weather_small">金</span></td>
                    <td><span class="mamewaza_weather_icon">アイコン</span><br />
                        <span class="mamewaza_weather_small">曇り</span></td>
                    <td>23 ~ 30<span class="mamewaza_weather_small">℃</span></td>
                </tr>
                <tr>
                    <td class="mamewaza_weather_sat">11<span class="mamewaza_weather_small">土</span></td>
                    <td class="mamewaza_weather_sat"><span class="mamewaza_weather_icon">アイコン</span><br />
                        <span class="mamewaza_weather_small">曇時々晴</span></td>
                    <td class="mamewaza_weather_sat">23 ~ 29<span class="mamewaza_weather_small">℃</span></td>
                </tr>
                <tr>
                    <td class="mamewaza_weather_sun">12<span class="mamewaza_weather_small">日</span></td>
                    <td class="mamewaza_weather_sun"><span class="mamewaza_weather_icon">アイコン</span><br />
                        <span class="mamewaza_weather_small">曇時々晴</span></td>
                    <td class="mamewaza_weather_sun">24 ~ 31<span class="mamewaza_weather_small">℃</span></td>
                </tr>
            </tbody>
            </table>
            <div class="mamewaza_weather_exp" style="display:block !important;visibility:visible !important;position:static !important;">
                説明
                <a href="http://weather.livedoor.com/area/forecast/" target="_blank">livedoor 天気情報</a>
                <span class="memewaza_asscembled">assembled by<a href="http://mamewaza.com/" target="_blank">まめわざ</a></span>
            </div>
        </div>
    </div>

地域コード表

「新分類」の6桁のコードを設定して下さい。すでに利用中の方は、旧分類のコードに対応する新分類の方のコードに変更願います。

都道府県旧分類新分類
北海道稚内011000宗谷地方011000
旭川012010上川・留萌地方012010
留萌012020
札幌016010石狩・空知・後志地方016010
岩見沢016020
倶知安016030
網走013010網走・北見・紋別地方013010
北見013020
紋別013030
根室014010釧路・根室・十勝地方
014100
釧路014020
帯広014030
室蘭015010胆振・日高地方015010
浦河015020
函館017010渡島・檜山地方017010
江差017020
青森県青森020010津軽020010
むつ020020下北・三八上北020200
八戸020030
岩手県盛岡030010内陸030010
宮古030020沿岸030020
大船渡030030
宮城県仙台040010東部040010
白石040020西部040020
秋田県秋田050010秋田県050010
横手050020
山形県山形060010山形県060010
米沢060020
酒田060030
新庄060040
福島県福島070010中通り・浜通り070010
小名浜070020
若松070030会津070030
東京都東京130010東京地方130010
大島130010伊豆諸島北部 130020
八丈島130030伊豆諸島南部130030
父島130040小笠原諸島130040
神奈川県横浜140010神奈川県140010
小田原140020
埼玉県さいたま110010埼玉県110010
熊谷110020
秩父110030
千葉県千葉120010千葉県120010
銚子120020
館山120030
茨城県水戸080010茨城県080010
土浦080020
栃木県宇都宮090010栃木県090010
大田原090020
群馬県前橋100010南部100010
みなかみ100020北部100020
山梨県甲府190010山梨県190010
河口湖190020
新潟県新潟150010新潟県150010
長岡150020
高田150030
相川150040
長野県長野200010北部200010
松本200020中部・南部200020
飯田200030
富山県富山160010富山県160010
伏木160020
石川県金沢170010石川県170010
輪島170020
福井県福井180010福井県180010
敦賀180020
愛知県名古屋230010愛知県230010
豊橋230020
岐阜県岐阜210010美濃地方210010
高山210020飛騨地方
210020
静岡県静岡220010静岡県220010
網代220020
三島220030
浜松220040
三重県240010三重県240010
尾鷲240020
大阪府大阪270000大阪府270000
兵庫県神戸280010南部
280010
豊岡
280020
北部
280020
京都府京都260010南部260010
舞鶴
260020北部
260020
滋賀県大津250010南部250010
彦根250020北部250020
奈良県奈良290010奈良県290010
風屋290020
和歌山県和歌山300010和歌山県300010
潮岬300020
鳥取県鳥取310010鳥取県310010
米子310020
島根県松江320010島根県320010
浜田320020
西郷320030
岡山県岡山330010南部330010
津山330020北部330020
広島県広島340010南部340010
庄原340020北部340020
山口県下関350010山口県350010
山口350020
柳井350030
350040
徳島県徳島360010徳島県360010
日和佐360020
香川県高松370000香川県370000
愛媛県松山380010愛媛県380010
新居浜380020
宇和島380030
高知県高知390010高知県390010
室戸390020
清水390030
福岡県福岡400010福岡県400010
八幡400020
飯塚400030
久留米400040
大分県大分440010大分県440010
中津440020
日田440030
佐伯440040
長崎県長崎420010南部・北部・五島420100
佐世保420020
福江420040
厳原
420030
壱岐・対馬
420030
佐賀県佐賀410010佐賀県410010
伊万里410020
熊本県熊本430010熊本県430010
阿蘇乙姫430020
牛深430030
人吉430040
宮崎県宮崎450010宮崎県450010
延岡450020
都城450030
高千穂450040
鹿児島県鹿児島460010鹿児島県(奄美地方除く)460010
鹿屋460020
種子島460030
名瀬460040奄美地方460040
沖縄県那覇471010沖縄本島地方471010
名護471020
久米島471030
南大東島472000大東島地方472000
宮古島473000宮古島地方473000
石垣島474010八重山地方474010
与那国島474020

Livedoor Weather Hack天気用ウェブフォント

プラグライン提供用に作成したウェブフォントをGPLライセンスで公開します。ご利用ください。

mamewaza_weather_webfont
Web Font セット

CSSでの指定例

下記のようにCSSに記述してご利用ください。 
@font-face {
  font-family: "weather";
  src: url('./mamewaza_weather.eot');
  src: url('./mamewaza_weather.eot#iefix') format('embedded-opentype'),
       url('./mamewaza_weather.woff') format('woff'),
       url('./mamewaza_weather.ttf') format('truetype'),
       url('./mamewaza_weather.svg#fontello') format('svg');
  font-weight: normal;
  font-style: normal;
}

span.mamewaza_weather_icon {
    font-family: "weather" !important;
}

文字コード相関表と表示例

晴れ01
晴時々曇02
晴時々雨03
晴時々雪04
晴のち曇05
晴のち雨06
晴のち雪07
曇り08
曇時々晴09
曇時々雨10
曇時々雪11
曇のち晴12
曇のち雨13
曇のち雪14
15
雨時々晴16
雨時々曇17
雨時々雪18
雨のち晴19
雨のち曇20
雨のち雪21
暴風雨22
23
雪時々晴24
雪時々曇25
雪時々雨26
雪のち晴27
雪のち曇28
雪のち雨29
暴風雪30

文字コード表の2ケタの数字の前に「&#xe8」、後に「;」を付加し「&#xe801;」のようにしてフォントを表示できます。
CSS内でcontentプロパティで使用する場合は前に「0xe8」を付加し「content:"0xe801";」のようにして表示できます。

天気記号のフリー画像(GIF・SVG)

リクエストがありましたので、こちらで配布します。ご自由にお使いください。
ファイル名が上記の天気記号を表す数字になっています。
可能でしたらまめわざへのバックリンクをお願いいたします。

SVGセット(ベクター)
Fireworksのプラグインを使用して出力したSVGです

免責と注意事項

  • 本プログラムおよび天気用ウェブフォントは、まめわざで作成したもので、商用・非商用を問わず無料でご利用いただけます(GPLライセンス)。
    天気情報の内容は気象庁の公開データを利用してろいますので、これらの規約に則ってご利用ください。
  • 気象庁がデータの公開を停止した場合は提供ができなくなります。
    また、これらのサービスが仕様変更した場合は、プログラムが正しく動作しなくなることがありますので予めご了承願います。
  • 本プログラムは、くれぐれも自己責任でご利用をお願いいたします。
    本プログラムの利用によって生ずるいかなる損害に対しても一切責任を負いません。
  • 天気用ウェブフォントは、季節がら、冬の天気の表示確認でできておりません。正しく表示できない場合は、随時修正しますので、下のサポート掲示板からご報告をお願いいたします。
    尚、ウェブフォントは2で説明したサービスの終了によってプログラムが動作しなくなった場合でも、ご利用いただいて構いません。

サポート掲示板

不具合や不明点などがありましたら、こちらの掲示板をご利用ください。メールでの返信が必要な場合は、お問合せからご連絡ください。

アイコン設定
投稿者さん使い方
掲示板の主旨に反する投稿は掲載されません。掲載の是非は管理者が判断いたします。予めご了承願います。
投稿内容は掲載されますので、個人情報は一切投稿しないでください。
k
koさん (70cwo6q4)2019/2/5 10:20 (No.75)削除
ブログパーツを利用させていただきありがとうございます。
先日より発生している不具合の件で、「天気予報ブログパーツ・jQueryプラグインの不具合」のページにある、mamewaza_weather190117をChromeでダウンロードしようとしたのですが、「失敗-ファイルがありません」となりダウンロードが出来ません。ご対応お願いいたします。
管理人さん (6u7nke8f)2019/2/5 10:48削除
リンク切れがありまして申し訳ございません。修正しましたので再度ダウンロードをお願いいたします。
返信
y
yamaさん (7036096l)2019/1/29 14:43 (No.74)
Google Feed API 提供終了のお知らせ
https://developers-jp.googleblog.com/2016/07/google-feed-api.html
返信
s
saoさん (6zw37xtm)2019/1/24 15:51 (No.73)
assembled by まめざわとデフォルトで表示されますがこの文章は載せないでも大丈夫でしょうか??
返信
a
aaaさん (6zj59key)2019/1/15 14:27 (No.70)削除
初めまして。
昨年の11月頃からこちらのブログパーツを利用して、サイトをに掲載させてもらってるのですが、数日前から、当日とその次の日までしか天気が表示されません。場所によって表示されている日にちが飛んだりしているようです。不具合か何かでしょうか?
管理人さん (6u7nke8f)2019/1/17 17:30削除
書き込みありがとうございます。
ご不便をおかけしまして申し訳ございません。

原因がわかりましたので、プログラムの一部を修正しました。のちほど解説を投稿いたしますが、お急ぎの際は、jQueryプラグインをダウンロードし、mamewaza_weatherフォルダ内にあるmamewaza_weather.min.jsを上書きしてください。
お願いいたします。
管理人さん (6u7nke8f)2019/1/17 17:33削除
尚、ブログパーツをご利用の方は再読込をすれば表示されます。
返信
k
komaさん (6u7ijkqs)2018/9/3 11:47 (No.64)
初めまして。
こちらのブログパーツを利用させていただき、1週間分の天気を表示をさせているのですが、
本日(2018年9月3日(月))確認したところ9月5日~7日までの3日分しか表示されていません。
何らかの不具合でしょうか。
管理人さん (6u7nke8f)2018/9/3 14:08削除
書き込みありがとうございます。
お調べしましたところ、エリアによって歯抜けがありますが、データ提供元であるlivedoorの天気情報ページにも掲載がないので、大本の日本気象協会か、あるいは日本気象協会→livedoorの間か、あるいはlivedoorの情報処理に何らかの問題が発生していると思われます。
今後も問題が続く場合はlivedoorの方に問い合わせをしてみますので、情報提供をお願いいたします。
k
komaさん (6u7ijkqs)2018/9/3 17:49
ご回答ありがとう御座います。
17時30分に確認したところ、正しい表示となっていました。
一時的な不具合だったようです。ありがとうございました。
管理人さん (6u7nke8f)2018/9/4 10:13削除
ご報告ありがとうございます。今後ともご利用のほどお願い申し上げます。
返信
E
Enさん (5ql7hs78)2015/12/10 07:18 (No.11)削除
初めまして。素敵なブログパーツですね。
掲載されている天気用ウェブフォントですが、
画像としての配布は考えていらっしゃらないでしょうか?
または、バックリンクの記載を行う上で
フォントをこちらで画像として加工して使用は可能でしょうか?
ご検討の程宜しくお願い致します。
管理人さん (5qh31dhf)2015/12/11 08:15削除
En様
書き込みありがとうございます。
ウェブフォント以外では提供しておりませんが、今後用意したいと思います。
加工していただいて結構ですので、ご利用ください。よろしくお願いいたします。
管理人さん (5qh31dhf)2015/12/11 21:53削除
En様
黒のGIFとSVGを用意しました。上の「天気記号のフリー画像」のところからダウンロードしてご利用ください。
E
Enさん (5qryejhi)2015/12/15 00:38削除
ご回答ありがとうございます。
ダウンロードの用の画像まで用意して頂き、ありがとうございました。
加工の方も可能ということで、是非利用させて頂きたいと思います。
用件のみで、失礼致しました。
返信
s
saiさん (5qdvk63t)2015/12/5 04:10 (No.1)削除
初めまして、とても洗練されたデザインで使用させて頂きたいと思いました。
一点問題というか、不明な部分があり、こちらにて書き込み失礼します。
現在12月5日(土)ですが、天気の表示の際、明日(日)明後日(月)または一週間にかけて変更したところ、
どれも6日(日)が表示されません。
このプレビュー画面だけではなく、実際にHTML内に貼り付けた所でも、同じように表示されません。
日曜日に限った問題か、分かりませんが、一度ご確認をお願いいたします。
匿名さん (5qdvk63t)2015/12/6 02:50
何度も投稿してしまい、申し訳ありません。
上記「6(日)の日曜日が表示されない」と報告致しましたが、
追加の形で報告を失礼致します。

日中にこちらの表示を確認したところ、
「明日・明後日」「一週間」の表示は日曜日を含めて通常通りに表示・作動しておりました。
<例>
 5日(土)の14時時点→[明日]6日(日)表示、[明後日]7日(月)表示
 ※通常通り作動

しかしながら、時刻が深夜の26時頃確認したところ
「明日」の表示の部分が「本日(今日)」になっておりました。
おそらく日付を跨いだ際に
読み込みが上手く共有出来ていない状況かと思われます。

・日付を跨いだ際、「明日」が本来の日で表示されない
<例>
 5日(土)の26時(6日(日)2時)時点→ [明日]7日(月)ではなく、6日(日)が表示されたまま、[明後日]8日(火)表示
 ※7日(月)[明日]の情報が飛ぶ

少しでも情報の参考になりますことを願いまして、何度も書き込み失礼致しました。

シンプルでデザイン性の高さ、見やすいのも兼ねて、
そのスタイルを手軽に変更出来ることに感動しております。

今後も素敵なツールの展開を楽しみにしておりますので、
お手隙の際に、またご確認をよろしくお願いいたします。
管理人さん (5qh31dhf)2015/12/7 10:03削除
sai様
書き込みありがとうございます。
返信が遅くなりまして申し訳ございません。
微調整をしてみましたので、明日検証してからまた報告いたします。
検証に時間がかかりますのでしばらくお待ち願います。
管理人さん (5qh31dhf)2015/12/8 10:23削除
sai様
検証後にさらに手を加えまして、現在はご希望のように動作していると思います。ご確認をお願いいたします。
変更点)
1.対象が「週末」以外の場合に「今日」を含むようにしました。
2.元データの方で直近の最低・最高気温が表示されない場合があります。最低・最高気温がない日を表示しない仕様でしたが、これを見直しました。気温がない場合でも、気温を空欄にして表示されます。

気象庁の発表が5時・11時・17時にあるようなので、APIに反映されるタイミングを考慮し、0時(日付調整用)・6時・12時・18時にデータが変わるようにしました。

明日以降も確認をしてみますが、お気付きの点などありましたら、書き込みをお願いいたします。
s
saiさん (5qdvk63t)2015/12/9 01:41削除
お忙しい中、お早いご返答ありがとうございます。
さっそく追加で長々となりますが
4点、書き込みに失礼致します。お目通し頂けますようお願いします。

*1)設置から天気の表示について
・利用方法1//天気予報ブログパーツ
8日21時頃、以前同様のやり方でこちらにてコードを取得し、自HTML内にて貼り付けて確認してみましたが
天気情報が表示されない状態になっていました。

>1.下のエディターでエリア・表示方法・デザインを設定してください。の
設定後のプレビュー等は問題なく確認出来ました。
>3.ブログやホームページなどで、天気予報を表示したい場所にコードを設置してください。
設置後、オンライン上でも確認してみましたが表示が確認出来ない状態です。
一番利用用途が多い手法だと思われますので、ご確認をお願いいたします。

・利用方法2//天気予報jQueryプラグインPack
ちなみに利用方法2で試してみたところ、天気情報の表示は出来ました。

*2)「今日」を含んだ表示について
変更点)
>1.対象が「週末」以外の場合に「今日」を含むようにしました。
>2.元データの方で直近の最低・最高気温が表示されない場合があります。
>最低・最高気温がない日を表示しない仕様でしたが、これを見直しました。気温がない場合でも、気温を空欄にして表示されます。

提供頂いていた仕様を、変更・更新頂きまして大変恐れ入ります。
元データ先で「直近の最低・最高気温が表示されない場合」があることは認識しておりましたが
表示が天気のみであっても、是非活用したいと思っております。
ご検討頂きまして、本当にありがとうございます。

ですが、
8日(火)21時頃に「一週間」「明日」「明日・明後日」で確認してみたところ
全て9日(水)明日の天気からの始まり~で表示されました。

希望ばかり並べてしまい、誠に恐れ入りますが
使用したい具体例としては、8日中にはなるべく8日(今日)の天候の表示を残して欲しいと思っております。
前回、「今日を含めた表示の希望」と「8日の日付をまたいだ際に、9日(明日)の情報が飛んでしまう」
といった報告となりましたが、総合しまして、
「8日の日付をまたぐまでは8日(今日)を表示」
「8日の日付をまたいだ際には、8日が残っている分には構わず、9日(明日)の天候が確認出来る」
の形となれば嬉しいな、と思っております。

*3)日付が変わった時間からの表示について
8日(火)25時頃(9日1時頃)確認してみたところ、
以前と同様で、やはり「明日(10日)」の情報が一つ飛んで
「一週間」「明日・明後日」双方ともに9日(10日明日が飛び)11日が次に表示される形でした。
この時に、読み込み元データ先を確認したところ
「10日(明日)」の「最高気温・最低気温」が公開されておりませんでした。

(4)全体として
今回書き込みにまとめていた際に、もしかしたら、と思った点となり、間違っているかもしれませんが
>変更点の「最低・最高気温がない日を表示しない仕様」
こちらが、まだ「表示しない仕様のまま」で、
「今日(元データ先で気温が表示されていない時間…おそらく夕方17時以降)」と
日付をまたぐ際に「明日(元データ先で気温が表示されていない時間…おそらく深夜0時以降)」
には、その日付のデータを読み込まれない(飛ばされている)問題なのかと感じました。

プログラムに関して素人がこのような希望で突っ込んでしまいお手数をおかけ致します。
無理を申し付けているかもしれませんが、もし提供にご検討頂ける範囲であれば、
どうぞご検討をよろしくお願いいたします。
管理人さん (5qh31dhf)2015/12/9 10:18削除
sai様
ご報告ありがとうございます!
キャッシュ(ブラウザに残る古いデータ)の処理が正しくできていないのが原因ではないかと思いましたので、一部手を加えました。
引き続き動作確認を行ってまいります。お気付きの点などございましたら書き込みをどうぞよろしくお願いいたします。
管理人さん (5qh31dhf)2015/12/9 19:34削除
夕方確認しましたところ、ご指摘の「本日が表示されない」状態だったため確認しましたところ、処理の誤りを発見しました。
修正しましたのでご報告申し上げます。何度も申し訳ございません。
返信
s
saiさん (5qdvk63t)2015/12/5 05:54 (No.2)削除
先ほど、日曜日が表示されない件で投稿しましたが、
この天気予報は「今日、明日」「今日から一週間」という「本日の今日」という日を含めた設定で
提供は考えていらっしゃらないでしょうか?
本日、今日の天候も表示出来ればとても素敵で、利用したいと思っております。
一度ご検討頂ければ嬉しく思います。
返信