JA:Taginfo/Taglists
taginfo API でタグの一覧を表示することができます。一覧にどのタグを含めるかを選択することができ、 taginfo が要素の種類、説明、例の画像、(任意で)データベースでの利用数を表示します。
これで、簡単なテンプレートを使って OSM ウィキ上のタグの一覧表を作成することができます。一覧表を手動で収集・管理する代わりに、 taginfo がやってくれます。
このウィキでのタグ一覧の埋め込み
Taglist
テンプレートを使用し、一覧にするタグを tags
引数で指定してください。
{{Taglist|tags=highway=motorway,trunk,primary,secondary,tertiary,oneway=yes}}
これで、次のような一覧表が得られます。
言語の設定
lang
引数を使って表示する言語を設定することができます。既定では en (英語)です。ですから...
{{Taglist|tags=highway=motorway,trunk,primary,secondary,tertiary,oneway=yes|lang=ja}}
...で一覧表を日本語で表示できます。
なお、多国語化には必要なことが2つあります。
1. Taginfo にその言語の表の見出しで使われている文字列が必要です。 https://github.com/joto/taginfo/blob/master/web/public/js/taglists.js の中に必要です。(人手を介さなければ更新が行われないので、数日間かかります。)
2. キーとタグの説明は、その言語でウィキ内に存在する必要があります。そのためにはキーやタグのページのインフォボックスを更新してください。次回の taginfo の更新後に有効になります。ふつうは1日以内です。
オブジェクト数を表に追加
データベースでの利用数を追加する場合は、 with_count=true
引数を加えてください。
{{Taglist|tags=highway=motorway,trunk,primary,secondary,tertiary,oneway=yes|with_count=true}}
次のように表示されます。
一覧表にレンダリング例を追加
OSM の標準スタイルでレンダリングされる方法を示す画像を追加する場合は with_rendering=true
を追加してください。
{{Taglist|tags=shop=tea,bag|with_rendering=true}}
以下のように表示されます。
キーの「すべての」タグの一覧を作成
キー名だけを指定すると、指定されたキーの「すべての」一覧を作成することができます。
{{Taglist|tags=access}}
一覧にすべてのタグが含まれるわけではなく、ウィキ上に文書化されたもののみを含みます。もっと具体的には、タグページに Template:ValueDescription 情報ボックスを含んでいる必要があります。この使い方は、一覧が予告なく変更され、含めたくない奇妙なタグが含まれる可能性があるため、多くの場合はこの方法を使いたいとは思わないでしょう。ですから、一覧にどのタグを含めるかを個々に書き出す方がいいでしょう。
自分のウェブページでタグ一覧を埋め込む
jQuery と taglists.js
をウェブページにインクルードしてください。
<script type="text/javascript" src=".../jquery-1.9.0.min.js"></script> <script type="text/javascript" src="https://taginfo.openstreetmap.org/js/taglists.js"></script>
これで小さい HTML スニペットを追加すると、ウェブページにタグ一覧を追加できます。
<div class="taglist" data-taginfo-taglist-tags="highway=motorway,trunk,primary,secondary,tertiary"> </div>
タグの一覧は、 KEY1=VALUE1a,VALUE1b,...,KEY2=VALUE2a,VALUE2b,... という書式で何でも入れられます。キーのみを追加すると、そのキーでウィキページがあるすべての値が入ります。
data-taginfo-taglist-options
を利用してオプションを追加できます。これで使われる言語を変更することができます。
<div class="taglist" data-taginfo-taglist-tags="natural=wood,landuse=forest" data-taginfo-taglist-options='{"lang": "de"}'> </div>
そして、データベースでの利用数を加えることができます。
<div class="taglist" data-taginfo-taglist-tags="natural=wood,landuse=forest" data-taginfo-taglist-options='{"with_count": true}'> </div>
一覧表を作成するために、最後に convert_to_taglist
を呼び出す必要があります。
<script type="text/javascript"> jQuery(document).ready(function() { taginfo_taglist.convert_to_taglist('.taglist'); }); </script>
これでページに入れた div
が一覧表に置き換わります。
table
には taginfo-taglist
クラスが設定されます。 CSS で表のスタイルをつけるために使うことができます。
機能的には taginfo API の tags/list
の呼び出しを使っています。詳しい情報は https://taginfo.openstreetmap.org/taginfo/apidoc#api_4_tags_list を参照してください。