DE:Taginfo/Taglists
Die Taginfo API kann erweiterte Listen von Tags ausgeben. Du kannst bestimmen, welche Tags in dieser Liste und taginfo Elementtypen, Beschreibung, Beispielbilder und (optional) Verwendungszählungen aus der Datenbank hinzugefügt werden.
Dies kann verwendet werden, um Tabellen von Tags im OSM-Wiki mithilfe einer einfachen Vorlage zu erstellen. Anstatt die Tabellen manuell zusammenzustellen und zu pflegen, lass Taginfo die Arbeit für Dich erledigen.
Tag-Listen in dieses Wiki einbinden
Verwende die Vorlage Tagliste
mit einer Liste von Tags als tags
Parameter:
{{Taglist|tags=highway=motorway,trunk,primary,secondary,tertiary,oneway=yes}}
Und Du bekommst eine Tabelle wie folgt:
Einstellen der Sprache
Mit dem Parameter lang
kannst Du die gewünschte Sprache festlegen. Die Voreinstellung ist en (Englisch). Damit ergibt …
{{Taglist|tags=highway=motorway,trunk,primary,secondary,tertiary,oneway=yes|lang=ru}}
… eine Tabelle auf Russisch:
Beachte, dass für die Lokalisierung zwei Dinge benötigt werden:
1. Taginfo braucht für die Texte im Tabellenkopf für die jeweilige Sprache Vorlagen, die unter https://github.com/joto/taginfo/blob/master/web/public/js/taglists.js stehen sollten. (Updates sind nur durch manuellen Eingriffen möglich, die einige Tage dauern können.)
2. Die key/tag-Beschreibung muss im Wiki in dieser Sprache verfügbar sein. Aktualisiere die Info-Box auf der key/tag-Seite für diese. Updates stehen nach dem nächsten Update von Taginfo, normalerweise innerhalb eines Tages, zur Verfügung.
Die Spracheinstellung wird, wenn nichts angegeben ist, auch aus der web-Adresse ermittelt.
Hinzufügen von Verwendungszählungen zur Tabelle
Füge den Parameter with_count=true
hinzu, wenn die Verwendungszählungen aus der Datenbank hinzufügt werden sollen:
{{Taglist|tags=highway=motorway,trunk,primary,secondary,tertiary,oneway=yes|with_count=true}}
ergibt:
Rendering-Symbole zur Tabelle hinzufügen
Füge den Parameter with_rendering=true
hinzu, wenn ein Symbol hinzufügt werden soll, das zeigt, wie das Tag im Standard-OSM-Stil dargestellt wird:
{{Taglist|tags=shop=tea,bag|with_rendering=true}}
ergibt:
Die Größe der Symbole ist die Originalgröße. (Die Größe wird im svg-File mit width="xx" height="yy" festgelegt.)
Erstellt eine Liste mit "all"-Tags für einen Schlüssel
Du kannst eine Liste von "all"-Tags für einen bestimmten Schlüssel erstellen, indem Du nur den Schlüssel angibst:
{{Taglist|tags=access}}
Die Liste enthält nicht alle Tags, sondern nur die, die im Wiki dokumentiert sind. Um genauer zu sein: Die Tag-Seite muss vorhanden sein und die Template:ValueDescription Info-Box enthalten. Diese Verwendung ist wahrscheinlich nicht das, was Du in den meisten Fällen willst, weil die Liste sich ändern kann, ohne dass Du es bemerkst, und man könnte seltsame Tags bekommen, wo man sie nicht erwartet. So ist es besser, genau aufzuschreiben, welche Tags in dieser Liste sein sollen.
Einbindung einer Tagliste in die eigene Website
Binde die beiden Skripte von jQuery und taglists.js
in deine Website ein:
<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>
Nun kannst Du mit einem kleinen HTML Abschnitt eine Tagliste in eine Seite einbinden:
<div class="taglist" data-taginfo-taglist-tags="highway=motorway,trunk,primary,secondary,tertiary"> </div>
Die Liste der Tags kann etwas im folgenden Format sein: KEY1=VALUE1a,VALUE1b,…,KEY2=VALUE2a,VALUE2b,…. Wenn Du nur einen Key hinzufügst, dann wird die Tabelle alle Werte dieses Keys enthalten, die wir im Wiki haben.
Du kannst Optionen mit dem Key data-taginfo-taglist-options
hinzufügen. Somit kannst Du die Sprache ändern:
<div class="taglist" data-taginfo-taglist-tags="natural=wood,landuse=forest" data-taginfo-taglist-options='{"lang": "de"}'> </div>
Und Du kannst den Nutzungszähler aus der Datenbank einbinden:
<div class="taglist" data-taginfo-taglist-tags="natural=wood,landuse=forest" data-taginfo-taglist-options='{"with_count": true}'> </div>
Zuletzt musst Du die convert_to_taglist
Funktion aufrufen, um die Tabelle zu erzeugen:
<script type="text/javascript"> jQuery(document).ready(function() { taginfo_taglist.convert_to_taglist('.taglist'); }); </script>
Dies wird den div
Tag in der Website durch die Tabelle ersetzen.
Das table
Element hat die taginfo-taglist
Klasse. Diese kannst Du zum Anpassen des Aussehens mit CSS verwenden.
Diese Funktionalität nutzt den Taginfo API Aufruf tags/list
. Beachte dazu https://taginfo.openstreetmap.org/taginfo/apidoc#api_4_tags_list für weitere Informationen.