Fix oauth-flow

This commit is contained in:
Pieter Vander Vennet 2024-05-09 16:49:33 +02:00
parent d0014c23fa
commit 72b0745462
359 changed files with 2492270 additions and 410 deletions

View file

@ -1,10 +1,8 @@
import osmAuth from "osm-auth"
import { osmAuth } from "osm-auth"
import { Store, Stores, UIEventSource } from "../UIEventSource"
import { OsmPreferences } from "./OsmPreferences"
import { ChangesetHandler } from "./ChangesetHandler"
import { ElementStorage } from "../ElementStorage"
import Svg from "../../Svg"
import Img from "../../UI/Base/Img"
import { Utils } from "../../Utils"
import { OsmObject } from "./OsmObject"
import { Changes } from "./Changes"
@ -33,8 +31,8 @@ export type OsmServiceState = "online" | "readonly" | "offline" | "unknown" | "u
export class OsmConnection {
public static readonly oauth_configs = {
osm: {
oauth_consumer_key: "hivV7ec2o49Two8g9h8Is1VIiVOgxQ1iYexCbvem",
oauth_secret: "wDBRTCem0vxD7txrg1y6p5r8nvmz8tAhET7zDASI",
oauth_consumer_key: "K93H1d8ve7p-tVLE1ZwsQ4lAFLQk8INx5vfTLMu5DWk",
oauth_secret: "NBWGhWDrD3QDB35xtVuxv4aExnmIt4FA_WgeLtwxasg",
url: "https://www.openstreetmap.org",
// OAUTH 1.0 application
// https://www.openstreetmap.org/user/Pieter%20Vander%20Vennet/oauth_clients/7404
@ -513,7 +511,7 @@ export class OsmConnection {
// In standalone mode, we DON'T use single page login, as 'redirecting' opens a new window anyway...
// Same for an iframe...
this.auth = new osmAuth({
this.auth = new osmAuth(<any> {
oauth_consumer_key: this._oauth_config.oauth_consumer_key,
oauth_secret: this._oauth_config.oauth_secret,
url: this._oauth_config.url,

File diff suppressed because it is too large Load diff

View file

@ -136,4 +136,4 @@
"lineCap": "square"
}
]
}
}

View file

@ -2,13 +2,13 @@
"id": "advertising",
"credits": "Offsel",
"title": {
"en": "Open Advertising Map",
"en": "Advertising",
"ca": "Mapa obert de publicitat",
"es": "Mapa abierto de publicidad",
"de": "Offene Werbekarte",
"cs": "Otevřít reklamní mapu",
"fr": "Open Advertising Map",
"nl": "Reclamekaart"
"nl": "Reclame"
},
"shortDescription": {
"ca": "On puc trobar elements publicitaris?",

View file

@ -1,11 +1,11 @@
{
"id": "aed",
"title": {
"en": "Open AED Map",
"en": "Defibrillators",
"ca": "Mapa obert de desfibril·ladors (DEA)",
"es": "Mapa Abierto de Desfibriladores (DEA)",
"fr": "Carte des défibrillateurs (DAE)",
"nl": "Open AED-kaart",
"nl": "Defibrillatoren en AED",
"de": "AED-Karte",
"hu": "Defibrillátor-térkép",
"id": "Buka Peta AED",

View file

@ -1,8 +1,8 @@
{
"id": "artwork",
"title": {
"en": "Open Artwork Map",
"nl": "Open kunstwerken-kaart",
"en": "Artwork",
"nl": "Kunstwerken",
"fr": "Carte ouverte des œuvres d'art",
"de": "Freie Kunstkarte",
"hu": "Műalkotástérkép",

View file

@ -43,7 +43,7 @@
"en": "This map shows all benches that are recorded in OpenStreetMap: Individual benches, and benches belonging to public transport stops or shelters.",
"de": "Diese Karte zeigt alle Sitzbänke, die in OpenStreetMap eingetragen sind: Alleinstehende Bänke und Bänke, die zu Haltestellen oder Unterständen gehören.",
"fr": "Cette carte affiche les bancs cartographiés dans OpenStreetMap, entre autres : bancs des transports en commun, bancs publics, etc. À l'aide de votre compte OpenStreetMap, vous pourrez ajouter de nouveaux bancs ou modifier les bancs existants.",
"nl": "Deze kaart toont alle zitbanken die zijn opgenomen in OpenStreetMap: individuele banken en banken bij bushaltes. Met een OpenStreetMap-account kan je informatie verbeteren en nieuwe zitbanken toevoegen.",
"nl": "Deze kaart toont alle zitbanken die zijn opgenomen in OpenStreetMap: individuele banken en banken bij bushaltes.",
"it": "Questa mappa mostra tutte le panchine che sono state aggiunte su OpenStreetMap: panchine individuali e quelle alle fermate del trasporto pubblico o nei ripari. Se disponi di un account OpenStreetMap puoi mappare delle nuove panchine o modificare i dettagli di quelle esistenti.",
"ru": "На этой карте показаны все скамейки, записанные в OpenStreetMap: отдельные скамейки, а также скамейки, относящиеся к остановкам общественного транспорта или навесам. Имея учётную запись OpenStreetMap, вы можете наносить на карту новые скамейки или редактировать информацию о существующих скамейках.",
"ja": "このマップには、OpenStreetMapに記録されているすべてのベンチが表示されます。個々のベンチ、および公共交通機関の停留所または避難場所に属するベンチです。OpenStreetMapアカウントを使用すると、新しいベンチをマップしたり、既存のベンチの詳細を編集したりできます。",

View file

@ -1,8 +1,8 @@
{
"id": "bookcases",
"title": {
"en": "Open Bookcase Map",
"nl": "Open boekenruilkasten-kaart",
"en": "Public bookcases",
"nl": "Boekenruilkasten",
"de": "Karte öffentlicher Bücherschränke",
"fr": "Carte des microbibliothèques",
"ru": "Открытая карта книжных шкафов",
@ -19,7 +19,7 @@
},
"description": {
"en": "A public bookcase is a small streetside cabinet, box, old phone booth or some other objects where books are stored. Everyone can place or take a book. This map aims to collect all these bookcases.",
"nl": "Een boekenruilkast is een kastje waar iedereen een boek kan nemen of achterlaten. Op deze kaart kan je deze boekenruilkasten terugvinden en met een gratis OpenStreetMap-account, ook boekenruilkasten toevoegen of informatie verbeteren",
"nl": "Een boekenruilkast is een kastje waar iedereen een boek kan nemen of achterlaten.",
"de": "Bücherschränke sind alte Schaltschränke, Telefonzellen oder andere Einrichtungen zur Aufbewahrung von Büchern. Jeder kann Bücher abgeben oder mitnehmen. Die Karte soll helfen, alle Orte mit Bücherschränken zu sammeln.",
"fr": "Une microbibliothèques, également appelée boite à livre, est un élément de mobilier urbain (étagère, armoire, etc) dans lequel sont stockés des livres et autres objets en accès libre. Découvrez les boites à livres prêt de chez vous, ou ajouter en une nouvelle à l'aide de votre compte OpenStreetMap.",
"ru": "Общественный книжный шкаф - это небольшой уличный шкаф, коробка, старый телефонный аппарат или другие предметы, где хранятся книги. Каждый может положить или взять книгу. Цель этой карты - собрать все эти книжные шкафы. Вы можете обнаружить новые книжные шкафы поблизости и, имея бесплатный аккаунт OpenStreetMap, быстро добавить свои любимые книжные шкафы.",

View file

@ -1,8 +1,8 @@
{
"id": "climbing",
"title": {
"en": "Open Climbing Map",
"nl": "Open klimkaart",
"en": "Climbing gyms, clubs and spots",
"nl": "Klimzalen, klimclubs en klimgelegenheden",
"de": "Offene Kletterkarte",
"ru": "Открытая карта скалолазания",
"ja": "登山地図を開く",

View file

@ -1,8 +1,8 @@
{
"id": "cyclofix",
"title": {
"en": "Cyclofix - an open map for cyclists",
"nl": "Cyclofix - een open kaart voor fietsers",
"en": "Cyclofix - a map for cyclists",
"nl": "Cyclofix - een kaart voor fietsers",
"fr": "Cyclofix - Une carte ouverte pour les cyclistes",
"gl": "Cyclofix - Un mapa aberto para os ciclistas",
"de": "Cyclofix - die freie Karte für Radler",

View file

@ -1,8 +1,8 @@
{
"id": "etymology",
"title": {
"en": "Open Etymology Map",
"nl": "Open Etymology-kaart",
"en": "Etymology - what is a street named after?",
"nl": "Etymologie - waarnaar is een straat vernoemd?",
"de": "Karte zur Herkunft der Namen",
"it": "Apri Carta Etimologica",
"ru": "Открытая этимологическая карта",

View file

@ -41,7 +41,7 @@
"hu": "Ezen a térképen tűzcsapokat, tűzoltóállomásokat, mentőállomásokat és tűzoltóállomásokat találhat és szerkeszthet kedvenc városrészeiben (vagy másutt).\n\nA bal alsó sarokban nyomon követheti pontos tartózkodási helyét (csak mobilon), és kiválaszthatja az Ön számára releváns rétegeket. Ezzel az eszközzel gombostűket (érdekes pontokat, POI-kat) is szerkeszthet vagy felrajzolhat a térképre, a rendelkezésre álló kérdések megválaszolásával pedig további részleteket adhat meg.\n\nAz Ön által elvégzett módosítások automatikusan elmentődnek az OpenStreetMap globális adatbázisában, és mások szabadon újra felhasználhatják azokat.",
"ru": "На этой карте вы можете найти и обновить местоположение пожарных гидрантов, пожарных станций, станций скорой помощи и огнетушителей в ваших избранных районах населенного пункта.\n\nВы можете записать своё точное месторасположение (только на мобильных устройствах) и выбрать интересующие слои данных в левом нижнем углу. Вы также можете использовать этот инструмент для добавления или изменения точек интереса на карте и дополнять данные, отвечая на вопросы.\n\nВсе сделанные вами изменения автоматически сохраняются в базе данных OpenStreetMap и могут быть свободно переработаны другими пользователями.",
"es": "En este mapa puedes encontrar y actualizar hidrantes contra incendios, estaciones de bomberos, estaciones de ambulancias y extintores en tus vecindarios favoritos.",
"nl": "Op deze kaart kan je hydranten, brandblussers, brandweerkazernes en stalplaatsen voor ambulances vinden en updaten.\n\nJe kan je exacte locatie bepalen (enkel via GSM) en relevante lagen selecteren in de linkeronderhoek. Je kan deze applicatie ook gebruiken om pins (points of interest) op de kaart te zetten en om extra details toe te voegen door vragen te beantwoorden.\n\nAlle wijzigingen die je maakt zullen automatisch worden opgeslagen in de globale database van OpenStreetMap en kunnen vrij door anderen gebruikt worden.",
"nl": "Op deze kaart kan je hydranten, brandblussers, brandweerkazernes en stalplaatsen voor ambulances vinden en updaten.",
"da": "På dette kort kan du finde og opdatere brandhaner, brandstationer, ambulancestationer og brandslukkere i dine yndlingskvarterer.\n\nDu kan spore din præcise placering (kun mobil) og vælge lag, der er relevante for dig, i nederste venstre hjørne. Du kan også bruge dette værktøj til at tilføje eller redigere POI (points of interest) til kortet og give yderligere detaljer ved at besvare tilgængelige spørgsmål.\n\nAlle ændringer, du foretager, bliver automatisk gemt i den globale database af OpenStreetMap og kan frit genbruges af andre.",
"ca": "A aquest mapa pots trobar i actualizar boques d'incendis, parcs de bombers, estacions d'ambulàncies i extintors als seus veïnats preferits.",
"cs": "Na této mapě můžete najít a aktualizovat informace o hydrantech, stanicích záchranné služby, hasičských stanicích a hasicích přístrojích ve vašich oblíbených čtvrtích."

View file

@ -52,7 +52,8 @@
"de": "ein Sanitätshaus",
"es": "una tienda de suministros médicos",
"cs": "obchod se zdravotnickými potřebami",
"ca": "una botiga de subministraments mèdics"
"ca": "una botiga de subministraments mèdics",
"nl": "een winkel voor medische hulpmiddelen"
},
"tags": [
"shop=medical_supply"
@ -64,7 +65,8 @@
"de": "ein Hörgerätegeschäft",
"es": "una tienda de audífonos",
"cs": "obchod se sluchadly",
"ca": "una botiga d'audiòfons"
"ca": "una botiga d'audiòfons",
"nl": "een hoorapparatenwinkel"
},
"tags": [
"shop=hearing_aids"
@ -77,7 +79,8 @@
"es": "una óptica",
"cs": "optik",
"ca": "una òptica",
"fr": "un opticien"
"fr": "un opticien",
"nl": "een optieker"
},
"tags": [
"shop=optician"

View file

@ -1,7 +1,7 @@
{
"id": "openwindpowermap",
"title": {
"en": "OpenWindPowerMap",
"en": "WInd power generators",
"fr": "OpenWindPowerMap",
"de": "Freie Windenergie-Karte",
"it": "OpenWindPowerMap",

View file

@ -1,7 +1,7 @@
{
"id": "shops",
"title": {
"en": "Open Shop Map",
"en": "Shops",
"fr": "Carte des magasins",
"ja": "オープン ショップ マップ",
"zh_Hant": "開放商店地圖",

View file

@ -1,10 +1,10 @@
{
"id": "toilets",
"title": {
"en": "Open Toilet Map",
"en": "Public toilets",
"de": "Freie Toilettenkarte",
"fr": "Carte des WC et toilettes publiques",
"nl": "Open Toilettenkaart",
"nl": "Publieke Toiletten",
"ru": "Открытая карта туалетов",
"ja": "オープントイレマップ",
"zh_Hant": "開放廁所地圖",

View file

@ -35,16 +35,6 @@
"1": {
"title": "eine freistehende Posterbox"
},
"10": {
"description": "Verwendet für Werbeschilder, Leuchtreklamen, Logos und institutionelle Eingangsschilder",
"title": "ein Schild"
},
"11": {
"title": "eine Skulptur"
},
"12": {
"title": "eine Wandmalerei"
},
"2": {
"title": "eine wandmontierte Posterbox"
},
@ -71,6 +61,16 @@
},
"9": {
"title": "ein Totem"
},
"10": {
"description": "Verwendet für Werbeschilder, Leuchtreklamen, Logos und institutionelle Eingangsschilder",
"title": "ein Schild"
},
"11": {
"title": "eine Skulptur"
},
"12": {
"title": "eine Wandmalerei"
}
},
"tagRenderings": {
@ -165,9 +165,6 @@
"1": {
"then": "Dies ist ein Brett"
},
"10": {
"then": "Dies ist eine Wandmalerei"
},
"2": {
"then": "Dies ist eine Litfaßsäule"
},
@ -191,6 +188,9 @@
},
"9": {
"then": "Dies ist ein Totem"
},
"10": {
"then": "Dies ist eine Wandmalerei"
}
},
"question": "Welche Art von Werbung ist das?",
@ -205,9 +205,6 @@
"1": {
"then": "Brett"
},
"10": {
"then": "Wandmalerei"
},
"2": {
"then": "Posterbox"
},
@ -231,6 +228,9 @@
},
"9": {
"then": "Totem"
},
"10": {
"then": "Wandmalerei"
}
}
}
@ -312,15 +312,6 @@
"1": {
"then": "Wandbild"
},
"10": {
"then": "Azulejo (spanische dekorative Fliesenarbeit)"
},
"11": {
"then": "Fliesenarbeit"
},
"12": {
"then": "Holzschnitzerei"
},
"2": {
"then": "Malerei"
},
@ -344,6 +335,15 @@
},
"9": {
"then": "Relief"
},
"10": {
"then": "Azulejo (spanische dekorative Fliesenarbeit)"
},
"11": {
"then": "Fliesenarbeit"
},
"12": {
"then": "Holzschnitzerei"
}
},
"question": "Um welche Art Kunstwerk handelt es sich?",
@ -1830,27 +1830,6 @@
"1": {
"question": "Verfügt über einen <div style='display: inline-block'><b><b>Schuko-Stecker</b> ohne Erdungsstift (CEE7/4 Typ F)</b><img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/CEE7_4F.svg'/></div>"
},
"10": {
"question": "Hat einen <div style='display: inline-block'><b><b>Typ 2</b> (Mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> Anschluss mit Kabel"
},
"11": {
"question": "Hat einen <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (Typ 2 CSS vonTesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> Anschluss"
},
"12": {
"question": "Hat einen <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> Anschluss"
},
"13": {
"question": "Hat einen <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (Typ 2 von Tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> Anschluss mit Kabel"
},
"14": {
"question": "Hat einen <div style='display: inline-block'><b><b>USB</b>-Anschluss zum Aufladen von Telefonen und kleinen Elektrogeräten</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div>"
},
"15": {
"question": "Hat einen <div style='display: inline-block'><b><b>Bosch Active Connect Anschluss mit 3 Pins</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/bosch-3pin.svg'/></div> und Kabel"
},
"16": {
"question": "Hat einen <div style='display: inline-block'><b><b>Bosch Active Connect Anschluss mit 5 Pins</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/bosch-5pin.svg'/></div> und Kabel"
},
"2": {
"question": "Verfügt über einen <div style='display: inline-block'><b><b>europäischen Netzstecker</b> mit Erdungsstift (CEE7/4 Typ E)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/TypeE.svg'/></div> Anschluss"
},
@ -1874,6 +1853,27 @@
},
"9": {
"question": "Hat einen <div style='display: inline-block'><b><b>Typ 2 CCS</b> (Mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> Anschluss"
},
"10": {
"question": "Hat einen <div style='display: inline-block'><b><b>Typ 2</b> (Mennekes)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> Anschluss mit Kabel"
},
"11": {
"question": "Hat einen <div style='display: inline-block'><b><b>Tesla Supercharger CCS</b> (Typ 2 CSS vonTesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_CCS.svg'/></div> Anschluss"
},
"12": {
"question": "Hat einen <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Tesla-hpwc-model-s.svg'/></div> Anschluss"
},
"13": {
"question": "Hat einen <div style='display: inline-block'><b><b>Tesla Supercharger (Destination)</b> (Typ 2 von Tesla)</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/Type2_tethered.svg'/></div> Anschluss mit Kabel"
},
"14": {
"question": "Hat einen <div style='display: inline-block'><b><b>USB</b>-Anschluss zum Aufladen von Telefonen und kleinen Elektrogeräten</b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/usb_port.svg'/></div>"
},
"15": {
"question": "Hat einen <div style='display: inline-block'><b><b>Bosch Active Connect Anschluss mit 3 Pins</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/bosch-3pin.svg'/></div> und Kabel"
},
"16": {
"question": "Hat einen <div style='display: inline-block'><b><b>Bosch Active Connect Anschluss mit 5 Pins</b></b> <img style='width:1rem; display: inline-block' src='./assets/layers/charging_station/bosch-5pin.svg'/></div> und Kabel"
}
}
}
@ -1929,6 +1929,30 @@
"1": {
"then": "<b>Schuko-Stecker</b> ohne Erdungsstift (CEE7/4 Typ F)"
},
"2": {
"then": "<b>Europäischer Netzstecker</b> mit Erdungsstift (CEE7/4 Typ E)"
},
"3": {
"then": "<b>Europäischer Netzstecker</b> mit Erdungsstift (CEE7/4 Typ E)"
},
"4": {
"then": "<b>Chademo-Anschluss</b>"
},
"5": {
"then": "<b>Chademo-Anschluss</b>"
},
"6": {
"then": "<b>Typ 1 mit Kabel</b> (J1772)"
},
"7": {
"then": "<b>Typ 1 mit Kabel</b> (J1772)"
},
"8": {
"then": "<b>Typ 1 <i>ohne</i> Kabel</b> (J1772)"
},
"9": {
"then": "<b> Typ 1 <i>ohne </i> Kabel</b> (J1772)"
},
"10": {
"then": "<b>Typ 1 CCS</b> (Typ 1 Combo)"
},
@ -1959,9 +1983,6 @@
"19": {
"then": "<b>Typ 2 mit Kabel</b> (mennekes)"
},
"2": {
"then": "<b>Europäischer Netzstecker</b> mit Erdungsstift (CEE7/4 Typ E)"
},
"20": {
"then": "<b>Tesla Supercharger CCS</b> (Typ 2 CSS von Tesla)"
},
@ -1992,32 +2013,11 @@
"29": {
"then": "<b> Bosch Active Connect mit 3 Pins </b> und Kabel"
},
"3": {
"then": "<b>Europäischer Netzstecker</b> mit Erdungsstift (CEE7/4 Typ E)"
},
"30": {
"then": "<b>Bosch Active Connect mit 5 Pins</b> und Kabel"
},
"31": {
"then": "<b> Bosch Active Connect mit 5 Pins </b> und Kabel"
},
"4": {
"then": "<b>Chademo-Anschluss</b>"
},
"5": {
"then": "<b>Chademo-Anschluss</b>"
},
"6": {
"then": "<b>Typ 1 mit Kabel</b> (J1772)"
},
"7": {
"then": "<b>Typ 1 mit Kabel</b> (J1772)"
},
"8": {
"then": "<b>Typ 1 <i>ohne</i> Kabel</b> (J1772)"
},
"9": {
"then": "<b> Typ 1 <i>ohne </i> Kabel</b> (J1772)"
}
},
"question": "Welche Ladeanschlüsse gibt es hier?"
@ -3503,15 +3503,6 @@
"1": {
"then": "Dieser Radweg hat einen festen Belag"
},
"10": {
"then": "Dieser Radweg besteht aus feinem Schotter"
},
"11": {
"then": "Der Radweg ist aus Kies"
},
"12": {
"then": "Dieser Radweg besteht aus Rohboden"
},
"2": {
"then": "Der Radweg ist aus Asphalt"
},
@ -3535,6 +3526,15 @@
},
"9": {
"then": "Der Radweg ist aus Schotter"
},
"10": {
"then": "Dieser Radweg besteht aus feinem Schotter"
},
"11": {
"then": "Der Radweg ist aus Kies"
},
"12": {
"then": "Dieser Radweg besteht aus Rohboden"
}
},
"question": "Was ist der Belag dieses Radwegs?",
@ -3583,15 +3583,6 @@
"1": {
"then": "Dieser Radweg hat einen festen Belag"
},
"10": {
"then": "Dieser Radweg besteht aus feinem Schotter"
},
"11": {
"then": "Der Radweg ist aus Kies"
},
"12": {
"then": "Dieser Radweg besteht aus Rohboden"
},
"2": {
"then": "Der Radweg ist aus Asphalt"
},
@ -3615,6 +3606,15 @@
},
"9": {
"then": "Der Radweg ist aus Schotter"
},
"10": {
"then": "Dieser Radweg besteht aus feinem Schotter"
},
"11": {
"then": "Der Radweg ist aus Kies"
},
"12": {
"then": "Dieser Radweg besteht aus Rohboden"
}
},
"question": "Was ist der Belag dieser Straße?",
@ -4547,6 +4547,30 @@
"1": {
"then": "Die Fitness-Station hat ein Schild mit Anweisungen für eine bestimmte Übung."
},
"2": {
"then": "Die Fitness-Station hat eine Einrichtung für Sit-ups."
},
"3": {
"then": "Die Fitness-Station hat eine Vorrichtung für Liegestütze. In der Regel eine oder mehrere niedrige Reckstangen."
},
"4": {
"then": "Die Fitness-Station hat Stangen zum Dehnen."
},
"5": {
"then": "Die Fitness-Station hat eine Vorrichtung für Rückenstrecker (Hyperextensions)."
},
"6": {
"then": "Die Fitness-Station hat Ringe für Gymnastikübungen."
},
"7": {
"then": "Die Fitness-Station hat eine horizontale Leiter (Monkey Bars)."
},
"8": {
"then": "Die Fitness-Station hat eine Sprossenwand zum Klettern."
},
"9": {
"then": "Die Fitness-Station hat Pfosten für Slalomübungen."
},
"10": {
"then": "Die Fitness-Station hat Trittsteine."
},
@ -4577,9 +4601,6 @@
"19": {
"then": "Die Fitness-Station hat Kampfseile (battle ropes)."
},
"2": {
"then": "Die Fitness-Station hat eine Einrichtung für Sit-ups."
},
"20": {
"then": "Die Fitness-Station hat ein Fahrradergometer."
},
@ -4594,27 +4615,6 @@
},
"24": {
"then": "Die Fitness-Station hat eine Slackline."
},
"3": {
"then": "Die Fitness-Station hat eine Vorrichtung für Liegestütze. In der Regel eine oder mehrere niedrige Reckstangen."
},
"4": {
"then": "Die Fitness-Station hat Stangen zum Dehnen."
},
"5": {
"then": "Die Fitness-Station hat eine Vorrichtung für Rückenstrecker (Hyperextensions)."
},
"6": {
"then": "Die Fitness-Station hat Ringe für Gymnastikübungen."
},
"7": {
"then": "Die Fitness-Station hat eine horizontale Leiter (Monkey Bars)."
},
"8": {
"then": "Die Fitness-Station hat eine Sprossenwand zum Klettern."
},
"9": {
"then": "Die Fitness-Station hat Pfosten für Slalomübungen."
}
},
"question": "Welche Übungsgeräte gibt es an dieser Fitness-Station?"
@ -4715,21 +4715,6 @@
"1": {
"then": "Dies ist eine Pommesbude"
},
"10": {
"then": "Hier werden chinesische Gerichte serviert"
},
"11": {
"then": "Hier werden griechische Gerichte serviert"
},
"12": {
"then": "Hier werden indische Gerichte serviert"
},
"13": {
"then": "Hier werden türkische Gerichte serviert"
},
"14": {
"then": "Hier werden thailändische Gerichte serviert"
},
"2": {
"then": "Bietet vorwiegend Pastagerichte an"
},
@ -4753,6 +4738,21 @@
},
"9": {
"then": "Hier werden französische Gerichte serviert"
},
"10": {
"then": "Hier werden chinesische Gerichte serviert"
},
"11": {
"then": "Hier werden griechische Gerichte serviert"
},
"12": {
"then": "Hier werden indische Gerichte serviert"
},
"13": {
"then": "Hier werden türkische Gerichte serviert"
},
"14": {
"then": "Hier werden thailändische Gerichte serviert"
}
},
"question": "Was für Essen gibt es hier?",
@ -5890,19 +5890,6 @@
}
}
},
"10": {
"options": {
"0": {
"question": "Alle Notizen"
},
"1": {
"question": "Importnotizen ausblenden"
},
"2": {
"question": "Nur Importnotizen anzeigen"
}
}
},
"2": {
"options": {
"0": {
@ -5958,6 +5945,19 @@
"question": "Nur offene Notizen anzeigen"
}
}
},
"10": {
"options": {
"0": {
"question": "Alle Notizen"
},
"1": {
"question": "Importnotizen ausblenden"
},
"2": {
"question": "Nur Importnotizen anzeigen"
}
}
}
},
"name": "OpenStreetMap-Hinweise",
@ -6286,21 +6286,6 @@
"1": {
"then": "Dies ist ein normaler Stellplatz."
},
"10": {
"then": "Dies ist ein Stellplatz, der für Eltern mit Kindern reserviert ist."
},
"11": {
"then": "Dies ist ein Stellplatz, der für das Personal reserviert ist."
},
"12": {
"then": "Dies ist ein Stellplatz, der für Taxis reserviert ist."
},
"13": {
"then": "Dies ist ein Stellplatz, der für Fahrzeuge mit Anhänger reserviert ist."
},
"14": {
"then": "Dies ist ein Stellplatz, der für Carsharing reserviert ist."
},
"2": {
"then": "Dies ist ein Behindertenstellplatz."
},
@ -6324,6 +6309,21 @@
},
"9": {
"then": "Dies ist ein Stellplatz, der für Motorräder reserviert ist."
},
"10": {
"then": "Dies ist ein Stellplatz, der für Eltern mit Kindern reserviert ist."
},
"11": {
"then": "Dies ist ein Stellplatz, der für das Personal reserviert ist."
},
"12": {
"then": "Dies ist ein Stellplatz, der für Taxis reserviert ist."
},
"13": {
"then": "Dies ist ein Stellplatz, der für Fahrzeuge mit Anhänger reserviert ist."
},
"14": {
"then": "Dies ist ein Stellplatz, der für Carsharing reserviert ist."
}
},
"question": "Welche Art von Stellplatz ist dies?"
@ -6950,6 +6950,30 @@
"1": {
"question": "Recycling von Batterien"
},
"2": {
"question": "Recycling von Getränkekartons"
},
"3": {
"question": "Recycling von Dosen"
},
"4": {
"question": "Recycling von Kleidung"
},
"5": {
"question": "Recycling von Speiseöl"
},
"6": {
"question": "Recycling von Motoröl"
},
"7": {
"question": "Recycling von Leuchtstoffröhren"
},
"8": {
"question": "Recycling von Grünabfällen"
},
"9": {
"question": "Recycling von Glasflaschen"
},
"10": {
"question": "Recycling von Glas"
},
@ -6980,35 +7004,11 @@
"19": {
"question": "Recycling von Restabfällen"
},
"2": {
"question": "Recycling von Getränkekartons"
},
"20": {
"question": "Recycling von Druckerpatronen"
},
"21": {
"question": "Recycling von Fahrrädern"
},
"3": {
"question": "Recycling von Dosen"
},
"4": {
"question": "Recycling von Kleidung"
},
"5": {
"question": "Recycling von Speiseöl"
},
"6": {
"question": "Recycling von Motoröl"
},
"7": {
"question": "Recycling von Leuchtstoffröhren"
},
"8": {
"question": "Recycling von Grünabfällen"
},
"9": {
"question": "Recycling von Glasflaschen"
}
}
},
@ -7076,6 +7076,30 @@
"1": {
"then": "Getränkekartons können hier recycelt werden"
},
"2": {
"then": "Dosen können hier recycelt werden"
},
"3": {
"then": "Kleidung kann hier recycelt werden"
},
"4": {
"then": "Speiseöl kann hier recycelt werden"
},
"5": {
"then": "Motoröl kann hier recycelt werden"
},
"6": {
"then": "Hier können Leuchtstoffröhren recycelt werden"
},
"7": {
"then": "Grünabfälle können hier recycelt werden"
},
"8": {
"then": "Bio-Abfall kann hier recycelt werden"
},
"9": {
"then": "Glasflaschen können hier recycelt werden"
},
"10": {
"then": "Glas kann hier recycelt werden"
},
@ -7106,9 +7130,6 @@
"19": {
"then": "Schuhe können hier recycelt werden"
},
"2": {
"then": "Dosen können hier recycelt werden"
},
"20": {
"then": "Elektrokleingeräte können hier recycelt werden"
},
@ -7123,27 +7144,6 @@
},
"24": {
"then": "Fahrräder können hier recycelt werden"
},
"3": {
"then": "Kleidung kann hier recycelt werden"
},
"4": {
"then": "Speiseöl kann hier recycelt werden"
},
"5": {
"then": "Motoröl kann hier recycelt werden"
},
"6": {
"then": "Hier können Leuchtstoffröhren recycelt werden"
},
"7": {
"then": "Grünabfälle können hier recycelt werden"
},
"8": {
"then": "Bio-Abfall kann hier recycelt werden"
},
"9": {
"then": "Glasflaschen können hier recycelt werden"
}
},
"question": "Was kann hier recycelt werden?"
@ -7725,12 +7725,6 @@
},
"question": "Hat die Treppe einen Handlauf?"
},
"multilevels": {
"override": {
"question": "Zwischen welchen Stockwerken befindet sich die Treppe?",
"render": "Die Treppe befinden sich zwischen den Stockwerken {level}"
}
},
"ramp": {
"mappings": {
"0": {
@ -7857,12 +7851,6 @@
"1": {
"then": "Diese Straßenlaterne verwendet LEDs"
},
"10": {
"then": "Diese Straßenlaterne verwendet Hochdruck-Natriumdampflampen (orange mit weiß)"
},
"11": {
"then": "Diese Straßenlaterne wird mit Gas beleuchtet"
},
"2": {
"then": "Diese Straßenlaterne verwendet Glühlampenlicht"
},
@ -7886,6 +7874,12 @@
},
"9": {
"then": "Diese Straßenlaterne verwendet Niederdruck-Natriumdampflampen (einfarbig orange)"
},
"10": {
"then": "Diese Straßenlaterne verwendet Hochdruck-Natriumdampflampen (orange mit weiß)"
},
"11": {
"then": "Diese Straßenlaterne wird mit Gas beleuchtet"
}
},
"question": "Mit welcher Art von Beleuchtung arbeitet diese Straßenlaterne?"
@ -8144,18 +8138,6 @@
},
"render": "Dieser Fahrkartenentwerter ist Teil einer Zugangsbarriere vom Typ {barrier}"
},
"payment-options": {
"override": {
"mappings+": {
"0": {
"then": "Dieser Fahrkartenentwerter akzeptiert die OV-Chipkaart"
},
"1": {
"then": "Dieser Fahrkartenentwerter akzeptiert die OV-Chipkaart"
}
}
}
},
"validator-operator": {
"freeform": {
"placeholder": "Name des Betreibers"
@ -8373,11 +8355,6 @@
},
"name": "Toiletten in anderen Einrichtungen",
"tagRenderings": {
"opening_hours": {
"override": {
"question": "Wann ist die Einrichtung, in der sich diese Toiletten befinden, geöffnet?"
}
},
"toilet-access": {
"mappings": {
"0": {
@ -9218,4 +9195,4 @@
}
}
}
}
}

View file

@ -904,33 +904,6 @@
"onwheels": {
"description": "On this map, publicly weelchair accessible places are shown and can be easily added",
"layers": {
"19": {
"override": {
"=title": {
"render": "Statistics"
}
}
},
"20": {
"override": {
"+tagRenderings": {
"0": {
"render": {
"special": {
"text": "Import"
}
}
},
"1": {
"render": {
"special": {
"message": "Add all the suggested tags"
}
}
}
}
}
},
"4": {
"override": {
"filter": {
@ -973,6 +946,33 @@
"override": {
"name": "Disabled parking spaces"
}
},
"19": {
"override": {
"=title": {
"render": "Statistics"
}
}
},
"20": {
"override": {
"+tagRenderings": {
"0": {
"render": {
"special": {
"text": "Import"
}
}
},
"1": {
"render": {
"special": {
"message": "Add all the suggested tags"
}
}
}
}
}
}
},
"title": "OnWheels"
@ -1133,6 +1133,10 @@
"stations": {
"description": "View, edit and add details to a train station",
"layers": {
"3": {
"description": "Layer showing train stations",
"name": "Train Stations"
},
"16": {
"description": "Displays showing the trains that will leave from this station",
"name": "Departures boards",
@ -1164,10 +1168,6 @@
"title": {
"render": "Departures board"
}
},
"3": {
"description": "Layer showing train stations",
"name": "Train Stations"
}
},
"title": "Train Stations"
@ -1259,4 +1259,4 @@
"shortDescription": "A map with waste baskets",
"title": "Waste Basket"
}
}
}

View file

@ -1023,33 +1023,6 @@
"onwheels": {
"description": "Op deze kaart kan je informatie rond rolstoeltoegankelijkheid zien, zoals toegangsdeuren met hun breedte en drempelhoogte, toiletten met toegankelijkheidsinformatie, recepties maar ook winkels, cafés en restaurants.",
"layers": {
"19": {
"override": {
"=title": {
"render": "Statistieken"
}
}
},
"20": {
"override": {
"+tagRenderings": {
"0": {
"render": {
"special": {
"text": "Importeren"
}
}
},
"1": {
"render": {
"special": {
"message": "Voeg alle gesuggereerde tags toe"
}
}
}
}
}
},
"4": {
"override": {
"filter": {
@ -1092,6 +1065,33 @@
"override": {
"name": "Parkeerplaatsen voor personen met een beperking"
}
},
"19": {
"override": {
"=title": {
"render": "Statistieken"
}
}
},
"20": {
"override": {
"+tagRenderings": {
"0": {
"render": {
"special": {
"text": "Importeren"
}
}
},
"1": {
"render": {
"special": {
"message": "Voeg alle gesuggereerde tags toe"
}
}
}
}
}
}
},
"title": "OnWheels"
@ -1298,6 +1298,10 @@
"stations": {
"description": "Bekijk, bewerk en voeg details to aan een treinstation",
"layers": {
"3": {
"description": "Laag met treinstations",
"name": "Treinstations"
},
"16": {
"description": "Schermen die treinen tonen die van dit station vertrekken",
"name": "Vertrektijdenborden",
@ -1329,10 +1333,6 @@
"title": {
"render": "Vertrektijdenbord"
}
},
"3": {
"description": "Laag met treinstations",
"name": "Treinstations"
}
},
"title": "Treinstations"
@ -1432,4 +1432,4 @@
"shortDescription": "Een kaart met vuilnisbakken",
"title": "Vuilnisbak"
}
}
}

90
package-lock.json generated
View file

@ -1,12 +1,12 @@
{
"name": "mapcomplete",
"version": "0.27.4",
"version": "0.27.5",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "mapcomplete",
"version": "0.27.4",
"version": "0.27.5",
"license": "GPL-3.0-or-later",
"dependencies": {
"@rollup/plugin-typescript": "^11.0.0",
@ -38,7 +38,7 @@
"lz-string": "^1.4.4",
"mangrove-reviews-typescript": "^1.1.0",
"opening_hours": "^3.6.0",
"osm-auth": "^1.0.2",
"osm-auth": "^2.2.0",
"osmtogeojson": "^3.0.0-beta.5",
"papaparse": "^5.3.1",
"pic4carto": "^2.1.15",
@ -6994,17 +6994,6 @@
"node": ">=4"
}
},
"node_modules/jshashes": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/jshashes/-/jshashes-1.0.8.tgz",
"integrity": "sha512-btmQZ/w1rj8Lb6nEwvhjM7nBYoj54yaEFo2PWh3RkxZ8qNwuvOxvQYN/JxVuwoMmdIluL+XwYVJ+pEEZoSYybQ==",
"bin": {
"hashes": "bin/hashes"
},
"engines": {
"node": "*"
}
},
"node_modules/json-schema": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
@ -7826,18 +7815,6 @@
"node": ">= 0.4"
}
},
"node_modules/ohauth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/ohauth/-/ohauth-1.0.1.tgz",
"integrity": "sha512-R9ZUN3+FVCwzeOOHCJpzA9jw/byRxp5O9X06mTL6Sp/LIQn/rLrMv6cwYctX+hoIKzRUsalGJXZ1kG5wBmSskQ==",
"deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
"dependencies": {
"jshashes": "~1.0.8"
},
"engines": {
"node": ">=10"
}
},
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@ -8009,16 +7986,11 @@
}
},
"node_modules/osm-auth": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/osm-auth/-/osm-auth-1.1.2.tgz",
"integrity": "sha512-oLaU+c/TP7eKAZpBN4S1mv/N94IXp5A+wLpDfAVlpq/b6iikas8ZthXPqhM8QKg/qB8RaKvZPJgxqYS+5m8G8g==",
"dependencies": {
"ohauth": "~1.0.1",
"resolve-url": "~0.2.1",
"store": "~2.0.12"
},
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/osm-auth/-/osm-auth-2.5.0.tgz",
"integrity": "sha512-w3NnYbt+0PIih2Kwr1sLfQWehdLbcA3gZNJhX4VOBfeRtvm30iZA3nURphuZDokZ8Kmdv4LWB+AiIng2b+KvIA==",
"engines": {
"node": ">=14"
"node": ">=18.18"
}
},
"node_modules/osm-polygon-features": {
@ -8746,12 +8718,6 @@
"protocol-buffers-schema": "^3.3.1"
}
},
"node_modules/resolve-url": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
"integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==",
"deprecated": "https://github.com/lydell/resolve-url#deprecated"
},
"node_modules/restore-cursor": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
@ -9380,14 +9346,6 @@
"resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.2.tgz",
"integrity": "sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA=="
},
"node_modules/store": {
"version": "2.0.12",
"resolved": "https://registry.npmjs.org/store/-/store-2.0.12.tgz",
"integrity": "sha512-eO9xlzDpXLiMr9W1nQ3Nfp9EzZieIQc10zPPMP5jsVV7bLOziSFFBP0XoDXACEIFtdI+rIz0NwWVA/QVJ8zJtw==",
"engines": {
"node": "*"
}
},
"node_modules/string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
@ -17038,11 +16996,6 @@
"integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
"dev": true
},
"jshashes": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/jshashes/-/jshashes-1.0.8.tgz",
"integrity": "sha512-btmQZ/w1rj8Lb6nEwvhjM7nBYoj54yaEFo2PWh3RkxZ8qNwuvOxvQYN/JxVuwoMmdIluL+XwYVJ+pEEZoSYybQ=="
},
"json-schema": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
@ -17675,14 +17628,6 @@
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
},
"ohauth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/ohauth/-/ohauth-1.0.1.tgz",
"integrity": "sha512-R9ZUN3+FVCwzeOOHCJpzA9jw/byRxp5O9X06mTL6Sp/LIQn/rLrMv6cwYctX+hoIKzRUsalGJXZ1kG5wBmSskQ==",
"requires": {
"jshashes": "~1.0.8"
}
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@ -17813,14 +17758,9 @@
"dev": true
},
"osm-auth": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/osm-auth/-/osm-auth-1.1.2.tgz",
"integrity": "sha512-oLaU+c/TP7eKAZpBN4S1mv/N94IXp5A+wLpDfAVlpq/b6iikas8ZthXPqhM8QKg/qB8RaKvZPJgxqYS+5m8G8g==",
"requires": {
"ohauth": "~1.0.1",
"resolve-url": "~0.2.1",
"store": "~2.0.12"
}
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/osm-auth/-/osm-auth-2.5.0.tgz",
"integrity": "sha512-w3NnYbt+0PIih2Kwr1sLfQWehdLbcA3gZNJhX4VOBfeRtvm30iZA3nURphuZDokZ8Kmdv4LWB+AiIng2b+KvIA=="
},
"osm-polygon-features": {
"version": "0.9.2",
@ -18383,11 +18323,6 @@
"protocol-buffers-schema": "^3.3.1"
}
},
"resolve-url": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
"integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg=="
},
"restore-cursor": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
@ -18850,11 +18785,6 @@
"resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.2.tgz",
"integrity": "sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA=="
},
"store": {
"version": "2.0.12",
"resolved": "https://registry.npmjs.org/store/-/store-2.0.12.tgz",
"integrity": "sha512-eO9xlzDpXLiMr9W1nQ3Nfp9EzZieIQc10zPPMP5jsVV7bLOziSFFBP0XoDXACEIFtdI+rIz0NwWVA/QVJ8zJtw=="
},
"string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",

View file

@ -91,7 +91,7 @@
"lz-string": "^1.4.4",
"mangrove-reviews-typescript": "^1.1.0",
"opening_hours": "^3.6.0",
"osm-auth": "^1.0.2",
"osm-auth": "^2.2.0",
"osmtogeojson": "^3.0.0-beta.5",
"papaparse": "^5.3.1",
"pic4carto": "^2.1.15",

View file

@ -343,7 +343,7 @@ class LayerOverviewUtils extends Script {
const context = "While building builtin layer " + sharedLayerPath
const fixed = prepLayer.convertStrict(parsed, context)
if (fixed.source.osmTags["and"] === undefined) {
if (fixed.source.osmTags !== undefined && fixed.source.osmTags["and"] === undefined) {
fixed.source.osmTags = { and: [fixed.source.osmTags] }
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,752 @@
{
"id": "address",
"name": {
"en": "Known addresses in OSM",
"de": "Bekannte Adressen in OSM",
"zh_Hant": "OSM 上已知的地址",
"hu": "Ismert címek az OSM-en",
"nl": "Bekende adressen in OSM",
"fr": "Adresses connues dOpenStreetMap",
"ru": "Известные адреса в OSM",
"id": "Alamat yang dikenal di OSM",
"es": "Direcciones conocidas en OSM",
"zh_Hans": "OSM中已知的地址",
"nb_NO": "Kjente adresser i OSM",
"da": "Kendte adresser i OSM",
"pt": "Endereços conhecidos no OSM",
"eo": "Konataj adresoj en OSM",
"cs": "Známé adresy v OSM",
"pa_PK": "او‌ایس‌ایم وچ جاݨ پچھاݨے پتے",
"ca": "Adreces conegudes a OSM",
"zgh": "ⴰⵏⵙⵉⵡⵏ ⵉⵜⵜⵡⴰⵙⵙⵏⵏ ⴳ OSM",
"pt_BR": "Endereços conhecidos no OSM",
"eu": "OSMko helbide ezagunak",
"pl": "Znane adresy w OSM",
"it": "Indirizzo presente su OSM"
},
"description": {
"en": "Addresses",
"nl": "Adressen",
"de": "Adressen",
"ru": "Адреса",
"zh_Hant": "地址",
"hu": "Címek",
"fr": "Adresses",
"pl": "Adresy",
"id": "Alamat",
"es": "Direcciones",
"zh_Hans": "地址",
"ca": "Adreces",
"nb_NO": "Adresser",
"da": "Adresser",
"pt": "Endereços",
"eo": "Adresoj",
"cs": "Adresy",
"pa_PK": "پتے",
"zgh": "ⴰⵏⵙⵉⵡⵏ",
"pt_BR": "Endereços",
"he": "כתובות",
"eu": "Helbideak",
"it": "Indirizzi"
},
"source": {
"osmTags": {
"and": [
{
"or": [
"addr:housenumber~*",
"addr:street~*"
]
}
]
}
},
"calculatedTags": [
"_closest_3_street_names=closestn(feat)('named_streets',3, 'name').map(f => f.feat.properties.name)",
"_closest_street:0:name=JSON.parse(feat.properties._closest_3_street_names)[0]",
"_closest_street:1:name=JSON.parse(feat.properties._closest_3_street_names)[1]",
"_closest_street:2:name=JSON.parse(feat.properties._closest_3_street_names)[2]"
],
"minzoom": 18,
"title": {
"render": {
"en": "Known address",
"de": "Bekannte Adresse",
"hu": "Ismert cím",
"nl": "Bekend adres",
"fr": "Adresse connue",
"pl": "Znany adres",
"ru": "Известный адрес",
"es": "Domicilio conocido",
"zh_Hans": "已知的地址",
"id": "Alamat yang diketahui",
"nb_NO": "Kjent adresse",
"da": "Kendt adresse",
"cs": "Známá adresa",
"ca": "Adreça coneguda",
"pt": "Endereço conhecido",
"pt_BR": "Endereço conhecido",
"he": "כתובת ידועה",
"eu": "Helbide ezaguna",
"it": "Indirizzo conosciuto"
}
},
"pointRendering": [
{
"label": {
"render": "<div style='margin-top: -42px; color: white' class='rounded-full p-1 font-bold relative'>{addr:housenumber}</div>",
"condition": "addr:housenumber~*"
},
"iconSize": "50,50",
"marker": [
{
"icon": {
"render": "./assets/layers/address/housenumber_blank.svg",
"mappings": [
{
"if": {
"or": [
{
"and": [
"addr:housenumber=",
"nohousenumber!=yes"
]
},
"addr:street="
]
},
"then": "./assets/themes/uk_addresses/housenumber_unknown.svg"
}
]
}
}
],
"location": [
"point",
"centroid"
],
"anchor": "center",
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"color": {
"render": "#00f",
"mappings": [
{
"if": {
"or": [
{
"and": [
"addr:housenumber=",
"nohousenumber!=yes"
]
},
"addr:street="
]
},
"then": "#ff0"
}
]
},
"width": "8"
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "housenumber",
"render": {
"en": "The house number is <b>{addr:housenumber}</b>",
"nl": "Het huisnummer is <b>{addr:housenumber}</b>",
"de": "Die Hausnummer ist <b>{addr:housenumber}</b>",
"hu": "A házszám: <b>{addr:housenumber}</b>",
"fr": "Son numéro est le <b>{addr:housenumber}</b>",
"pl": "Numer tego domu to <b>{addr:housenumber}</b>",
"ru": "Номер дома <b>{addr:housenumber}</b>",
"zh_Hans": "门牌号是 <b>{addr:housenumber}</b>",
"id": "Nomor rumah ini <b>{addr:housenumber}</b>",
"es": "El número de puerta es <b>{addr:housenumber}</b>",
"da": "Husnummeret er <b>{addr:housenumber}</b>",
"cs": "Číslo domu je <b>{addr:housenumber}</b>",
"pt": "O número da casa é <b>{addr:housenumber}</b>",
"nb_NO": "Husnummeret er <b>{addr:housenumber}</b>",
"ca": "El número de porta és <b>{addr:housenumber}</b>",
"pt_BR": "O número da casa é <b>{addr:housenumber}</b>",
"he": "מספר הבית הוא <b>{addr:housenumber}</b>",
"eu": "Etxearen zenbakia <b>{addr:housenumber}</b> da",
"it": "Il numero civico della casa è <b>{addr:housenumber}</b>",
"zh_Hant": "門牌號碼是 <b>{addr:housenumber}</b>"
},
"question": {
"en": "What is the number of this house?",
"de": "Wie lautet die Nummer dieses Hauses?",
"hu": "Mi ennek az épületnek a házszáma?",
"nl": "Wat is het huisnummer van dit huis?",
"fr": "Quel est le numéro de ce bâtiment?",
"pl": "Jaki jest numer tego domu?",
"ru": "Какой номер у этого дома?",
"es": "¿Cuál es el número de esta casa?",
"zh_Hans": "这个屋子的门牌号是多少?",
"id": "Berapa nomor rumah ini?",
"da": "Hvad er nummeret på dette hus?",
"cs": "Jaké je číslo tohoto domu?",
"pt": "Qual é o número desta casa?",
"nb_NO": "Hvilket husnummer har dette huset?",
"ca": "Quin és el número d'aquesta casa?",
"pt_BR": "Qual é o número desta casa?",
"he": "מה המספר של הבית הזה?",
"eu": "Zein da etxe honen zenbakia?",
"it": "Qual è il numero civico di questa casa?",
"zh_Hant": "這間房子的門牌號碼是多少?"
},
"freeform": {
"key": "addr:housenumber",
"addExtraTags": [
"nohousenumber="
],
"inline": true
},
"mappings": [
{
"if": {
"and": [
"nohousenumber=yes"
]
},
"addExtraTags": [
"addr:housenumber="
],
"then": {
"en": "This building has no house number",
"nl": "Dit gebouw heeft geen huisnummer",
"de": "Dieses Gebäude hat keine Hausnummer",
"hu": "Ennek az épületnek nincs házszáma",
"fr": "Ce bâtiment na pas de numéro",
"pl": "Ten budynek nie ma numeru",
"ru": "У этого здания нет номера",
"id": "Bangunan ini tidak memiliki nomor rumah",
"es": "Esta edificación no tiene número",
"zh_Hans": "这个建筑物没有门牌号",
"da": "Denne bygning har intet husnummer",
"zh_Hant": "這棟建築沒有門牌",
"cs": "Tato budova nemá číslo domu",
"pt": "Este prédio não tem número",
"nb_NO": "Denne bygningen har ikke noe husnummer",
"ca": "Aquest edifici no té número",
"pt_BR": "Este prédio não tem número",
"he": "למבנה זה אין מספר בית",
"eu": "Eraikin honek ez du etxe zenbakirik",
"it": "Questo edificio non ha indirizzo"
}
}
]
},
{
"id": "street",
"render": {
"en": "This address is in street <b>{addr:street}</b>",
"de": "Diese Adresse befindet sich in der Straße <b>{addr:street}</b>",
"hu": "Ez a cím a következő utcában van: <b>{addr:street}</b>",
"nl": "Dit adres bevindt zich in de straat <b>{addr:street}</b>",
"fr": "Le nom de la voie est <b>{addr:street}</b>",
"pl": "Ten adres znajduje się na ulicy <b>{addr:street}</b>",
"zh_Hans": "这个地址位于<b>{addr:street}</b>街",
"id": "Alamat ini ada di jalan <b>{addr:street}</b>",
"es": "La dirección está en esta calle <b>{addr:street}</b>",
"da": "Denne adresse er på gaden <b>{addr:street}</b>",
"cs": "Tato adresa se nachází v ulici <b>{addr:street}</b>",
"ca": "L'adreça està a aquest carrer <b>{addr:street}</b>",
"pt": "Este endereço é na rua <b>{addr:street}</b>",
"pt_BR": "Este endereço fica na rua <b>{addr:street}</b>",
"he": "כתובת זו נמצאת ברחוב <b>{addr:street}</b>",
"eu": "Helbide hau <b>{addr:street}</b> kalean dago",
"it": "Lindirizzo è in via <b>{addr:street}</b>"
},
"question": {
"en": "What street is this address located in?",
"de": "In welcher Straße befindet sich diese Adresse?",
"hu": "Melyik utcában található ez a cím?",
"nl": "In welke straat bevindt dit adres zich?",
"fr": "Dans quelle rue est située ladresse?",
"pl": "Na jakiej ulicy znajduje się ten adres?",
"ru": "Какая эта улица?",
"es": "¿En qué calle se encuentra esta dirección?",
"zh_Hans": "这个地址位于哪条街道?",
"id": "Alamat ini di jalan apa?",
"da": "Hvilken gade ligger denne adresse på?",
"cs": "V jaké ulici se nachází tato adresa?",
"ca": "A quin carrer es troba l'adreça?",
"pt": "Em que rua fica esse endereço?",
"pt_BR": "Em que rua fica esse endereço?",
"he": "באיזה רחוב נמצאת הכתובת הזו?",
"eu": "Zein kaletan dago helbide hori?",
"it": "Qual è la via in cui si trova?",
"zh_Hant": "地址所在的道路是?"
},
"freeform": {
"key": "addr:street",
"inline": true
},
"mappings": [
{
"if": "addr:street:={_closest_street:0:name}",
"then": "Located in <b>{_closest_street:0:name}</b>",
"hideInAnswer": "_closest_street:0:name="
},
{
"if": "addr:street:={_closest_street:1:name}",
"then": "Located in <b>{_closest_street:1:name}</b>",
"hideInAnswer": "_closest_street:1:name="
},
{
"if": "addr:street:={_closest_street:2:name}",
"then": "Located in <b>{_closest_street:2:name}</b>",
"hideInAnswer": "_closest_street:2:name="
}
],
"condition": {
"and": [
"nohousenumber!~yes"
]
}
},
{
"id": "fixme",
"render": "<b>Fixme description</b>{fixme}",
"question": {
"en": "What should be fixed here? Please explain",
"zh_Hant": "這裡需要修什麼?請直接解釋",
"de": "Was sollte hier korrigiert werden? Bitte erläutern",
"hu": "Mit kellene itt kijavítani? Légy szíves, magyarázd el",
"fr": "Précisez ce qui devrait être corrigé ici",
"pl": "Co wymaga naprawy? Proszę wytłumaczyć",
"id": "Apa yang harus diperbaiki di sini? Tolong jelaskan",
"es": "¿Qué debe corregirse aquí? Expóngalo",
"nl": "Wat moet hier gecorrigeerd worden? Leg het uit",
"zh_Hans": "这里应被如何修复?请做出解释",
"da": "Hvad skal rettes her? Forklar venligst",
"cs": "Co by se zde mělo opravit? Vysvětlete to, prosím",
"pt": "O que deve ser corrigido aqui? Explique",
"nb_NO": "Hva bør fikses her? Forklar.",
"ca": "Què shauria de corregir aquí? Exposa-ho",
"pt_BR": "O que deve ser corrigido aqui? Explique",
"he": "מה צריך לתקן כאן? אנא הסבר",
"eu": "Zer konpondu behar da hemen? Azaldu mesedez",
"it": "Indica cosa deve essere corretto qui"
},
"freeform": {
"key": "fixme",
"inline": true
},
"mappings": [
{
"if": "fixme=",
"then": "No fixme - write something here to explain complicated cases"
}
]
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
}
],
"_layerIcon": [
{
"icon": "./assets/themes/uk_addresses/housenumber_unknown.svg"
}
]
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,714 @@
{
"id": "aerialway",
"name": {
"en": "Aerialways",
"de": "Seilbahnen"
},
"description": {
"en": "Various forms of transport for passengers and goods that use wires, including cable cars, gondolas, chair lifts, drag lifts, and zip lines. ",
"de": "Alle Arten von seil- oder drahtgestütztem Personen- oder Gütertransport, wie Seilbahnen, Gondeln, Sessellifte, Schlepplifte. "
},
"source": {
"osmTags": {
"and": [
"aerialway~*",
"aerialway!=pylon",
"aerialway!=station"
]
}
},
"minzoom": 11,
"title": {
"render": {
"en": "Aerialway {name}",
"de": "Seilbahn {name}"
}
},
"pointRendering": [
{
"location": [
"start"
],
"marker": [
{
"icon": {
"render": "square",
"id": "square"
}
}
],
"iconSize": "12,12",
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
},
{
"location": [
"point",
"projected_centerpoint"
],
"label": {
"render": {
"en": "{name}",
"de": "{name}"
},
"condition": "name~*",
"classes": "bg-white p-1 px-2 rounded"
},
"labelCssClasses": "bg-white px-2 py-1 no-weblate"
}
],
"lineRendering": [
{
"width": "4",
"color": "black",
"imageAlongWay": [
{
"if": "oneway=no",
"then": "./assets/png/twoway.png"
},
{
"if": {
"or": [
"oneway=yes",
"oneway="
]
},
"then": "./assets/png/oneway.png"
}
]
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"question": {
"en": "What type of aerialway is this?",
"de": "Um welchen Seilbahntyp handelt es sich?"
},
"id": "type",
"mappings": [
{
"if": "aerialway=cable_car",
"then": {
"en": "This is a cable car where the car goes up and down again on the same cable.",
"de": "Es handelt sich um eine Seilbahn, bei der die Kabine auf demselben Seil nach oben und wieder nach unten fährt."
},
"icon": "./assets/layers/aerialway/cable_car.svg"
},
{
"if": "aerialway=gondola",
"then": {
"en": "This is a gondola where the cars go around in continuous circles",
"de": "Es handelt sich um eine Seilbahn, bei der die Kabinen in ständigen Kreisen fahren"
},
"icon": "./assets/layers/aerialway/gondola_lift.svg"
},
{
"if": "aerialway=chair_lift",
"then": {
"en": "An open chairlift with seats to sit on and open to the outside air.",
"de": "Ein offener Sessellift mit Sitzgelegenheiten und Zugang zur Außenluft."
},
"icon": "./assets/layers/aerialway/chair_lift.svg"
},
{
"if": "aerialway=mixed",
"then": {
"en": "An aerialway which has both chairs and gondolas in the same continuous track",
"de": "Eine Seilbahn, die sowohl offene Sessel als auch geschlossene Gondeln auf einer durchgehenden Bahn hat"
}
},
{
"if": "aerialway=drag_lift",
"then": {
"en": "A drag lift",
"de": "Ein Schlepplift"
},
"hideInAnswer": true
},
{
"if": "aerialway=t-bar",
"then": {
"en": "A drag lift with T-shaped carriers for two passengers at a time",
"de": "Ein Schlepplift mit T-förmigen Trägern für jeweils zwei Passagiere"
}
},
{
"if": "aerialway=j-bar",
"then": {
"en": "A drag lift with L-shaped bars for a single passenger at a time",
"de": "Ein Schlepplift mit L-förmigen Trägern für jeweils einen Passagier"
}
},
{
"if": "aerialway=platter",
"then": {
"en": "A drag lift with a platter to drag a single passenger at a time",
"de": "Ein Schlepplift mit einem Teller für jeweils einen Passagier"
}
},
{
"if": "aerialway=rope_tow",
"then": {
"en": "A tow line which which drags skieers",
"de": "Eine Schleppleine, die Skifahrer mit sich zieht"
}
},
{
"if": "aerialway=magic_carpet",
"then": {
"en": "A magic carpet (a conveyor belt on the ground)",
"de": "Ein magic carpet (ein Förderband auf dem Boden)"
}
},
{
"if": "aerialway=zip_line",
"then": {
"en": "A zip line. (A touristical attraction where adventurous people go down at high speeds) ",
"de": "Eine Seilrutsche. (Eine Touristenattraktion, bei der abenteuerlustige Menschen mit hoher Geschwindigkeit hinunterfahren) "
}
}
]
},
{
"id": "duration",
"question": {
"en": "How long takes a single journey with this elevator?",
"de": "Wie lange dauert eine Fahrt mit diesem Aufzug?"
},
"questionHint": {
"en": "This excludes the waiting time.",
"de": "Dies schließt die Wartezeit aus."
},
"freeform": {
"key": "duration",
"inline": true
},
"render": {
"en": "A single journey takes {duration} minutes",
"de": "Eine Fahrt dauert {duration} Minuten"
}
},
{
"id": "occupancy",
"freeform": {
"key": "aerialway:occupancy",
"inline": true
},
"question": {
"en": "How many people fit a single carriage?",
"de": "Wie viele Leute passen in eine Kabine?"
},
"render": {
"en": "{aerialway:occupancy} people fit a single carriage",
"de": "{aerialway:occupancy} Leute passen in eine Kabine"
}
},
{
"id": "opening_hours",
"question": {
"en": "What are the opening hours of {title()}?",
"fr": "Quelles sont les horaires d'ouverture de {title()} ?",
"de": "Wie lauten die Öffnungszeiten von {title()}?",
"nl": "Wat zijn de openingstijden van {title()}?",
"nb_NO": "Hva er åpningstidene for {title()})",
"ru": "Какое время работы у {title()}?",
"zh_Hant": "{title()} 的開放時間是什麼?",
"it": "Quali sono gli orari di apertura di {title()}?",
"pt_BR": "Qual o horário de funcionamento de {title()}?",
"pl": "Jakie są godziny otwarcia {title()}?",
"sv": "Vilka är öppettiderna för {title()}?",
"pt": "Qual é o horário de funcionamento de {title()}?",
"hu": "Mikor van nyitva ez: {title()}?",
"ca": "Quin és l'horari d'obertura de {title()}?",
"ja": "{title()}の営業時間は?",
"sl": "Kakšen odpiralni čas ima {title()}?",
"fil": "Anong oras nagbubukas ang {title()}?",
"es": "¿Cuales son las horas de apertura de {title()}?",
"zh_Hans": "{title()} 的开放时间为何?",
"da": "Hvad er åbningstiderne for {title()}?",
"id": "Kapan jam buka {title()}?",
"cs": "Jaká je otevírací doba {title()}?"
},
"render": {
"de": "<h3>Öffnungszeiten</h3>{opening_hours_table(opening_hours)}",
"fr": "<h3>Horaires d'ouverture</h3>{opening_hours_table(opening_hours)}",
"en": "<h3>Opening hours</h3>{opening_hours_table(opening_hours)}",
"nl": "<h3>Openingstijden</h3>{opening_hours_table(opening_hours)}",
"nb_NO": "<h3>Åpningstider</h3>{opening_hours_table(opening_hours)}",
"ru": "<h3>Часы работы</h3>{opening_hours_table(opening_hours)}",
"zh_Hant": "<h3>開放時間</h3>{opening_hours_table(opening_hours)}",
"it": "<h3>Orari di apertura</h3>{opening_hours_table(opening_hours)}",
"pl": "<h3> Godziny otwarcia</h3>{opening_hours_table(opening_hours)}",
"pt_BR": "<h3>Horário de funcionamento</h3>{opening_hours_table(opening_hours)}",
"sv": "<h3>Öppettider</h3> {opening_hours_table(opening_hours)}",
"pt": "<h3>Horário de funcionamento</h3>{opening_hours_table(opening_hours)}",
"eo": "<h3>Malfermitaj horoj</h3>{opening_hours_table(opening_hours)}",
"hu": "<h3>Nyitva tartás</h3>{opening_hours_table(opening_hours)}",
"ca": "<h3>Horari d'obertura</h3>{opening_hours_table(opening_hours)}",
"ja": "<h3>営業時間</h3>{opening_hours_table(opening_hours)}",
"sl": "<h3>Odpiralni čas</h3>{opening_hours_table(opening_hours)}",
"fil": "<h3>Mga oras na bukas</h3>{opening_hours_table(opening_hours)}",
"es": "<h3>Horas de apertura</h3>{opening_hours_table(opening_hours)}",
"zh_Hans": "<h3>开放时间</h3> {opening_hours_table(opening_hours)}",
"da": "<h3> Åbningstider</h3>{opening_hours_table(opening_hours)}",
"id": "<h3>Jam buka</h3>{opening_hours_table(opening_hours)}",
"pa_PK": "<h3>کھُلھے گھنٹے</h3>{opening_hours_table(opening_hours)}",
"cs": "<h3>Otevírací hodiny</h3>{opening_hours_table(opening_hours)}"
},
"freeform": {
"key": "opening_hours",
"type": "opening_hours",
"inline": false
},
"mappings": [
{
"#": "Just here to be able to handle those ~5000 incorrect 'opening_hours=closed' elements.",
"if": "opening_hours=closed",
"then": {
"en": "Marked as closed for an unspecified time",
"nl": "Gesloten voor onbepaalde duur",
"de": "Als geschlossen für eine unbestimmte Zeit markiert"
},
"hideInAnswer": true
}
]
},
{
"id": "oneway",
"question": {
"en": "In what direction can this aerialway be taken?",
"de": "In welche Richtung kann diese Seilbahn genutzt werden?"
},
"mappings": [
{
"if": "oneway=yes",
"alsoShowIf": "oneway=",
"then": {
"en": "This aerialway can only be taken to the top",
"de": "Diese Seilbahn kann nur nach oben gefahren werden"
}
},
{
"if": "oneway=no",
"then": {
"en": "This aerialway can be taken in both directions",
"de": "Diese Seilbahn kann in beide Richtungen befahren werden"
}
}
]
},
{
"id": "length",
"render": {
"en": "This aerialway is {_length:km} kilometer long",
"de": "Die Seilbahn hat eine Länge von {_length:km} km",
"fr": "Cette voie aérienne fait {_length:km} kilomètre de long"
}
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
}
],
"_layerIcon": []
}

View file

@ -0,0 +1,882 @@
{
"id": "ambulancestation",
"name": {
"en": "Map of ambulance stations",
"ja": "救急ステーションの地図",
"ru": "Карта станций скорой помощи",
"fr": "Couche des ambulances",
"de": "Rettungswachen",
"it": "Carta delle stazioni delle ambulanze",
"hu": "Mentőállomás-térkép",
"nl": "Kaart van ambulancestations",
"zh_Hans": "救护车站地图",
"id": "Peta stasiun ambulans",
"es": "Mapa de estaciones de ambulancias",
"da": "Kort over ambulancestationer",
"cs": "Mapa stanic rychlé záchranné služby",
"ca": "Mapa d'estacions d'ambulàncies",
"nb_NO": "Kart over ambulansestasjoner",
"he": "מפת תחנות אמבולנסים",
"pl": "Mapa stacji pogotowia ratunkowego",
"pt_BR": "Mapa de estações de ambulância",
"pt": "Mapa de estações de ambulância"
},
"description": {
"en": "An ambulance station is an area for storage of ambulance vehicles, medical equipment, personal protective equipment, and other medical supplies.",
"ja": "救急ステーションは、救急車、医療機器、個人用保護具、およびその他の医療用品を保管する場所です。",
"fr": "Une station dambulance est un lieu où sont stockés les véhicules durgence ainsi que de léquipement médical.",
"de": "Eine Rettungswache ist ein Ort, an dem Rettungsfahrzeuge, medizinische Ausrüstung, persönliche Schutzausrüstung und anderes medizinisches Material untergebracht sind.",
"it": "La stazione delle ambulanze è unarea per lo stoccaggio delle ambulanze, dellequipaggiamento medico, dei dispositivi di protezione individuale e di altre forniture medicali.",
"hu": "A mentőállomás olyan terület, ahol mentőautókat, orvosi felszereléseket, egyéni védőfelszereléseket és egyéb orvosi felszereléseket tárolnak.",
"ru": "Станция скорой помощи это полигон для хранения транспорта, медицинского оборудования, средств индивидуальной защиты и других медицинских принадлежностей.",
"nl": "Een ambulancestation is een plaats waar ambulances, medisch materiaal, persoonlijk beschermingsmateriaal en aanverwanten worden bewaard.",
"es": "Una estación de ambulancias es una zona para almacenar vehículos de ambulancia, equipamiento médico, equipos de protección personal y otros suministros médicos.",
"da": "En ambulancestation er et område til opbevaring af ambulancekøretøjer, medicinsk udstyr, personlige værnemidler og andre medicinske forsyninger.",
"cs": "Stanice záchranné služby je prostor pro umístění sanitních vozidel, zdravotnického vybavení, osobních ochranných prostředků a dalšího zdravotnického materiálu.",
"ca": "Una estició d'abulàncies és una àrea per a emmagatzemar ambulàncies, equipament mèdic, equips de protecció personal i altres subministraments mèdics.",
"he": "תחנת אמבולנס היא אזור לאחסון רכבי אמבולנס, ציוד רפואי, ציוד מגן אישי וציוד רפואי אחר.",
"pl": "Stacja pogotowia ratunkowego to miejsce przechowywania pojazdów ambulansów, sprzętu medycznego, środków ochrony osobistej i innych artykułów medycznych.",
"pt_BR": "Uma estação de ambulância é uma área de armazenamento de veículos de ambulância, equipamentos médicos, equipamentos de proteção pessoal e outros suprimentos médicos.",
"zh_Hans": "救护站是存放救护车、医疗设备、个人防护设备和其他医疗用品的区域。",
"pt": "Uma estação de ambulância é uma área de armazenamento de veículos de ambulância, equipamentos médicos, equipamentos de proteção pessoal e outros suprimentos médicos."
},
"source": {
"osmTags": {
"and": [
"emergency=ambulance_station"
]
}
},
"minzoom": 12,
"title": {
"render": {
"en": "Ambulance Station",
"ru": "Станция скорой помощи",
"ja": "救急ステーション",
"fr": "Station dambulances",
"de": "Rettungswache",
"it": "Stazione delle ambulanze",
"hu": "Mentőállomás",
"nl": "Ambulancestation",
"es": "Estación de Ambulancias",
"da": "Ambulancestation",
"cs": "Stanice rychlé záchranné služby",
"ca": "Estació d'Ambulàncies",
"nb_NO": "Ambulansestasjon",
"he": "תחנת אמבולנס",
"pl": "Stacja pogotowia ratunkowego",
"pt_BR": "Estação de Ambulância",
"zh_Hans": "救护站",
"pt": "Estação de Ambulância"
}
},
"pointRendering": [
{
"iconSize": "35,35",
"location": [
"point",
"centroid"
],
"anchor": "center",
"marker": [
{
"icon": {
"render": "./assets/themes/hailhydrant/Twemoji_1f691.svg",
"id": "assetsthemeshailhydrantTwemoji1f691svg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"color": "#00f",
"width": "1"
}
],
"presets": [
{
"tags": [
"emergency=ambulance_station"
],
"title": {
"en": "an ambulance station",
"ru": "Станция скорой помощи",
"ja": "救急ステーション(消防署)",
"fr": "une station dambulances",
"de": "eine Rettungswache",
"it": "una stazione delle ambulanze",
"hu": "Mentőállomás",
"nl": "een ambulancestation",
"zh_Hans": "救护车站",
"id": "Stasiun ambulans",
"es": "una estación de ambulancias",
"nb_NO": "en ambulansestasjon",
"da": "en ambulancestation",
"cs": "stanice rychlé záchranné služby",
"ca": "una estació d'ambulàncies",
"pl": "stacja pogotowia ratunkowego",
"pt_BR": "uma estação de ambulância",
"pt": "uma estação de ambulância"
},
"description": {
"en": "Add an ambulance station to the map",
"ja": "救急ステーション(消防署)をマップに追加する",
"ru": "Добавить станцию скорой помощи на карту",
"fr": "Ajouter une station dambulances à la carte",
"de": "Eine Rettungsstation der Karte hinzufügen",
"it": "Aggiungi una stazione delle ambulanza alla mappa",
"hu": "Mentőállomás hozzáadása a térképhez",
"nl": "Voeg een ambulancestation toe aan de kaart",
"zh_Hans": "向地图中添加一个救护车站",
"id": "Tambahkan stasiun ambulans ke peta",
"es": "Añadir una estación de ambulancias al mapa",
"nb_NO": "Legg til en ambulansestasjon på kartet",
"da": "Tilføj en ambulancestation til kortet",
"cs": "Přidat na mapu stanici záchranné služby",
"ca": "Afegeix una estació d'ambulàncies al mapa",
"he": "הוספת תחנת אמבולנס למפה",
"pl": "Dodaj stację pogotowia ratunkowego do mapy",
"pt_BR": "Adicionar uma estação de ambulância ao mapa",
"pt": "Adicionar uma estação de ambulância ao mapa"
}
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "ambulance-name",
"freeform": {
"key": "name",
"inline": true
},
"question": {
"en": "What is the name of this ambulance station?",
"ja": "この救急ステーションの名前は何ですか?",
"ru": "Как называется эта станция скорой помощи?",
"fr": "Quel est le nom de cette station ?",
"it": "Qual è il nome di questa stazione delle ambulanze?",
"de": "Wie heißt die Rettungswache?",
"hu": "Mi a neve ennek a menőtállomásnak?",
"nl": "Hoe heet dit ambulancestation?",
"es": "¿Cual es el nombre de esta estación de ambulancias?",
"nb_NO": "Hva er navnet på denne ambulansestasjonen?",
"da": "Hvad hedder denne ambulancestation?",
"cs": "Jak se jmenuje tato stanice záchranné služby?",
"ca": "Quin és el nom d'aquesta estació d'ambulàncies?",
"zh_Hans": "这个救护车站叫什么名字?",
"he": "איך קוראים לתחנת האמבולנס הזו?",
"pl": "Jak nazywa się ta stacja pogotowia ratunkowego?",
"pt_BR": "Qual o nome dessa estação de ambulância?",
"pt": "Qual o nome desta estação de ambulância?"
},
"render": {
"en": "This station is called {name}.",
"ja": "このステーションの名前は{name}です。",
"ru": "Эта станция называется {name}.",
"fr": "Cette station sappelle {name}.",
"it": "Questa stazione è chiamata {name}.",
"de": "Diese Rettungswache heißt {name}.",
"hu": "A mentőállomás neve: {name}.",
"nl": "Dit station heet {name}.",
"es": "Esta estación se llama {name}.",
"nb_NO": "Denne stasjonen heter {name}.",
"da": "Denne station hedder {name}.",
"cs": "Tato stanice se jmenuje {name}.",
"ca": "Aquesta estació es diu {name}.",
"zh_Hans": "这个站点名为 {name}.",
"he": "תחנה זו נקראת {name}.",
"pl": "Ta stacja nazywa się {name}.",
"pt_BR": "Esta estação é chamada de {name}.",
"pt": "Esta estação é chamada de {name}."
}
},
{
"id": "ambulance-street",
"freeform": {
"key": "addr:street",
"inline": true
},
"question": {
"en": "What is the street name where the station located?",
"ja": " 救急ステーションの所在地はどこですか?",
"ru": " По какому адресу расположена эта станция?",
"fr": "Quel est le nom de la rue où la station se situe ?",
"it": " Come si chiama la strada in cui si trova questa stazione?",
"de": "In welcher Straße liegt die Rettungswache?",
"hu": "Mi a neve annak az utcának, amelyben az állomás található?",
"nl": "In welke straat ligt dit station?",
"es": "¿Cual es el nombre de la calle en la que se encuentra la estación?",
"da": "Hvad er vejnavnet, hvor stationen ligger?",
"cs": "Jak se jmenuje ulice, kde se stanice nachází?",
"ca": "Quin és el nom del carrer on es troba l'estació?",
"he": "מה שם הרחוב שבו נמצאת התחנה?",
"pl": "Jak nazywa się ulica, przy której znajduje się stacja?",
"pt_BR": "Como é o nome da rua em que a estação está localizada?",
"zh_Hans": "车站所在的街道名称是什么?",
"pt": "Como é o nome da rua em que a estação está localizada?"
},
"render": {
"en": "This station is along a highway called {addr:street}.",
"ja": "{addr:street} 沿いにあります。",
"ru": "Эта станция расположена вдоль шоссе {addr:street}.",
"fr": "La station fait partie de {addr:street}.",
"it": "Questa stazione si trova in {addr:street}.",
"de": "Dieser Bahnhof liegt an der Straße {addr:street}.",
"hu": "Ez az állomás a következő utcában van: {addr:street}.",
"nl": "Straat waar dit station ligt: {addr:street}",
"es": "Esta estación se encuentra al lado de una via llamada {addr:street}.",
"da": "Denne station ligger langs en vej, der hedder {addr:street}.",
"cs": "Tato stanice se nachází podél dálnice s názvem {addr:street}.",
"ca": "Aquesta estació es troba al costat d'una via anomenada {addr:street}.",
"he": "תחנה זו נמצאת לאורך כביש מהיר בשם {addr:street}.",
"pt_BR": "Essa estação está em uma via chamada {addr:street}.",
"zh_Hans": "该站位于一条名为 {addr:street} 的公路沿线。",
"pt": "Esta estação está numa autoestrada chamada {addr:street}."
}
},
{
"id": "ambulance-place",
"question": {
"en": "Where is the station located? (e.g. name of neighborhood, villlage, or town)",
"ja": "このステーションの住所は?(例: 地区、村、または町の名称)",
"ru": "Где расположена станция? (напр., название населённого пункта)",
"fr": "Dans quelle localité la station est-elle située (p.ex. nom du quartier, village ou villa) ?",
"it": "Dove si trova la stazione? (ad es. quartiere, paese o città)",
"de": "Wo befindet sich die Rettungswache? (z. B. Name von Stadtviertel, Dorf oder Stadt)",
"hu": "Hol található az állomás? (Pl. a falu, kisváros vagy városrész neve.)",
"nl": "Waar ligt het station? (v.b. naam van de buurt, dorp of stad)",
"es": "¿Dónde se encuentra la estación? (ej. nombre del barrio, pueblo o ciudad)",
"da": "Hvor ligger stationen? (f.eks. navn på kvarter, landsby eller by)",
"cs": "Kde se stanice nachází? (např. název čtvrti, obce nebo města)",
"ca": "On es troba aquesta estació? (p.e. nom del barri, poble o ciutat)",
"he": "היכן ממוקמת התחנה? (למשל שם השכונה, הכפר או העיירה)",
"pt_BR": "Onde está localizada a estação? (por exemplo, nome do bairro, vila ou cidade)",
"zh_Hans": "车站位于哪里? (例如邻里、村庄或城镇的名称)",
"pt": "Onde está a estação localizada ? (por exemplo, nome do bairro, vila ou cidade)"
},
"freeform": {
"key": "addr:place",
"inline": true
},
"render": {
"en": "This station is found within {addr:place}.",
"ja": "このステーションは{addr:place}にあります。",
"fr": "La station fait partie de {addr:place}.",
"it": "La stazione si trova a {addr:place}.",
"de": "Diese Rettungswache befindet sich in {addr:place}.",
"hu": "Ez az állomás itt található: {addr:place}.",
"nl": "Dit station ligt in {addr:place}.",
"es": "Esta estación se encuentra en {addr:place}.",
"da": "Denne station findes i {addr:place}.",
"cs": "Tato stanice se nachází v rámci {addr:place}.",
"ca": "Aquesta estació es troba a {addr:place}.",
"he": "תחנה זו נמצאת בתוך {addr:place}.",
"pt_BR": "Essa estação está localizada em {addr:place}.",
"zh_Hans": "该站位于{addr:place}内。",
"pt": "Esta estação está localizada em {addr:place}."
}
},
{
"id": "ambulance-agency",
"question": {
"en": "What agency operates this station?",
"ja": "このステーションを運営しているのはどこですか?",
"fr": "Quel est lexploitant de la station ?",
"it": "Quale agenzia gestisce questa stazione?",
"de": "Wer betreibt die Rettungswache?",
"hu": "Milyen szervezet működteti ezt az állomást?",
"ru": "Какая организация управляет этой станцией?",
"nl": "Welke organisatie beheert dit station?",
"es": "¿Qué agencia opera esta estación?",
"da": "Hvilket agentur driver denne station?",
"cs": "Jaká organizace tuto stanici provozuje?",
"ca": "Quina agència opera aquesta estació?",
"zh_Hans": "哪家机构运营这个站点?",
"he": "איזו סוכנות מפעילה את התחנה הזו?",
"pl": "Jaka agencja obsługuje tę stację?",
"pt_BR": "Qual agência opera essa estação?",
"pt": "Qual agência opera esta estação?"
},
"render": {
"en": "This station is operated by {operator}.",
"ja": "このステーションは{operator}によって運営されています。",
"fr": "Cette station est opérée par {operator}.",
"it": "Questa stazione è gestita da {operator}.",
"de": "Die Rettungswache wird betrieben von {operator}.",
"hu": "Az állomás üzemeltetője: {operator}.",
"ru": "Эта станция управляется {operator}.",
"nl": "Dit station wordt beheerd door {operator}.",
"es": "Esta estación la opera {operator}.",
"da": "Denne station drives af {operator}.",
"cs": "Tuto stanici provozuje společnost {operator}.",
"ca": "Aquesta estació l'opera {operator}.",
"zh_Hans": "这个站点由 {operator}运营",
"he": "תחנה זו מופעלת על ידי {operator}.",
"pl": "Ta stacja jest obsługiwana przez {operator}.",
"pt_BR": "Essa estação é operada pelo(a) {operator}.",
"pt": "Esta estação é operada pelo(a) {operator}."
},
"freeform": {
"key": "operator",
"inline": true
},
"mappings": []
},
{
"id": "ambulance-operator-type",
"question": {
"en": "How is the station operator classified?",
"ja": "ステーションの運営の分類は?",
"fr": "Quel est le type dexploitant ?",
"it": "Comè classificato il gestore della stazione?",
"de": "Wie kann der Betreiber der Rettungswache eingestuft werden?",
"hu": "Hogyan sorolható be az állomás üzemeltetője?",
"nl": "Wat voor een organisatie is de beheerder van dit station?",
"es": "¿Como está clasificada la operadora de la estación?",
"da": "Hvordan klassificeres stationsoperatøren?",
"cs": "Jak je klasifikován provozovatel stanice?",
"ca": "Com es classifica l'operador de l'estació?",
"he": "כיצד מסווג מפעיל התחנה?",
"pl": "Jak klasyfikowany jest operator stacji?",
"pt_BR": "Como essa estação é classificada?",
"zh_Hans": "车站运营商如何分类?",
"pt": "Como esta estação é classificada?"
},
"render": {
"en": "The operator is a(n) {operator:type} entity.",
"ja": "運営者は、{operator:type} です。",
"fr": "Lexploitant est de type {operator:type}.",
"it": "Loperatore è un ente {operator:type}.",
"de": "Der Betreiber ist eine {operator:type}.",
"hu": "Az üzemeltető egy {operator:type} jellegű szervezet.",
"nl": "De beheerder is van het type {operator:type}.",
"es": "La operadora es una entidad de tipo {operator:type}.",
"da": "Operatøren er en (n) {operator:type} enhed.",
"cs": "Operátor je {operator:type} entita.",
"ca": "L'operadora és una entitat del tipus {operator:type}.",
"pt_BR": "O operador é uma entidade {operator:type}.",
"zh_Hans": "运营者是一个 {operator:type} 实体。",
"pt": "O operador é uma entidade {operator:type}."
},
"freeform": {
"key": "operator:type",
"inline": true
},
"mappings": [
{
"if": {
"and": [
"operator:type=government"
]
},
"then": {
"en": "The station is operated by the government.",
"ja": "ステーションは自治体が運営する。",
"fr": "La station est opérée par le gouvernement.",
"it": "La stazione è gestita dal governo.",
"de": "Die Rettungswache wird von einer Behörde betrieben.",
"hu": "A mentőállomást a kormány üzemelteti.",
"ru": "Станция управляется правительством.",
"nl": "Dit station wordt beheerd door de overheid.",
"es": "La estación la opera el govierno.",
"da": "Stationen drives af staten.",
"cs": "Provozovatelem stanice je vláda.",
"ca": "El govern opera aquesta estació.",
"zh_Hans": "这个站点由政府运营。",
"he": "התחנה מופעלת על ידי הממשלה.",
"pl": "Stacja jest zarządzana przez rząd.",
"pt_BR": "A estação é operada pelo governo.",
"pt": "A estação é operada pelo governo."
}
},
{
"if": {
"and": [
"operator:type=community"
]
},
"then": {
"en": "The station is operated by a community-based, or informal organization.",
"ja": "任意団体やコミュニティが運営しているステーションである。",
"fr": "La station est opérée par une organisation informelle.",
"it": "La stazione è gestita dalla comunità o unorganizzazione non ufficiale.",
"de": "Die Rettungswache wird von einer gemeinnützigen Organisation betrieben.",
"hu": "Mentőállomást egy közösségi vagy nem hivatalos szervezet működteti.",
"ru": "Станция управляется волонтёрами или частной организацией.",
"nl": "Dit station wordt beheerd door een informele of community organisatie.",
"es": "La estación la opera una organización basada en la comunidad o informal.",
"da": "Stationen drives af en samfundsbaseret eller uformel organisation.",
"cs": "Provozovatelem stanice je komunitní nebo neformální organizace.",
"ca": "Aquesta estació l'opera una comunitat o organització informal.",
"he": "התחנה מופעלת על ידי ארגון קהילתי, או לא רשמי.",
"pl": "Stacja jest obsługiwana przez organizację społeczną lub nieformalną.",
"pt_BR": "A estação é operada por uma organização comunitária ou informal.",
"zh_Hans": "该站由社区或非正式组织运营。",
"pt": "A estação é operada por uma organização comunitária ou informal."
}
},
{
"if": {
"and": [
"operator:type=ngo"
]
},
"then": {
"en": "The station is operated by a formal group of volunteers.",
"ja": "公益団体が運営しているステーションである。",
"fr": "La station est opérée par un groupe officiel de bénévoles.",
"it": "La stazione è gestita da un gruppo ufficiale di volontari.",
"de": "Die Rettungswache wird von einer Freiwilligenorganisation betrieben.",
"hu": "A mentőállomást egy önkéntesekből álló hivatalos csoport működteti.",
"nl": "Dit station wordt beheerd door een formele groep vrijwilligers.",
"es": "La estación la opera un grupo formal de voluntarios.",
"da": "Stationen drives af en formel gruppe af frivillige.",
"cs": "Stanice je provozována formální skupinou dobrovolníků.",
"ca": "Aquesta estació l'opera un grup formal de voluntaris.",
"he": "התחנה מופעלת על ידי קבוצה רשמית של מתנדבים.",
"pl": "Stacja obsługiwana jest przez formalną grupę wolontariuszy.",
"pt_BR": "A estação é operada por um grupo formal de voluntários.",
"zh_Hans": "该站由一群正式的志愿者运营。",
"pt": "A estação é operada por um grupo formal de voluntários."
}
},
{
"if": {
"and": [
"operator:type=private"
]
},
"then": {
"en": "The station is privately operated.",
"ja": "個人が運営しているステーションである。",
"fr": "La station est opérée par un groupe privé.",
"it": "La stazione è gestita da un privato.",
"de": "Die Rettungswache wird von einer privaten Organisation betrieben.",
"hu": "Az állomást egy magánkézben lévő szervezet működteti.",
"nl": "Dit station wordt beheerd door een privé-organisatie.",
"es": "La estación se opera privadamente.",
"da": "Stationen er privatdrevet.",
"cs": "Stanice je provozována soukromým subjektem.",
"ca": "Aquesta estació l'opera una entitat privada.",
"he": "‍התחנה מופעלת באופן פרטי.",
"pl": "Stacja jest własnością prywatną.",
"pt_BR": "A estação é operada de forma privada.",
"zh_Hans": "该站是私人经营的。",
"pt": "A estação é operada de forma privada."
}
}
]
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
}
],
"_layerIcon": [
{
"icon": "./assets/themes/hailhydrant/Twemoji_1f691.svg"
}
]
}

View file

@ -0,0 +1,908 @@
{
"id": "animal_shelter",
"name": {
"en": "Animal shelters",
"de": "Tierheime",
"es": "Centros de acogida de animales",
"zh_Hans": "动物收容所",
"pt": "Abrigo para animais",
"ca": "Refugis d'animals"
},
"description": {
"en": "An animal shelter is a facility where animals in trouble are brought and facility's staff (volunteers or not) feeds them and cares of them, rehabilitating and healing them if necessary. This definition includes kennels for abandoned dogs, catteries for abandoned cats, shelters for other abandoned pets and wildlife recovery centres. ",
"es": "Un refugio de animales es una instalación donde se llevan animales con problemas y el personal de la instalación (voluntario o no) los alimenta y cuida, rehabilitándolos y curándolos si es necesario. Esta definición incluye las perreras para perros abandonados, los criaderos para gatos abandonados, los refugios para otros animales de compañía abandonados y los centros de recuperación de la fauna salvaje. ",
"zh_Hans": "动物收容所是一个设施,将遇到麻烦的动物带到这里,设施的工作人员(志愿者或非志愿者)喂养并照顾它们,并在必要时使它们康复和治愈。该定义包括被遗弃的狗的狗舍、被遗弃的猫的猫舍、其他被遗弃的宠物的庇护所和野生动物恢复中心。 ",
"de": "Ein Tierheim ist eine Einrichtung, in die notleidende Tiere gebracht werden und wo das Personal (ob freiwillig oder nicht) sie füttert und pflegt, sie rehabilitiert und bei Bedarf heilt. Diese Definition umfasst Zwinger für ausgesetzte Hunde, Katzenheime für ausgesetzte Katzen, Unterkünfte für andere ausgesetzte Haustiere und Wildtier-Auffangstationen. "
},
"source": {
"osmTags": {
"and": [
"amenity=animal_shelter"
]
}
},
"title": {
"render": {
"en": "Animal shelter",
"de": "Tierheim",
"es": "Centro de acogida de animales",
"zh_Hans": "动物收容所",
"pt": "Abrigo para animais",
"ca": "Refugi d'animals"
},
"mappings": [
{
"if": "name~*",
"then": {
"en": "{name}",
"de": "{name}",
"es": "{name}",
"zh_Hans": "{name}",
"ca": "{name}"
}
}
]
},
"pointRendering": [
{
"location": [
"centroid",
"point"
],
"marker": [
{
"icon": {
"render": "circle",
"id": "circle"
},
"color": "#ffffff"
},
{
"icon": {
"render": "./assets/layers/animal_shelter/animal_shelter.svg",
"id": "assetslayersanimalshelteranimalsheltersvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"width": "1",
"lineCap": "square",
"color": "#b5835a"
}
],
"presets": [
{
"title": {
"en": "an animal shelter",
"de": "ein Tierheim",
"es": "una protectora de animales",
"zh_Hans": "动物收容所",
"pt": "um abrigo para animais",
"ca": "un refugi d'animals"
},
"tags": [
"amenity=animal_shelter"
]
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "reviews",
"description": "Shows the reviews module (including the possibility to leave a review)",
"render": {
"*": "{create_review()}{list_reviews()}"
}
},
{
"id": "2",
"freeform": {
"key": "name",
"inline": true
},
"question": {
"en": "What is the name of this animal shelter?",
"de": "Wie lautet der Name des Tierheims?",
"es": "¿Cómo se llama este refugio de animales?",
"zh_Hans": "这个动物收容所叫什么名字?",
"ca": "Quin nom té aquest refugi d'animals?"
},
"render": {
"en": "This animal shelter is named <b>{name}</b>",
"de": "Der Name des Tierheims lautet <b>{name}</b>",
"es": "Este refugio de animales se llama <b>{name}</b>",
"zh_Hans": "这个动物收容所叫 <b>{name}</b>"
}
},
{
"id": "website",
"labels": [
"contact"
],
"icon": "./assets/layers/icons/website.svg",
"question": {
"en": "What is the website of {title()}?",
"nl": "Wat is de website van {title()}?",
"fr": "Quel est le site web de {title()} ?",
"gl": "Cal é a páxina web de {title()}?",
"nb_NO": "Hva er nettsiden til {title()}?",
"ru": "Какой сайт у {title()}?",
"id": "Apa situs web dari {title()}?",
"zh_Hant": "{title()} 網址是什麼?",
"it": "Qual è il sito web di {title()}?",
"de": "Wie lautet die Webseite von {title()}?",
"pt_BR": "Qual o site de {title()}?",
"pl": "Jaka jest strona internetowa {title()}?",
"sv": "Vad är webbplatsen för {title()}?",
"pt": "Qual é o sítio web de {title()}?",
"eo": "Kie estas la retejo de {title()}?",
"hu": "Mi a weboldala ennek: {title()}?",
"ca": "Quina és la web de {title()}?",
"ja": "{title()}のウェブサイトは?",
"fil": "Ano ang website ng {title()}?",
"es": "¿Cual es el sitio web de {title()}?",
"zh_Hans": "{title()} 的网站为何?",
"da": "Hvad er webstedet for {title()}?",
"cs": "Jaká je webová stránka {title()}?"
},
"render": {
"*": "<a href='{website}' rel='nofollow noopener noreferrer' target='_blank'>{website}</a>"
},
"freeform": {
"key": "website",
"type": "url",
"addExtraTags": [
"contact:website="
]
},
"mappings": [
{
"if": "contact:website~*",
"then": "<a href='{contact:website}' rel='nofollow noopener noreferrer' target='_blank'>{contact:website}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/icons/website.svg"
}
],
"editButtonAriaLabel": {
"en": "Edit website",
"nl": "Pas website aan",
"de": "Webseite bearbeiten"
}
},
{
"id": "phone",
"labels": [
"contact"
],
"question": {
"en": "What is the phone number of {title()}?",
"nl": "Wat is het telefoonnummer van {title()}?",
"fr": "Quel est le numéro de téléphone de {title()} ?",
"de": "Wie lautet die Telefonnummer von {title()}?",
"nb_NO": "Hva er telefonnummeret til {title()}?",
"ru": "Какой номер телефона у {title()}?",
"sv": "Vad är telefonnumret till {title()}?",
"zh_Hant": "{title()} 的電話號碼是什麼?",
"it": "Qual è il numero di telefono di {title()}?",
"pt_BR": "Qual o número de telefone de {title()}?",
"id": "Berapa nomor telepon dari {title()}?",
"pl": "Jaki jest numer telefonu do {title()}?",
"pt": "Qual é o número de telefone de {title()}?",
"eo": "Kio estas la telefonnumero de {title()}?",
"hu": "Mi a telefonszáma ennek: {title()}?",
"ca": "Quin és el telèfon de {title()}?",
"ja": "{title()}の電話番号は?",
"sl": "Kakšno telefonsko številko ima {title()}?",
"fil": "Ano ang telepono ng {title()}?",
"es": "¿Cuál es el número de teléfono de {title()}?",
"zh_Hans": "{title()} 的电话号码为何?",
"da": "Hvad er telefonnummeret til {title()}?",
"cs": "Jaké je telefonní číslo {title()}?"
},
"render": {
"*": "<a href='tel:{phone}'>{phone}</a>"
},
"icon": "./assets/layers/questions/phone.svg",
"mappings": [
{
"if": "contact:phone~*",
"then": "<a href='tel:{contact:phone}'>{contact:phone}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/questions/phone.svg"
}
],
"freeform": {
"key": "phone",
"type": "phone",
"addExtraTags": [
"contact:phone="
]
},
"editButtonAriaLabel": {
"en": "Edit phone number",
"nl": "Pas telefoonnummer aan",
"de": "Telefonnummer bearbeiten"
}
},
{
"id": "email",
"render": {
"*": "<a href='mailto:{email}' target='_blank' rel='noopener'>{email}</a>"
},
"icon": "./assets/svg/envelope.svg",
"labels": [
"contact"
],
"question": {
"nl": "Wat is het e-mailadres van {title()}?",
"fr": "Quelle est l'adresse courriel de {title()} ?",
"en": "What is the email address of {title()}?",
"nb_NO": "Hva er e-postadressen til {title()}?",
"ru": "Какой адрес электронной почты у {title()}?",
"id": "Apa alamat surel dari {title()}?",
"zh_Hant": "{title()} 的電子郵件地址是什麼?",
"it": "Qual è l'indirizzo email di {title()}?",
"de": "Wie lautet die Mail-Adresse von {title()}?",
"pt_BR": "Qual o endereço de e-mail de {title()}?",
"pl": "Jaki jest adres e-mail do {title()}?",
"sv": "Vad är e-postadressen till {title()}?",
"pt": "Qual é o endereço de e-mail de {title()}?",
"eo": "Kio estas la retpoŝta adreso de {title()}?",
"hu": "Mi a(z) {title()} e-mail címe?",
"ca": "Quina és l'adreça de correu electrònic de {title()}?",
"ja": "{title()}のEメールアドレスは何ですか",
"sl": "Kakšen naslov elektronske pošte ima {title()}?",
"fil": "Ano ang email address ng {title()}?",
"es": "¿Cuál es la dirección de correo electrónico de {title()}?",
"zh_Hans": "{title()} 的电子邮箱地址为何?",
"da": "Hvad er mailadressen på {title()}?",
"cs": "Jaká je e-mailová adresa {title()}?"
},
"mappings": [
{
"if": "contact:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{contact:email}' target='_blank' rel='noopener'>{contact:email}</a>",
"hideInAnswer": true
},
{
"if": "operator:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{operator:email}' target='_blank' rel='noopener'>{operator:email}</a>",
"hideInAnswer": true
}
],
"freeform": {
"key": "email",
"type": "email",
"addExtraTags": [
"contact:email="
]
},
"editButtonAriaLabel": {
"en": "Edit email address",
"nl": "Pas emailadres aan",
"de": "E-Mail Adresse bearbeiten"
}
},
{
"id": "6",
"question": {
"en": "What is the purpose of the animal shelter?",
"de": "Was ist der Zweck des Tierheims?",
"es": "¿Cuál es la finalidad del refugio de animales?",
"zh_Hans": "动物收容所的目的是什么?",
"ca": "Quina és la finalitat del refugi d'animals?"
},
"mappings": [
{
"then": {
"en": "Animals are kept here until adopted by a new owner",
"de": "Tiere werden hier bis zur Abgabe an einen neuen Besitzer untergebracht",
"es": "Los animales permanecen aquí hasta que son adoptados por un nuevo propietario",
"zh_Hans": "动物被饲养在这里直到被新主人收养",
"ca": "Els animals romanen ací fins que son adoptats per un nou propietari"
},
"if": "purpose=adoption"
},
{
"then": {
"en": "Animals are taken care of for the rest of their lives",
"de": "Tiere werden hier bis zum Ende Ihres Lebens untergebracht",
"es": "Los animales reciben cuidados para el resto de su vida",
"zh_Hans": "动物的余生都得到照顾",
"ca": "Els animals reben cures per a la resta de la seva vida"
},
"if": "purpose=sanctuary"
},
{
"then": {
"en": "Injured animals are rehabilitated here until they can be released in nature again ",
"de": "Tiere werden hier untergebracht und gepflegt bis sie wieder in freier Natur ausgesetzt werden können ",
"es": "Los animales heridos se rehabilitan aquí hasta que pueden ser liberados de nuevo en la naturaleza ",
"zh_Hans": "受伤的动物在这里康复,直到它们可以再次被释放到大自然中 ",
"ca": "Els animals ferits es rehabiliten aquí fins que puguen ser alliberats de nou a la natura "
},
"if": "purpose=release"
}
],
"multiAnswer": true
},
{
"id": "opening_hours_by_appointment",
"question": {
"en": "What are the opening hours of {title()}?",
"fr": "Quelles sont les horaires d'ouverture de {title()} ?",
"de": "Wie lauten die Öffnungszeiten von {title()}?",
"nl": "Wat zijn de openingstijden van {title()}?",
"nb_NO": "Hva er åpningstidene for {title()})",
"ru": "Какое время работы у {title()}?",
"zh_Hant": "{title()} 的開放時間是什麼?",
"it": "Quali sono gli orari di apertura di {title()}?",
"pt_BR": "Qual o horário de funcionamento de {title()}?",
"pl": "Jakie są godziny otwarcia {title()}?",
"sv": "Vilka är öppettiderna för {title()}?",
"pt": "Qual é o horário de funcionamento de {title()}?",
"hu": "Mikor van nyitva ez: {title()}?",
"ca": "Quin és l'horari d'obertura de {title()}?",
"ja": "{title()}の営業時間は?",
"sl": "Kakšen odpiralni čas ima {title()}?",
"fil": "Anong oras nagbubukas ang {title()}?",
"es": "¿Cuales son las horas de apertura de {title()}?",
"zh_Hans": "{title()} 的开放时间为何?",
"da": "Hvad er åbningstiderne for {title()}?",
"id": "Kapan jam buka {title()}?",
"cs": "Jaká je otevírací doba {title()}?"
},
"render": {
"de": "<h3>Öffnungszeiten</h3>{opening_hours_table(opening_hours)}",
"fr": "<h3>Horaires d'ouverture</h3>{opening_hours_table(opening_hours)}",
"en": "<h3>Opening hours</h3>{opening_hours_table(opening_hours)}",
"nl": "<h3>Openingstijden</h3>{opening_hours_table(opening_hours)}",
"nb_NO": "<h3>Åpningstider</h3>{opening_hours_table(opening_hours)}",
"ru": "<h3>Часы работы</h3>{opening_hours_table(opening_hours)}",
"zh_Hant": "<h3>開放時間</h3>{opening_hours_table(opening_hours)}",
"it": "<h3>Orari di apertura</h3>{opening_hours_table(opening_hours)}",
"pl": "<h3> Godziny otwarcia</h3>{opening_hours_table(opening_hours)}",
"pt_BR": "<h3>Horário de funcionamento</h3>{opening_hours_table(opening_hours)}",
"sv": "<h3>Öppettider</h3> {opening_hours_table(opening_hours)}",
"pt": "<h3>Horário de funcionamento</h3>{opening_hours_table(opening_hours)}",
"eo": "<h3>Malfermitaj horoj</h3>{opening_hours_table(opening_hours)}",
"hu": "<h3>Nyitva tartás</h3>{opening_hours_table(opening_hours)}",
"ca": "<h3>Horari d'obertura</h3>{opening_hours_table(opening_hours)}",
"ja": "<h3>営業時間</h3>{opening_hours_table(opening_hours)}",
"sl": "<h3>Odpiralni čas</h3>{opening_hours_table(opening_hours)}",
"fil": "<h3>Mga oras na bukas</h3>{opening_hours_table(opening_hours)}",
"es": "<h3>Horas de apertura</h3>{opening_hours_table(opening_hours)}",
"zh_Hans": "<h3>开放时间</h3> {opening_hours_table(opening_hours)}",
"da": "<h3> Åbningstider</h3>{opening_hours_table(opening_hours)}",
"id": "<h3>Jam buka</h3>{opening_hours_table(opening_hours)}",
"pa_PK": "<h3>کھُلھے گھنٹے</h3>{opening_hours_table(opening_hours)}",
"cs": "<h3>Otevírací hodiny</h3>{opening_hours_table(opening_hours)}"
},
"freeform": {
"key": "opening_hours",
"type": "opening_hours",
"inline": false
},
"mappings": [
{
"#": "Just here to be able to handle those ~5000 incorrect 'opening_hours=closed' elements.",
"if": "opening_hours=\"by appointment\"",
"then": {
"en": "Only by appointment",
"nl": "Alleen op afspraak",
"de": "Nur nach Vereinbarung",
"fr": "Uniquement sur rendez-vous",
"ca": "Sols amb cita prèvia",
"es": "Sólo con cita previa",
"nb_NO": "Kun ved avtale",
"pl": "Tylko po wcześniejszym umówieniu się",
"cs": "Pouze po domluvě"
},
"hideInAnswer": true
},
{
"if": "opening_hours~i~\"by appointment\"|by appointment",
"then": {
"en": "Only by appointment",
"de": "Nur nach Vereinbarung",
"nl": "Alleen op afspraak",
"fr": "Uniquement sur rendez-vous",
"ca": "Sols amb cita prèvia",
"es": "Sólo con cita previa",
"nb_NO": "Kun ved avtale",
"pl": "Tylko po wcześniejszym umówieniu się",
"cs": "Pouze po domluvě"
},
"hideInAnswer": true
}
]
},
{
"question": {
"en": "Which animals are accepted here?"
},
"id": "boarded_animals",
"mappings": [
{
"if": "animal_shelter=dog",
"then": {
"en": "Dogs are kept here"
}
},
{
"if": "animal_shelter=cat",
"then": {
"en": "Cats are kept here"
}
},
{
"if": "animal_shelter=horse",
"then": {
"en": "Horses are kept here"
}
},
{
"if": "animal_shelter=bird",
"then": {
"en": "Birds are kept here"
}
},
{
"if": "animal_shelter=wildlife",
"then": {
"en": "Wild animals are kept here"
}
}
],
"render": {
"en": "{animal_shelter} is kept here"
},
"freeform": {
"key": "animal_shelter",
"inline": true
},
"multiAnswer": true
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "move-button",
"render": {
"*": "{move_button()}"
}
},
{
"id": "delete-button",
"render": {
"*": "{delete_button()}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"deletion": {},
"allowMove": true,
"credits": "Pieter Vander Vennet",
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "circle",
"color": "#ffffff"
},
{
"icon": "./assets/layers/animal_shelter/animal_shelter.svg"
}
]
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,586 @@
{
"id": "assembly_point",
"name": {
"en": "Emergency assembly points",
"it": "Punti di raccolta per emergenze",
"de": "Notfallsammelplätze"
},
"description": {
"en": "This layer contains assembly points and waiting areas where all employees, passengers or a large crowd assemble in case of an emergency.",
"it": "Questo livello contiene punti di raccolta e aree di attesa in cui tutti i dipendenti, i passeggeri o una grande folla si riuniscono in caso di emergenza.",
"de": "Diese Ebene enthält Sammelplätze und Wartebereiche, in denen sich alle Mitarbeiter, Fahrgäste oder eine große Menschenmenge im Notfall versammeln."
},
"source": {
"osmTags": {
"and": [
"emergency=assembly_point"
]
}
},
"minzoom": 10,
"title": {
"render": {
"en": "Assembly point during emergencies",
"de": "Sammelplatz bei Notfällen"
}
},
"pointRendering": [
{
"iconSize": "20,20",
"location": [
"point",
"centroid"
],
"anchor": "bottom",
"marker": [
{
"icon": {
"render": "./assets/layers/assembly_point/assembly_point.svg",
"id": "assetslayersassemblypointassemblypointsvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"presets": [
{
"title": {
"en": "an assembly point",
"it": "un punto di raccolta",
"de": "ein Sammelplatz"
},
"tags": [
"emergency=assembly_point"
]
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "assembly_point_name",
"freeform": {
"key": "name",
"inline": true
},
"question": {
"en": "What is the name of this assembly point?",
"it": "Qual è il nome di questo punto di raccolta?",
"de": "Wie lautet der Name dieser Sammelstelle?"
},
"render": {
"en": "This assembly point is named <b>{name}</b>",
"it": "Questo punto di raccolta si chiama <b>{name}</b>",
"de": "Diese Sammelstelle hat den Namen <b>{name}</b>"
}
},
{
"id": "assembly_point_operator",
"render": {
"en": "This assembly point is operated by <b>{operator}</b>",
"it": "Questo punto di raccolta è gestita da <b>{operator}</b>",
"de": "Diese Sammelstelle wird von <b>{operator}</b> betrieben"
},
"question": {
"en": "What organization operates this assembly point?",
"it": "Quale organizzazione gestisce questo punto di raccolta?",
"de": "Welche Organisation betreibt diese Sammelstelle?"
},
"freeform": {
"key": "operator",
"type": "string",
"inline": true
}
},
{
"id": "disaster_type",
"question": {
"en": "For which disaster type is this assembly point meant?",
"it": "Per quali tipi di disastro è pensato questo punto di raccolta?",
"de": "Für welche Art von Katastrophe ist diese Sammelstelle gedacht?"
},
"multiAnswer": true,
"mappings": [
{
"if": "assembly_point:earthquake=yes",
"ifnot": "assembly_point:earthquake=",
"then": {
"en": "Earthquake",
"it": "Terremoto",
"de": "Erdbeben"
},
"icon": {
"path": "./assets/layers/assembly_point/earthquake.svg",
"class": "medium"
}
},
{
"if": "assembly_point:flood=yes",
"ifnot": "assembly_point:flood=",
"then": {
"en": "Flood",
"it": "Alluvione",
"de": "Flut"
},
"icon": {
"path": "./assets/layers/assembly_point/flood.svg",
"class": "medium"
}
},
{
"if": "assembly_point:fire=yes",
"ifnot": "assembly_point:fire=",
"then": {
"en": "Fire",
"it": "Incendio",
"de": "Feuer"
},
"icon": {
"path": "./assets/layers/assembly_point/fire.svg",
"class": "medium"
}
},
{
"if": "assembly_point:landslide=yes",
"ifnot": "assembly_point:landslide=",
"then": {
"en": "Landslide",
"it": "Frana",
"de": "Erdrutsch"
},
"icon": {
"path": "./assets/layers/assembly_point/landslide.svg",
"class": "medium"
}
}
]
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "move-button",
"render": {
"*": "{move_button()}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"allowMove": {
"enableRelocation": false,
"enableImproveAccuracy": true
},
"docs": "https://wiki.openstreetmap.org/wiki/Tag:emergency%3Dassembly_point",
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "./assets/layers/assembly_point/assembly_point.svg"
}
]
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,610 @@
{
"id": "bank",
"name": {
"en": "Banks",
"de": "Banken",
"ca": "Bancs",
"nb_NO": "Banker",
"nl": "Banken",
"cs": "Banky",
"he": "בנקים",
"eu": "Bankuak",
"pl": "Banki",
"pt_BR": "Bancos",
"es": "Bancos",
"pt": "Bancos"
},
"description": {
"en": "A financial institution to deposit money",
"de": "Ein Finanzinstitut, um Geld einzuzahlen",
"nl": "Een financiële instelling waar je geld kunt",
"ca": "Una institució financera per a dipositar diners",
"cs": "Finanční instituce pro ukládání peněz",
"he": "מוסד פיננסי להפקדת כסף",
"pl": "Instytucja finansowa pozwalająca wpłacić pieniądze",
"pt_BR": "Um instituição financeira para depositar dinheiro",
"es": "Una institución financiera para depositar dinero",
"pt": "Uma instituição financeira para depositar dinheiro"
},
"source": {
"osmTags": {
"and": [
"amenity=bank"
]
}
},
"title": {
"render": "Bank",
"mappings": [
{
"if": "name~*",
"then": "{name}"
}
]
},
"pointRendering": [
{
"marker": [
{
"icon": {
"render": "circle",
"id": "circle"
},
"color": "white"
},
{
"icon": {
"render": "./assets/layers/bank/bank.svg",
"id": "assetslayersbankbanksvg"
}
}
],
"location": [
"point",
"centroid"
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "has_atm",
"question": {
"en": "Does this bank have an ATM?",
"de": "Hat diese Bank einen Geldautomaten?",
"nb_NO": "Har denne banken en minibank?",
"nl": "Heeft deze bank een bankautomaat?",
"ca": "Aquest banc té un caixer automàtic?",
"cs": "Má tato banka bankomat?",
"he": "האם לבנק הזה יש כספומט?",
"pl": "Czy ten bank ma bankomat?",
"pt_BR": "Esse banco tem caixa eletrônico?",
"es": "¿Este banco tiene cajero automático?",
"pt": "Este banco tem multibanco?"
},
"mappings": [
{
"if": "atm=yes",
"then": {
"en": "This bank has an ATM",
"de": "Diese Bank hat einen Geldautomaten",
"nb_NO": "Denne banken har en minibank",
"nl": "Deze bank heeft een bankautomaat",
"ca": "Aquest banc té un caixer automàtic",
"cs": "Tato banka má bankomat",
"he": "לבנק הזה יש כספומט",
"pl": "Ten bank ma bankomat",
"pt_BR": "Este banco tem um caixa eletrônico",
"es": "Este banco tiene un cajero automático",
"pt": "Este banco tem um multibanco"
}
},
{
"if": "atm=no",
"then": {
"en": "This bank does <b>not</b> have an ATM",
"de": "Diese Bank hat <b>keinen</b> Geldautomaten",
"nb_NO": "Denne banken har <b>ikke</b> en minibank",
"nl": "Deze bank heeft <b>geen</b> bankautomaaat",
"ca": "Aquest banc <b>no</b> té un caixer automàtic",
"cs": "Tato banka <b>nemá bankomat</b>",
"pl": "Ten bank <b>nie ma</b> bankomatu",
"pt_BR": "Este banco <b>não</b> tem um caixa eletrônico",
"es": "Este banco <b>no tiene</b> cajero automático",
"pt": "Este banco <b>não</b> tem um multibanco"
}
},
{
"if": "atm=separate",
"then": {
"en": "This bank does have an ATM, but it is mapped as a different icon",
"de": "Diese Bank hat zwar einen Geldautomaten, aber dieser ist mit einem anderen Symbol dargestellt",
"nl": "Deze bank heeft een bankautomaat, maar deze staat apart op de kaart aangeduid",
"ca": "Aquest banc té un caixer, però està mapejat com a un element diferent",
"cs": "Tato banka má bankomat, ale je namapován jako jiná ikona",
"pt_BR": "Este banco tem um caixa eletrônico, mas está mapeado como um ícone diferente",
"es": "Este banco tiene un cajero automático, pero aparece con un icono diferente",
"pt": "Este banco tem um multibanco, mas está mapeado como um ícone diferente"
}
}
]
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "delete-button",
"render": {
"*": "{delete_button()}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"filter": [
{
"id": "open_now",
"options": [
{
"question": {
"en": "Open now",
"nl": "Nu open",
"de": "Jetzt geöffnet",
"ca": "Obert ara",
"es": "Abierto",
"fr": "Ouvert maintenant",
"hu": "Most nyitva van",
"da": "Åbent nu",
"zh_Hant": "目前開放",
"id": "Saat ini buka",
"it": "Aperto ora",
"pl": "Otwarte teraz",
"cs": "Nyní otevřeno"
},
"osmTags": "_isOpen=yes"
}
]
},
{
"id": "has_atm",
"options": [
{
"question": {
"en": "With an ATM",
"de": "Mit Geldautomat",
"nb_NO": "Med en minibank",
"nl": "Met een bankautomaat",
"ca": "Amb un caixer automàtic",
"cs": "S bankomatem",
"he": "עם כספומט",
"pl": "Za pomocą bankomatu",
"pt_BR": "Com um caixa eletrônico",
"es": "Con un cajero automático",
"pt": "Com um multibanco"
},
"osmTags": "atm=yes"
}
]
}
],
"deletion": {
"softDeletionTags": "amenity="
},
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "circle",
"color": "white"
},
{
"icon": "./assets/layers/bank/bank.svg"
}
]
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,728 @@
{
"id": "bench_at_pt",
"name": {
"en": "Benches at public transport stops",
"de": "Sitzbänke an Haltestellen",
"fr": "Bancs des arrêts de transport en commun",
"nl": "Zitbanken aan bushaltes",
"es": "Bancos en una parada de transporte público",
"hu": "Padok megállókban",
"it": "Panchine alle fermate del trasporto pubblico",
"ru": "Скамейки на остановках общественного транспорта",
"zh_Hans": "在公交站点的长椅",
"nb_NO": "Benker",
"zh_Hant": "大眾運輸站點的長椅",
"pt_BR": "Bancos em pontos de transporte público",
"pl": "Ławki na przystankach komunikacji miejskiej",
"pt": "Bancos em pontos de transporte público",
"da": "Bænke ved stoppesteder for offentlig transport",
"cs": "Lavičky na zastávkách veřejné dopravy",
"ca": "Bancs en una parada de transport públic"
},
"description": {
"en": "A layer showing all public-transport-stops which do have a bench",
"es": "Una capa que muestra todas las paradas de transporte público que tienen bancos",
"nl": "Een laag die stopplaatsen van openbaar vervoer toont waar er een zitbank is",
"fr": "Une couche montrant tous les arrêts de transports publics qui ont un banc",
"de": "Eine Ebene mit allen Haltestellen des öffentlichen Nahverkehrs, die über eine Sitzbank verfügen",
"da": "Et lag, der viser alle offentlige stoppesteder, som har en bænk",
"cs": "Vrstva zobrazující všechny zastávky veřejné dopravy, které mají lavičku",
"ca": "Una capa que mostra totes les parades de transport públic que tenen bancs",
"pt": "Uma camada mostrando todas as paradas de transporte público que possuem um banco",
"pl": "Warstwa pokazująca wszystkie przystanki transportu publicznego, które mają ławki",
"pt_BR": "Uma camada mostrando todas as paradas de transporte público que têm um banco"
},
"source": {
"osmTags": {
"and": [
"highway=bus_stop",
{
"or": [
"bench=yes",
"bench=stand_up_bench"
]
}
]
}
},
"minzoom": 14,
"title": {
"render": {
"en": "Bench",
"de": "Sitzbank",
"fr": "Banc",
"nl": "Zitbank",
"es": "Banco",
"hu": "Pad",
"it": "Panchina",
"ru": "Скамейка",
"id": "Bangku",
"zh_Hans": "长椅",
"nb_NO": "Benk",
"zh_Hant": "長椅",
"pt_BR": "Banco",
"fi": "Penkki",
"pl": "Ławka",
"pt": "Banco",
"ca": "Banc",
"da": "Bænk",
"cs": "Lavička",
"pa_PK": "بینچ",
"he": "ספסל",
"eu": "Banku"
},
"mappings": [
{
"if": {
"or": [
"public_transport=platform",
"railway=platform",
"highway=bus_stop"
]
},
"then": {
"en": "Bench at public transport stop",
"de": "Sitzbank bei Haltestelle",
"fr": "Banc d'un arrêt de transport en commun",
"nl": "Zitbank aan een bushalte",
"hu": "Pad megállóban",
"it": "Panchina alla fermata del trasporto pubblico",
"ru": "Скамейка на остановке общественного транспорта",
"zh_Hans": "在公交站点的长椅",
"zh_Hant": "大眾運輸站點的長椅",
"pt_BR": "Banco em ponto de transporte público",
"pl": "Ławka na przystanku komunikacji miejskiej",
"pt": "Banco em ponto de transporte público",
"es": "Banco en una parada de transporte público",
"da": "Bænk ved offentlig stoppested",
"cs": "Lavička na zastávce veřejné dopravy",
"ca": "Banc en una parada de transport públic",
"he": "ספסל בתחנת תחבורה ציבורית"
}
},
{
"if": {
"and": [
"amenity=shelter"
]
},
"then": {
"en": "Bench in shelter",
"de": "Sitzbank in Unterstand",
"fr": "Banc dans un abri",
"nl": "Zitbank in een schuilhokje",
"hu": "Pad fedett helyen",
"it": "Panchina in un riparo",
"zh_Hans": "在庇护所的长椅",
"ru": "Скамейка в укрытии",
"zh_Hant": "涼亭內的長椅",
"pt_BR": "Banco em abrigo",
"pt": "Banco em abrigo",
"es": "Banco en marquesina",
"da": "Bænk i læskur",
"cs": "Lavička v přístřešku",
"ca": "Banc en marquesina",
"he": "ספסל בסככה"
}
}
]
},
"pointRendering": [
{
"iconSize": "35,35",
"location": [
"point"
],
"anchor": "center",
"marker": [
{
"icon": {
"render": "circle",
"id": "circle"
},
"color": "white"
},
{
"icon": {
"render": "./assets/themes/benches/bench_public_transport.svg",
"id": "assetsthemesbenchesbenchpublictransportsvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"color": "#00f",
"width": "8"
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"render": {
"en": "{name}",
"de": "{name}",
"fr": "{name}",
"nl": "{name}",
"hu": "{name}",
"it": "{name}",
"ru": "{name}",
"id": "{name}",
"zh_Hans": "{name}",
"zh_Hant": "{name}",
"pt_BR": "{name}",
"fi": "{name}",
"pl": "{name}",
"pt": "{name}",
"eo": "{name}",
"es": "{name}",
"ca": "{name}",
"da": "{name}",
"cs": "{name}",
"eu": "{name}"
},
"freeform": {
"key": "name",
"inline": true
},
"id": "bench_at_pt-name"
},
{
"id": "bench_at_pt-bench_type",
"question": {
"en": "What kind of bench is this?",
"nl": "Wat voor soort bank is dit?",
"de": "Was ist das für eine Bank?",
"es": "¿Qué tipo de banco es este?",
"fr": "Quel type de banc est-ce ?",
"da": "Hvilken slags bænk er dette?",
"cs": "Co je to za lavičku?",
"pt": "Que tipo de banco é este?",
"ca": "Quin tipus de banc és aquest?",
"pt_BR": "Qual tipo de banco é esse?"
},
"mappings": [
{
"if": "bench=yes",
"then": {
"en": "There is a normal, sit-down bench here",
"fr": "Il y a un banc normal pour s'asseoir ici",
"de": "Hier gibt es eine normale Sitzbank",
"nl": "Er is hier een normale zitbank",
"da": "Der er en normal siddebænk her",
"es": "Hay un banco normal aquí",
"cs": "Zde je normální lavička k sezení",
"ca": "Aquí hi ha un banc normal",
"pt_BR": "Há um banco comum, para sentar, aqui",
"pt": "Há um banco comum, para sentar, aqui"
}
},
{
"if": "bench=stand_up_bench",
"then": {
"en": "Stand up bench",
"de": "Hier gibt es eine Stehbank zum Anlehnen",
"fr": "Banc assis debout",
"nl": "Leunbank",
"it": "Panca in piedi",
"zh_Hans": "站立长凳",
"ru": "Встаньте на скамейке",
"zh_Hant": "站立長椅",
"da": "Stå-op bænk",
"es": "Banco de pié",
"cs": "Je zde lavička, o kterou se lze opřít",
"ca": "Banc dempeus",
"pt": "banco de pé",
"pt_BR": "Banco para ficar em pé"
}
},
{
"if": "bench=no",
"then": {
"en": "There is no bench here",
"fr": "Il n'y a pas de banc ici",
"de": "Hier gibt es keine Bank",
"nl": "Er is hier geen bank",
"es": "No hay ningún banco aquí",
"da": "Der er ingen bænk her",
"cs": "Zde není žádná lavička",
"pt": "Não há nenhum banco aqui",
"ca": "Aquí no hi ha cap banc",
"pt_BR": "Não há banco aqui"
}
}
]
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "delete-button",
"render": {
"*": "{delete_button()}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"deletion": {
"omitDefaultDeleteReasons": true,
"nonDeleteMappings": [
{
"if": "bench=no",
"then": {
"en": "This bus stop does not have a bench (there never was one or it has been removed)",
"de": "Diese Bushaltestelle hat keine Bank (es gab nie eine oder sie wurde entfernt)",
"fr": "Cette station de bus n'a pas de banc (il n'y en a jamais eu ou il a été retiré)",
"nl": "Deze bushalte heeft geen zitbank (er is er nooit een geweest of deze is verwijderd)",
"ca": "Aquesta para de bus no té un banc (mai n'ha tingut un o ha estat eliminat)",
"cs": "Na této autobusové zastávce není lavička (nikdy zde nebyla nebo byla odstraněna)",
"pt": "Este ponto de ônibus não tem banco (nunca houve ou foi removido)",
"pl": "Ten przystanek autobusowy nie ma ławki (nigdy jej nie było lub została usunięta)",
"pt_BR": "Essa parada de ônibus não tem um banco (nunca teve ou ele foi removido)",
"es": "Esta parada de autobús no tiene banco (nunca lo hubo o lo han quitado)"
}
}
],
"extraDeleteReasons": [
{
"changesetMessage": "discontinued",
"explanation": {
"en": "This bus stop is not used anymore",
"de": "Diese Bushaltestelle wird nicht mehr genutzt",
"fr": "Cette station de bus n'est plus utilisée",
"nl": "Deze bushalte wordt niet meer gebruikt",
"ca": "Aquesta parada de bus no s'utilitza més",
"cs": "Tato autobusová zastávka se již nepoužívá",
"pt": "Este ponto de ônibus não é mais usado",
"pl": "Ten przystanek autobusowy nie jest już używany",
"pt_BR": "Essa parada de ônibus não é mais usada",
"es": "Esta parada ya no se usa"
}
}
],
"softDeletionTags": {
"and": [
"disused:highway=bus_stop",
"bench=no"
]
}
},
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "circle",
"color": "white"
},
{
"icon": "./assets/themes/benches/bench_public_transport.svg"
}
]
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,734 @@
{
"id": "bike_cleaning",
"name": {
"en": "Bike cleaning service",
"nl": "Fietsschoonmaakpunt",
"fr": "Service de nettoyage de vélo",
"it": "Servizio lavaggio bici",
"de": "Fahrrad-Reinigungsdienste",
"zh_Hant": "單車清理服務",
"pt_BR": "Serviço de limpeza de bicicletas",
"pt": "Serviço de limpeza de bicicletas",
"ru": "Услуги по чистке велосипедов",
"es": "Servicio de limpieza de bicis",
"da": "Cykelrengøring",
"cs": "Služba mytí jízdních kol",
"ca": "Servei de neteja de bicicletes"
},
"description": {
"en": "A layer showing facilities where one can clean their bike",
"nl": "Een laag die plaatsen toont waar je je fiets kunt wassen",
"de": "Eine Ebene mit Einrichtungen, in denen man sein Fahrrad reinigen kann",
"es": "Una capa que muestra instalaciones en las que uno puede limpiar su bici",
"da": "Et lag med faciliteter, hvor man kan rengøre sin cykel",
"fr": "Une couche affichant les lieux où l'on peut nettoyer son vélo",
"cs": "Vrstva zobrazující zařízení, kde si můžete umýt kolo",
"ca": "Una capa que mostra les instal·lacions on pots netejar la teva bicicleta",
"pt_BR": "Uma camada que mostra instalações onde é possível limpar a sua bicicleta",
"pt": "Uma camada que mostra instalações onde é possível limpar a sua bicicleta"
},
"source": {
"osmTags": {
"and": [
{
"or": [
"service:bicycle:cleaning=yes",
"service:bicycle:cleaning=diy",
"amenity=bicycle_wash",
"amenity=bike_wash"
]
}
]
}
},
"minzoom": 13,
"title": {
"render": {
"en": "Bike cleaning service",
"nl": "Fietsschoonmaakpunt",
"fr": "Service de nettoyage de vélo",
"it": "Servizio lavaggio bici",
"de": "Fahrrad-Reinigungsdienst",
"zh_Hant": "單車清理服務",
"pt_BR": "Serviço de limpeza de bicicletas",
"pt": "Serviço de limpeza de bicicletas",
"ru": "Услуги по чистке велосипедов",
"es": "Servicio de limpieza de bicis",
"da": "Cykel rengøringsservice",
"cs": "Služba mytí jízdních kol",
"ca": "Servei de neteja de bicicletes"
},
"mappings": [
{
"if": "name~*",
"then": {
"en": "Bike cleaning service <i>{name}</i>",
"nl": "Fietsschoonmaakpunt <i>{name}</i>",
"fr": "Service de nettoyage de vélo <i>{name}</i>",
"it": "Servizio lavaggio bici <i>{name}</i>",
"de": "Fahrrad-Reinigungsdienst<i>{name}</i>",
"zh_Hant": "單車清理服務 <i>{name}</i>",
"pt_BR": "Serviço de limpeza de bicicletas <i>{name}</i>",
"pt": "Serviço de limpeza de bicicletas <i>{name}</i>",
"es": "Servicio de limpieza de bicis <i>{name}</i>",
"da": "Cykelrengøringstjeneste <i>{name}</i>",
"cs": "Služba mytí kol <i>{name}</i>",
"ca": "Servei de neteja de bicicletes <i>{name}</i>"
}
}
]
},
"pointRendering": [
{
"iconBadges": [
{
"if": {
"and": [
"service:bicycle:cleaning~*",
"amenity!=bike_wash",
"amenity!=bicycle_wash"
]
},
"then": {
"render": "./assets/layers/bike_cleaning/bike_cleaning_icon.svg",
"roaming": true
}
},
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
],
"iconSize": "50,50",
"location": [
"point",
"centroid"
],
"anchor": "bottom",
"marker": [
{
"icon": {
"render": "./assets/layers/bike_cleaning/bike_cleaning.svg",
"id": "assetslayersbikecleaningbikecleaningsvg"
}
}
]
}
],
"lineRendering": [],
"presets": [
{
"title": {
"en": "a bike cleaning service",
"nl": "een fietsschoonmaakpunt",
"fr": "une service de nettoyage de vélo",
"it": "una servizio lavaggio bici",
"de": "eine Fahrrad-Reinigung",
"zh_Hant": "單車清理服務",
"pt_BR": "uma serviço de limpeza de bicicletas",
"pt": "uma serviço de limpeza de bicicletas",
"ru": "Услуги по чистке велосипедов",
"es": "un servicio de limpieza de bicis",
"da": "en cykelrengøring",
"cs": "služba mytí jízdních kol",
"ca": "un servei de neteja de bicicletes"
},
"tags": [
"amenity=bicycle_wash"
]
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"question": {
"en": "How much does it cost to use the cleaning service?",
"de": "Wie viel kostet die Nutzung des Reinigungsdienstes?",
"nl": "Hoeveel kost het gebruik van het fietsschoonmaakpunt?",
"es": "¿Cuánto cuesta utilizar el servicio de limpieza?",
"fr": "Combien coûte le service de nettoyage ?",
"da": "Hvor meget koster det at bruge rengøringsservicen?",
"cs": "Kolik stojí využívání služby mytí?",
"ca": "Molt costa utilitzar el servei de rentat?",
"pt_BR": "Quanto custa para usar o serviço de limpeza?"
},
"render": {
"en": "Using the cleaning service costs {service:bicycle:cleaning:charge}",
"de": "Der Reinigungsservice kostet {service:bicycle:cleaning:charge}",
"nl": "Het gebruik van het fietsschoonmaakpunt kost {service:bicycle:cleaning:charge}",
"es": "Utilizar el servicio de limpieza cuesta {service:bicycle:cleaning:charge}",
"fr": "Le service de nettoyage coûte {service:bicycle:cleaning:charge}",
"da": "Brug af rengøringsservice koster {service:bicycle:cleaning:charge}",
"cs": "Využití služby mytí stojí {service:bicycle:cleaning:charge}",
"ca": "Utilitzar el servei de rentat costa {service:bicycle:cleaning:charge}",
"pt_BR": "Usar o serviço de limpeza custa {service:bicycle:cleaning:charge}",
"pt": "Usar o serviço de limpeza custa {service:bicycle:cleaning:charge}"
},
"condition": {
"and": [
"amenity!=bike_wash",
"amenity!=bicycle_wash",
"service:bicycle:cleaning!=no",
"service:bicycle:cleaning!="
]
},
"freeform": {
"key": "service:bicycle:cleaning:charge",
"addExtraTags": [
"service:bicycle:cleaning:fee=yes"
],
"inline": true
},
"mappings": [
{
"if": "service:bicycle:cleaning:fee=no",
"then": {
"en": "The cleaning service is free to use",
"de": "Der Reinigungsservice ist kostenlos",
"nl": "Het fietsschoonmaakpunt is gratis",
"es": "El servicio de limpieza es gratuito",
"fr": "Le service de nettoyage est gratuit",
"da": "Rengøringsservicen er gratis at bruge",
"cs": "Služba mytí je k dispozici zdarma",
"ca": "El servei de rentat és gratuït",
"pt_BR": "O serviço de limpeza é grátis para usar",
"pt": "O serviço de limpeza é grátis para usar"
},
"addExtraTags": [
"service:bicycle:cleaning:charge="
]
},
{
"if": {
"and": [
"service:bicycle:cleaning:fee=yes",
"service:bicycle:cleaning:charge="
]
},
"then": {
"en": "Free to use",
"de": "Kostenlose Nutzung",
"nl": "Gratis te gebruiken",
"es": "Uso gratuito",
"fr": "Utilisation gratuite",
"da": "Gratis at bruge",
"cs": "Bezplatné používání",
"ca": "Debades",
"pt_BR": "Grátis para usar"
},
"hideInAnswer": true
}
],
"id": "bike_cleaning-service:bicycle:cleaning:charge"
},
{
"question": {
"en": "How much does it cost to use the cleaning service?",
"de": "Wie viel kostet die Nutzung des Reinigungsdienstes?",
"nl": "Hoeveel kost het gebruik van het fietsschoonmaakpunt?",
"es": "¿Cuánto cuesta utilizar el servicio de limpieza?",
"fr": "Combien cela coûte-t-il d'utiliser le service de nettoyage ?",
"da": "Hvor meget koster det at bruge rengøringsservicen?",
"cs": "Kolik stojí využívání služby mytí?",
"ca": "Molt costa utilitzar aquest servei de neteja?",
"pt_BR": "Quanto custa para usar esse serviço de limpeza?",
"pt": "Quanto custa para usar este serviço de limpeza?"
},
"render": {
"en": "Using the cleaning service costs {charge}",
"de": "Die Nutzung des Reinigungsdienstes kostet {charge}",
"nl": "Het gebruik van het fietsschoonmaakpunt kost {charge}",
"es": "Utilizar el servicio de limpieza cuesta {charge}",
"fr": "Lutilisation du service de nettoyage coûte {charge}",
"da": "Brug af rengøringsservice koster {charge}",
"cs": "Využití služby mytí stojí {charge}",
"ca": "L'ús del servei de neteja costa {charge}",
"pt_BR": "Usar o serviço de limpeza custa {charge}",
"pt": "Usar o serviço de limpeza custa {charge}"
},
"condition": {
"or": [
"amenity=bike_wash",
"amenity=bicycle_wash"
]
},
"freeform": {
"key": "charge",
"addExtraTags": [
"fee=yes"
],
"inline": true
},
"mappings": [
{
"if": "fee=no",
"then": {
"en": "This cleaning service is free to use",
"de": "Der Reinigungsservice ist kostenlos",
"nl": "Dit fietsschoonmaakpunt is gratis te gebruiken",
"es": "Este servicio de limpieza es gratuito",
"fr": "Service de nettoyage gratuit",
"da": "Gratis at bruge rengøringsservice",
"cs": "Tato mycí služba je bezplatná",
"ca": "Aquest servei de neteja és gratuït",
"pt_BR": "Esse serviço de limpeza é grátis para usar",
"pt": "Esst serviço de limpeza é grátis para usar"
},
"addExtraTags": [
"charge="
]
},
{
"if": "fee=yes",
"then": {
"en": "There is a fee to use this cleaning service",
"nl": "Dit fietsschoonmaakpunt is betalend",
"es": "Este servicio de limpieza es de pago",
"ca": "Hi ha un cost per utilitzar aquest servei de neteja",
"de": "Dieser Reinigungsservice ist kostenpflichtig",
"cs": "Využití úklidové služby je zpoplatněno",
"pt_BR": "Há uma taxa para utilizar esse serviço de limpeza",
"pt": "Há uma taxa para utilizar este serviço de limpeza"
}
}
],
"id": "bike_cleaning-charge"
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "move-button",
"render": {
"*": "{move_button()}"
}
},
{
"id": "delete-button",
"render": {
"*": "{delete_button()}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"deletion": {
"softDeletionTags": {
"and": [
"disused:amenity:={amenity}",
"amenity="
]
},
"neededChangesets": 1
},
"allowMove": {
"enableRelocation": false,
"enableImproveAccuracy": true
},
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "./assets/layers/bike_cleaning/bike_cleaning.svg"
}
]
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,822 @@
{
"id": "bike_themed_object",
"name": {
"en": "Bike-related object",
"nl": "Fietsgerelateerd object",
"fr": "Objet cycliste",
"de": "Weitere fahrradbezogene Objekte",
"it": "Oggetto relativo alle bici",
"es": "Objeto relacionado con bicis",
"da": "Cykelrelateret genstand",
"ca": "Objectes relacionats amb bicicletes",
"cs": "Objekt související s jízdním kolem",
"pl": "Obiekt związany z rowerami"
},
"description": {
"en": "A layer with bike-themed objects but who don't match any other layer",
"nl": "Een laag met fietsgerelateerde diensten, die in geen enkele andere laag konden ondergebracht worden",
"de": "Eine Ebene mit Objekten zum Thema Fahrrad, die zu keiner anderen Ebene passen",
"es": "Una capa con los objetos relacionados con bicis pero que no coinciden con ninguna otra capa",
"fr": "Une couche sur le thème des vélos mais qui ne correspondent à aucune autre couche",
"da": "Et lag med objekter med cykeltema, men som ikke matcher noget andet lag",
"ca": "Una capa amb els objectes relacionats amb bicis però que no coinxideixen amb cap altra capa",
"cs": "Vrstva s objekty s tématikou jízdních kol, které však neodpovídají žádné jiné vrstvě"
},
"source": {
"osmTags": {
"and": [
{
"or": [
"theme=bicycle",
"theme=cycling",
"sport=cycling",
"association=cycling",
"association=bicycle",
"ngo=cycling",
"ngo=bicycle",
"club=bicycle",
"club=cycling"
]
}
]
}
},
"minzoom": 13,
"title": {
"render": {
"en": "Bike-related object",
"nl": "Fietsgerelateerd object",
"fr": "Objet cycliste",
"de": "Fahrradbezogenes Objekt",
"it": "Oggetto relativo alle bici",
"es": "Objeto relacionado con las bicicletas",
"da": "Cykelrelateret objekt",
"ca": "Objecte relacionat amb bicis",
"cs": "Objekt související s jízdním kolem",
"pl": "Obiekt związany z rowerami"
},
"mappings": [
{
"if": "name~*",
"then": "<i>{name}</i>"
},
{
"if": "leisure=track",
"then": {
"nl": "Wielerpiste",
"en": "Cycle track",
"fr": "Piste cyclable",
"it": "Pista ciclabile",
"de": "Radweg",
"ru": "Велотрек",
"ca": "Pista ciclable",
"es": "Carril bici",
"da": "Cykelsti",
"cs": "Pruh pro cyklisty"
}
}
]
},
"pointRendering": [
{
"iconSize": "50,50",
"location": [
"point",
"centroid"
],
"anchor": "bottom",
"marker": [
{
"icon": {
"render": "./assets/layers/bike_themed_object/other_services.svg",
"id": "assetslayersbikethemedobjectotherservicessvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"color": "#AB76D5",
"width": "2"
}
],
"presets": [],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "description",
"question": {
"nl": "Zijn er nog andere relevante zaken die je niet in de bovenstaande vragen kwijt kon? Vul ze hier in.",
"fr": "Y a-t-il quelque chose de pertinent que vous n'avez pas pu donner à la dernière question ? Ajoutez-le ici.",
"en": "Is there still some relevant info that the previous questions did not cover? Feel free to add it here.",
"nb_NO": "Er det noe mer som er relevant du ikke kunne opplyse om i tidligere svar? Legg det til her.",
"ru": "Есть ли ещё что-то важное, о чём вы не смогли рассказать в предыдущих вопросах? Добавьте это здесь.",
"zh_Hant": "有什麼相關的資訊你無法在先前的問題回應的嗎?請加在這邊吧。",
"it": "C'è ancora qualche informazione importante che non è stato possibile fornire nelle domande precedenti? Aggiungila qui.",
"de": "Gibt es noch etwas, das die vorhergehenden Fragen nicht abgedeckt haben? Hier wäre Platz dafür.",
"pl": "Czy jest jeszcze coś istotnego, czego nie mogłeś podać w poprzednich pytaniach? Dodaj to tutaj.",
"pt_BR": "Ainda há algo de relevante que não pôde dar nas perguntas anteriores? Adicione aqui.",
"pt": "Ainda há algo de relevante que não tenha podido dar nas perguntas anteriores? Adicione-o aqui.",
"hu": "Van-e még valami lényeges, amit nem tudott megadni az előző kérdésekben? Itt megteheti.",
"ca": "Hi ha quelcom rellevant que no t'hem preguntat? Afegeix-ho aquí.",
"sv": "Finns det fortfarande någonting relevant som du inte kunde ge i de föregående frågorna? Lägg till det här.",
"id": "Apakah masih ada sesuatu yang relevan yang tidak dapat Anda berikan dalam pertanyaan sebelumnya? Tambahkan di sini. ",
"ja": "前の質問で伝えきれなかった関連事項がまだありますか?ここに追加してください。",
"es": "¿Aún hay algo relevante que no ha encajado en las preguntas anteriores? Compártalo aquí.",
"sl": "Ali je še kaj pomembnega, česar niste mogli povedati v prejšnjih vprašanjih? Dopišite tukaj.",
"fil": "Mayroon pa bang mga bagay na nau-ugnay at hindi mo maibigay sa mga nakaraang tanong? Idagdag dito.",
"da": "Er der stadig noget relevant, du ikke kunne give i de foregående spørgsmål? Tilføj det her.",
"cs": "Je ještě něco relevantního, co jste nemohli uvést v předchozích otázkách? Přidejte to sem."
},
"render": {
"*": "{description}"
},
"freeform": {
"key": "description",
"inline": true
},
"questionHint": {
"nl": "Herhaal geen antwoorden die je reeds gaf",
"fr": "Ne répétez pas des réponses déjà données",
"en": "Please don't repeat already stated facts",
"nb_NO": "Ikke gjenta fakta som allerede er nevnt",
"ru": "Не повторяйте уже изложенные факты",
"zh_Hant": "不要重覆答覆已經知道的事情",
"it": "Non ripetere informazioni già fornite",
"de": "Bitte keine bereits erhobenen Informationen wiederholen",
"pl": "Nie powtarzaj już podanych faktów",
"pt_BR": " Não repita fatos já declarados",
"pt": "Não repita factos já declarados",
"hu": "Ne ismételjen meg már megadott tényeket",
"ca": "No repeteixis informació que ja hi és",
"sv": "Repetera inte redan angivna fakta",
"id": " Jangan ulangi fakta yang sudah dinyatakan ",
"ja": "今後表示しない",
"es": "No repita datos ya expresados",
"sl": "Ne ponavljajte že navedenih dejstev",
"fil": "Huwag ulitin ang mga nai-saad na",
"da": "Gentag ikke allerede nævnte fakta",
"cs": "Neopakujte již uvedená fakta"
}
},
{
"id": "website",
"labels": [
"contact"
],
"icon": "./assets/layers/icons/website.svg",
"question": {
"en": "What is the website of {title()}?",
"nl": "Wat is de website van {title()}?",
"fr": "Quel est le site web de {title()} ?",
"gl": "Cal é a páxina web de {title()}?",
"nb_NO": "Hva er nettsiden til {title()}?",
"ru": "Какой сайт у {title()}?",
"id": "Apa situs web dari {title()}?",
"zh_Hant": "{title()} 網址是什麼?",
"it": "Qual è il sito web di {title()}?",
"de": "Wie lautet die Webseite von {title()}?",
"pt_BR": "Qual o site de {title()}?",
"pl": "Jaka jest strona internetowa {title()}?",
"sv": "Vad är webbplatsen för {title()}?",
"pt": "Qual é o sítio web de {title()}?",
"eo": "Kie estas la retejo de {title()}?",
"hu": "Mi a weboldala ennek: {title()}?",
"ca": "Quina és la web de {title()}?",
"ja": "{title()}のウェブサイトは?",
"fil": "Ano ang website ng {title()}?",
"es": "¿Cual es el sitio web de {title()}?",
"zh_Hans": "{title()} 的网站为何?",
"da": "Hvad er webstedet for {title()}?",
"cs": "Jaká je webová stránka {title()}?"
},
"render": {
"*": "<a href='{website}' rel='nofollow noopener noreferrer' target='_blank'>{website}</a>"
},
"freeform": {
"key": "website",
"type": "url",
"addExtraTags": [
"contact:website="
]
},
"mappings": [
{
"if": "contact:website~*",
"then": "<a href='{contact:website}' rel='nofollow noopener noreferrer' target='_blank'>{contact:website}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/icons/website.svg"
}
],
"editButtonAriaLabel": {
"en": "Edit website",
"nl": "Pas website aan",
"de": "Webseite bearbeiten"
}
},
{
"id": "email",
"render": {
"*": "<a href='mailto:{email}' target='_blank' rel='noopener'>{email}</a>"
},
"icon": "./assets/svg/envelope.svg",
"labels": [
"contact"
],
"question": {
"nl": "Wat is het e-mailadres van {title()}?",
"fr": "Quelle est l'adresse courriel de {title()} ?",
"en": "What is the email address of {title()}?",
"nb_NO": "Hva er e-postadressen til {title()}?",
"ru": "Какой адрес электронной почты у {title()}?",
"id": "Apa alamat surel dari {title()}?",
"zh_Hant": "{title()} 的電子郵件地址是什麼?",
"it": "Qual è l'indirizzo email di {title()}?",
"de": "Wie lautet die Mail-Adresse von {title()}?",
"pt_BR": "Qual o endereço de e-mail de {title()}?",
"pl": "Jaki jest adres e-mail do {title()}?",
"sv": "Vad är e-postadressen till {title()}?",
"pt": "Qual é o endereço de e-mail de {title()}?",
"eo": "Kio estas la retpoŝta adreso de {title()}?",
"hu": "Mi a(z) {title()} e-mail címe?",
"ca": "Quina és l'adreça de correu electrònic de {title()}?",
"ja": "{title()}のEメールアドレスは何ですか",
"sl": "Kakšen naslov elektronske pošte ima {title()}?",
"fil": "Ano ang email address ng {title()}?",
"es": "¿Cuál es la dirección de correo electrónico de {title()}?",
"zh_Hans": "{title()} 的电子邮箱地址为何?",
"da": "Hvad er mailadressen på {title()}?",
"cs": "Jaká je e-mailová adresa {title()}?"
},
"mappings": [
{
"if": "contact:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{contact:email}' target='_blank' rel='noopener'>{contact:email}</a>",
"hideInAnswer": true
},
{
"if": "operator:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{operator:email}' target='_blank' rel='noopener'>{operator:email}</a>",
"hideInAnswer": true
}
],
"freeform": {
"key": "email",
"type": "email",
"addExtraTags": [
"contact:email="
]
},
"editButtonAriaLabel": {
"en": "Edit email address",
"nl": "Pas emailadres aan",
"de": "E-Mail Adresse bearbeiten"
}
},
{
"id": "phone",
"labels": [
"contact"
],
"question": {
"en": "What is the phone number of {title()}?",
"nl": "Wat is het telefoonnummer van {title()}?",
"fr": "Quel est le numéro de téléphone de {title()} ?",
"de": "Wie lautet die Telefonnummer von {title()}?",
"nb_NO": "Hva er telefonnummeret til {title()}?",
"ru": "Какой номер телефона у {title()}?",
"sv": "Vad är telefonnumret till {title()}?",
"zh_Hant": "{title()} 的電話號碼是什麼?",
"it": "Qual è il numero di telefono di {title()}?",
"pt_BR": "Qual o número de telefone de {title()}?",
"id": "Berapa nomor telepon dari {title()}?",
"pl": "Jaki jest numer telefonu do {title()}?",
"pt": "Qual é o número de telefone de {title()}?",
"eo": "Kio estas la telefonnumero de {title()}?",
"hu": "Mi a telefonszáma ennek: {title()}?",
"ca": "Quin és el telèfon de {title()}?",
"ja": "{title()}の電話番号は?",
"sl": "Kakšno telefonsko številko ima {title()}?",
"fil": "Ano ang telepono ng {title()}?",
"es": "¿Cuál es el número de teléfono de {title()}?",
"zh_Hans": "{title()} 的电话号码为何?",
"da": "Hvad er telefonnummeret til {title()}?",
"cs": "Jaké je telefonní číslo {title()}?"
},
"render": {
"*": "<a href='tel:{phone}'>{phone}</a>"
},
"icon": "./assets/layers/questions/phone.svg",
"mappings": [
{
"if": "contact:phone~*",
"then": "<a href='tel:{contact:phone}'>{contact:phone}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/questions/phone.svg"
}
],
"freeform": {
"key": "phone",
"type": "phone",
"addExtraTags": [
"contact:phone="
]
},
"editButtonAriaLabel": {
"en": "Edit phone number",
"nl": "Pas telefoonnummer aan",
"de": "Telefonnummer bearbeiten"
}
},
{
"id": "opening_hours",
"question": {
"en": "What are the opening hours of {title()}?",
"fr": "Quelles sont les horaires d'ouverture de {title()} ?",
"de": "Wie lauten die Öffnungszeiten von {title()}?",
"nl": "Wat zijn de openingstijden van {title()}?",
"nb_NO": "Hva er åpningstidene for {title()})",
"ru": "Какое время работы у {title()}?",
"zh_Hant": "{title()} 的開放時間是什麼?",
"it": "Quali sono gli orari di apertura di {title()}?",
"pt_BR": "Qual o horário de funcionamento de {title()}?",
"pl": "Jakie są godziny otwarcia {title()}?",
"sv": "Vilka är öppettiderna för {title()}?",
"pt": "Qual é o horário de funcionamento de {title()}?",
"hu": "Mikor van nyitva ez: {title()}?",
"ca": "Quin és l'horari d'obertura de {title()}?",
"ja": "{title()}の営業時間は?",
"sl": "Kakšen odpiralni čas ima {title()}?",
"fil": "Anong oras nagbubukas ang {title()}?",
"es": "¿Cuales son las horas de apertura de {title()}?",
"zh_Hans": "{title()} 的开放时间为何?",
"da": "Hvad er åbningstiderne for {title()}?",
"id": "Kapan jam buka {title()}?",
"cs": "Jaká je otevírací doba {title()}?"
},
"render": {
"de": "<h3>Öffnungszeiten</h3>{opening_hours_table(opening_hours)}",
"fr": "<h3>Horaires d'ouverture</h3>{opening_hours_table(opening_hours)}",
"en": "<h3>Opening hours</h3>{opening_hours_table(opening_hours)}",
"nl": "<h3>Openingstijden</h3>{opening_hours_table(opening_hours)}",
"nb_NO": "<h3>Åpningstider</h3>{opening_hours_table(opening_hours)}",
"ru": "<h3>Часы работы</h3>{opening_hours_table(opening_hours)}",
"zh_Hant": "<h3>開放時間</h3>{opening_hours_table(opening_hours)}",
"it": "<h3>Orari di apertura</h3>{opening_hours_table(opening_hours)}",
"pl": "<h3> Godziny otwarcia</h3>{opening_hours_table(opening_hours)}",
"pt_BR": "<h3>Horário de funcionamento</h3>{opening_hours_table(opening_hours)}",
"sv": "<h3>Öppettider</h3> {opening_hours_table(opening_hours)}",
"pt": "<h3>Horário de funcionamento</h3>{opening_hours_table(opening_hours)}",
"eo": "<h3>Malfermitaj horoj</h3>{opening_hours_table(opening_hours)}",
"hu": "<h3>Nyitva tartás</h3>{opening_hours_table(opening_hours)}",
"ca": "<h3>Horari d'obertura</h3>{opening_hours_table(opening_hours)}",
"ja": "<h3>営業時間</h3>{opening_hours_table(opening_hours)}",
"sl": "<h3>Odpiralni čas</h3>{opening_hours_table(opening_hours)}",
"fil": "<h3>Mga oras na bukas</h3>{opening_hours_table(opening_hours)}",
"es": "<h3>Horas de apertura</h3>{opening_hours_table(opening_hours)}",
"zh_Hans": "<h3>开放时间</h3> {opening_hours_table(opening_hours)}",
"da": "<h3> Åbningstider</h3>{opening_hours_table(opening_hours)}",
"id": "<h3>Jam buka</h3>{opening_hours_table(opening_hours)}",
"pa_PK": "<h3>کھُلھے گھنٹے</h3>{opening_hours_table(opening_hours)}",
"cs": "<h3>Otevírací hodiny</h3>{opening_hours_table(opening_hours)}"
},
"freeform": {
"key": "opening_hours",
"type": "opening_hours",
"inline": false
},
"mappings": [
{
"#": "Just here to be able to handle those ~5000 incorrect 'opening_hours=closed' elements.",
"if": "opening_hours=closed",
"then": {
"en": "Marked as closed for an unspecified time",
"nl": "Gesloten voor onbepaalde duur",
"de": "Als geschlossen für eine unbestimmte Zeit markiert"
},
"hideInAnswer": true
}
]
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "./assets/layers/bike_themed_object/other_services.svg"
}
]
}

View file

@ -0,0 +1,637 @@
{
"id": "binocular",
"name": {
"en": "Binoculars",
"nl": "Verrekijkers",
"de": "Ferngläser",
"ru": "Бинокль",
"ca": "Prismàtics",
"da": "Kikkert",
"es": "Prismáticos",
"fr": "Jumelles",
"pa_PK": "بائینوکولر",
"cs": "Dalekohledy",
"eu": "Prismatikoak"
},
"description": {
"en": "Binoculars",
"nl": "Verrekijkers",
"de": "Ferngläser",
"ru": "Бинокли",
"ca": "Prismàtics",
"da": "Kikkerter",
"es": "Prismáticos",
"fr": "Jumelles",
"pa_PK": "بائینوکولر",
"cs": "Dalekohledy",
"eu": "Prismatikoak"
},
"source": {
"osmTags": {
"and": [
"amenity=binoculars"
]
}
},
"minzoom": 0,
"title": {
"render": {
"en": "Binoculars",
"nl": "Verrekijker",
"de": "Ferngläser",
"ru": "Бинокль",
"ca": "Prismàtics",
"es": "Prismáticos",
"da": "Kikkert",
"fr": "Jumelles",
"pa_PK": "بائینوکولر",
"eu": "Prismatikoak",
"cs": "Dalekohledy"
}
},
"pointRendering": [
{
"iconSize": "40,40",
"location": [
"point"
],
"anchor": "center",
"marker": [
{
"icon": {
"render": "circle",
"id": "circle"
},
"color": "white"
},
{
"icon": {
"render": "./assets/layers/binocular/telescope.svg",
"id": "assetslayersbinoculartelescopesvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"color": "#00f",
"width": "8"
}
],
"presets": [
{
"tags": [
"amenity=binoculars"
],
"title": {
"en": "a binocular",
"nl": "een verrekijker",
"de": "ein Fernglas",
"ru": "бинокль",
"ca": "uns prismàtics",
"da": "en kikkert",
"es": "unos prismáticos",
"fr": "des jumelles",
"cs": "dalekohled"
},
"description": {
"en": "A telescope or pair of binoculars mounted on a pole, available to the public to look around. <img src='./assets/layers/binocular/binoculars_example.jpg' style='height: 300px; width: auto; display: block;' />",
"nl": "Een telescoop of verrekijker die op een vaste plaats gemonteerd staat waar iedereen door mag kijken. <img src='./assets/layers/binocular/binoculars_example.jpg' style='height: 300px; width: auto; display: block;' />",
"de": "Ein fest installiertes Teleskop oder Fernglas, für die öffentliche Nutzung. <img src='./assets/layers/binocular/binoculars_example.jpg' style='height: 300px; width: auto; display: block;' />",
"fr": "Une longue-vue ou une paire de jumelles montée sur un poteau, disponible au public pour scruter les environs. <img src='./assets/layers/binocular/binoculars_example.jpg' style='height: 300px; width: auto; display: block;' />",
"da": "Et teleskop eller en kikkert monteret på en stang, som offentligheden kan se sig omkring med. <img src='./assets/layers/binocular/binoculars_example.jpg' style='height: 300px; width: auto; display: block;' />",
"es": "Un telescopio o unos prismáticos montados en un poste, disponible para que el público mire alrededor. <img src='./assets/layers/binocular/binoculars_example.jpg' style='height: 300px; width: auto; display: block;' />",
"ca": "Un telescopi o un parell de prismàtics muntats en un pal, a disposició del públic per mirar al seu voltant. <img src='./assets/layers/binocular/binoculars_example.jpg' style='height: 300px; width: auto; display: block;' />",
"cs": "Jednooký teleskop nebo dalekohled umístěný na stožáru, který je k dispozici veřejnosti k prohlídce. <img src='./assets/layers/binoculars/binoculars_example.jpg' style='height: 300px; width: auto; display: block;' />"
}
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"mappings": [
{
"if": {
"and": [
"fee=no",
"charge="
]
},
"then": {
"en": "Free to use",
"nl": "Gratis te gebruiken",
"de": "Kostenlose Nutzung",
"da": "Gratis at bruge",
"es": "De uso gratuito",
"fr": "En libre service",
"ca": "Debades",
"cs": "Použití zdarma"
}
}
],
"freeform": {
"key": "charge",
"addExtraTags": [
"fee=yes"
],
"inline": true
},
"render": {
"en": "Using these binoculars costs {charge}",
"nl": "Deze verrekijker gebruiken kost {charge}",
"de": "Die Benutzung dieses Fernglases kostet {charge}",
"es": "Utilizar estos prismáticos cuesta {charge}",
"da": "Brug af denne kikkert koster {charge}",
"fr": "Lutilisation des ces jumelles coûte {charge}",
"ca": "L'ús d'aquests prismàtics costa {charge}",
"cs": "Použití tohoto dalekohledu stojí {charge}"
},
"question": {
"en": "How much does one have to pay to use these binoculars?",
"nl": "Hoeveel moet men betalen om deze verrekijker te gebruiken?",
"de": "Wie viel muss man für die Nutzung dieser Ferngläser bezahlen?",
"es": "¿Cuánto hay que pagar para utilizar estos prismáticos?",
"da": "Hvor meget koster det at bruge denne kikkert?",
"fr": "Combien lutilisation des ces jumelles coûte-t-elle ?",
"ca": "Quant s'ha de pagar per utilitzar aquests prismàtics?",
"cs": "Kolik se platí za používání těchto dalekohledů?"
},
"id": "binocular-charge"
},
{
"question": {
"en": "When looking through this binocular, in what direction does one look?",
"nl": "Welke richting kijkt men uit als men door deze verrekijker kijkt?",
"de": "In welche Richtung blickt man, wenn man durch dieses Fernglas schaut?",
"es": "¿Cuándo uno mira a través de estos prismáticos, en qué dirección lo hace?",
"da": "I hvilken retning kigger man, når man ser gennem denne kikkert?",
"fr": "Dans quelle direction regarde-t-on en utilisant ces jumelles ?",
"ca": "En mirar a través d'aquest binocular, en quina direcció es mira?",
"cs": "Při pohledu přes tento dalekohled, kterým směrem se člověk dívá?"
},
"render": {
"en": "Looks towards {direction}°",
"nl": "Kijkt richting {direction}°",
"de": "Blick in Richtung {direction}°",
"es": "Mira hacia {direction}º",
"da": "Kigger mod {direction}°",
"fr": "Orienté à {direction}°",
"ca": "Mira cap a {direction}°",
"cs": "Dívá se směrem v úhlu {direction}°"
},
"freeform": {
"key": "direction",
"type": "direction",
"inline": true
},
"id": "binocular-direction"
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "move-button",
"render": {
"*": "{move_button()}"
}
},
{
"id": "delete-button",
"render": {
"*": "{delete_button()}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"deletion": {
"softDeletionTags": {
"and": [
"disused:amenity:={amenity}",
"amenity="
]
},
"neededChangesets": 1
},
"allowMove": {
"enableRelocation": false,
"enableImproveAccuracy": true
},
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "circle",
"color": "white"
},
{
"icon": "./assets/layers/binocular/telescope.svg"
}
]
}

View file

@ -0,0 +1,891 @@
{
"id": "birdhide",
"name": {
"en": "Bird watching places",
"nl": "Vogelkijkhutten",
"de": "Orte zur Vogelbeobachtung",
"es": "Lugares para ver pájaros",
"da": "Steder til fugleobservation",
"fr": "Lieu pour observer des oiseaux",
"ca": "Llocs per a vore ocells",
"pl": "Miejsca do obserwacji ptaków",
"cs": "Místa pro pozorování ptáků"
},
"description": {
"en": "A birdhide",
"nl": "Een vogelkijkhut",
"da": "Et fugleskjul",
"de": "Ein Vogelbeobachtungsturm",
"fr": "Un observatoire ornithologique",
"ca": "Un observatori d'ocells",
"cs": "Pozorovatelna"
},
"source": {
"osmTags": {
"and": [
"leisure=bird_hide"
]
}
},
"minzoom": 14,
"title": {
"render": {
"en": "Bird watching place",
"nl": "Vogelkijkplaats",
"de": "Ort zur Vogelbeobachtung",
"fr": "Lieu dobservation doiseaux",
"da": "Plads til fugleobservation",
"ca": "Lloc d'observació d'ocells",
"cs": "Místo pozorování ptáků"
},
"mappings": [
{
"if": {
"and": [
"name~(((V|v)ogel)|(B|b)ird).*"
]
},
"then": {
"*": "{name}",
"nl": "{name}"
}
},
{
"if": {
"and": [
"name~*",
{
"or": [
"building!~no",
"shelter=yes"
]
}
]
},
"then": {
"en": "Bird hide {name}",
"nl": "Vogelkijkhut {name}",
"da": "Fugleskjul {name}",
"de": "Vogelbeobachtungsplatz {name}",
"fr": "Observatoire ornithologique {name}",
"ca": "Observatori d'Ocells {name}",
"cs": "Ptačí pozorovatelna {name}"
}
},
{
"if": {
"and": [
"name~*"
]
},
"then": {
"en": "Bird blind {name}",
"nl": "Vogelkijkwand {name}",
"de": "Vogelversteck {name}",
"fr": "Camouflage dobservation ornithologique {name}",
"da": "Fugletårn {name}",
"ca": "Observatori d'ocells {name}",
"cs": "Ptačí pozorovatelna {name}"
}
}
]
},
"pointRendering": [
{
"marker": [
{
"icon": {
"render": "./assets/layers/birdhide/birdhide.svg",
"mappings": [
{
"if": {
"or": [
"building=yes",
"shelter=yes",
"amenity=shelter"
]
},
"then": "./assets/layers/birdhide/birdshelter.svg"
}
]
}
}
],
"location": [
"point",
"centroid"
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [],
"presets": [
{
"tags": [
"leisure=bird_hide",
"building=yes",
"shelter=yes",
"amenity=shelter"
],
"title": {
"en": "a birdhide",
"nl": "een vogelkijkhut",
"da": "et fugleskjul",
"de": "ein Gebäude zur Vogelbeobachtung",
"fr": "un observatoire ornithologique",
"ca": "un observatori d'ocells",
"cs": "pozorovatelna"
},
"description": {
"en": "A covered shelter where one can watch birds comfortably",
"nl": "Een overdekte hut waarbinnen er warm en droog naar vogels gekeken kan worden",
"de": "Ein überdachter Unterstand, in dem man bequem Vögel beobachten kann",
"es": "Un refugio cubierto donde se pueden ver pájaros confortablemente",
"da": "Et overdækket ly, hvor man kan se fugle i ro og mag",
"fr": "Un abris couvert pour observer les oiseaux confortablement",
"ca": "Un refugi cobert on es poden veure ocells confortablement",
"cs": "Krytý přístřešek, kde lze pohodlně pozorovat ptáky"
}
},
{
"tags": [
"leisure=bird_hide",
"building=no",
"shelter=no"
],
"title": {
"en": "a bird blind",
"nl": "een vogelkijkwand",
"de": "einen Sichtschutz zur Vogelbeobachtung",
"fr": "un camouflage dobservation ornithologique",
"da": "et fugletårn",
"ca": "un observatori d'ocells"
},
"description": {
"en": "A screen or wall with openings to watch birds",
"nl": "Een vogelkijkwand waarachter men kan staan om vogels te kijken",
"es": "Una pantalla o pared con aperturas para ver pájaros",
"da": "En skærm eller væg med åbninger til at se på fugle",
"de": "Ein Schirm oder eine Wand mit Öffnungen zum Beobachten von Vögeln",
"fr": "Un écran ou un mur avec des ouvertures pour observer les oiseaux",
"ca": "Una pantalla o paret amb obertures per a observar ocells",
"cs": "Obrazovka nebo stěna s otvory pro sledování ptáků"
}
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "bird-hide-shelter-or-wall",
"question": {
"en": "Is this a bird blind or a bird watching shelter?",
"nl": "Is dit een kijkwand of kijkhut?",
"de": "Ist dies nur ein Sichtschutz oder ein überdachter Unterstand zur Vogelbeobachtung?",
"fr": "Sagit-il dun camouflage ou dun abris dobservation ?",
"da": "Er dette en fugletårn eller et fuglekiggerskjul?",
"cs": "Jedná se o ptačí zástěnu nebo o úkryt pro pozorování ptáků?"
},
"mappings": [
{
"if": {
"and": [
"shelter=no",
"building=",
"amenity="
]
},
"then": {
"en": "Bird blind",
"nl": "Vogelkijkwand",
"de": "Sichtschutz zur Vogelbeobachtung",
"fr": "Camouflage dobservation ornithologique",
"da": "Fugletårn",
"ca": "Observatori d'ocells",
"cs": "Ptačí pozorovatelna"
}
},
{
"if": {
"and": [
"amenity=shelter",
"building=yes",
"shelter=yes"
]
},
"then": {
"en": "Bird hide",
"nl": "Vogelkijkhut",
"da": "Fugleskjul",
"de": "Vogelbeobachtungsturm",
"fr": "Observatoire ornithologique",
"ca": "Observatori d'ocells",
"cs": "Ptačí skrýš"
}
},
{
"if": {
"and": [
"building=tower",
"bird_hide=tower"
]
},
"then": {
"en": "Bird tower hide",
"nl": "Vogelkijktoren",
"de": "Turm zur Vogelbeobachtung",
"fr": "Tour dobservation ornithologique",
"da": "Fugletårn skjul",
"ca": "Torre d'observació d'ocells",
"cs": "Ptačí budka věž"
}
},
{
"if": {
"or": [
"amenity=shelter",
"building=yes",
"shelter=yes"
]
},
"then": {
"en": "Bird hide shelter",
"nl": "Vogelkijkhut",
"de": "Unterstand zur Vogelbeobachtung",
"fr": "Abris dobservation ornithologique",
"da": "Fuglekigger skjul",
"cs": "Úkryt pro pozorování ptáků"
},
"hideInAnswer": true
}
]
},
{
"id": "bird-hide-wheelchair",
"question": {
"en": "Is this bird hide accessible to wheelchair users?",
"nl": "Is deze vogelkijkplaats rolstoeltoegankelijk?",
"da": "Er dette fugleskjul tilgængeligt for kørestolsbrugere?",
"de": "Ist der Ort rollstuhlgerecht gestaltet?",
"fr": "Cet observatoire ornithologique est-il accessible en chaise roulante ?",
"ca": "Aquest observatori d'ocells és accessible per als usuaris de cadira de rodes?",
"cs": "Je tato ptačí pozorovatelna přístupná pro vozíčkáře?"
},
"mappings": [
{
"if": {
"and": [
"wheelchair=designated"
]
},
"then": {
"en": "There are special provisions for wheelchair users",
"nl": "Er zijn speciale voorzieningen voor rolstoelen",
"es": "Hay provisiones especiales para usuarios de sillas de ruedas",
"de": "Für Rollstuhlfahrer gibt es besondere Vorrichtungen",
"fr": "Linfrastructure est adaptée aux utilisateurs de chaises roulantes",
"da": "Der er særlige bestemmelser for kørestolsbrugere",
"ca": "Hi ha provisions especials per als usuaris de cadira de rodes",
"cs": "Pro vozíčkáře jsou připravena speciální opatření"
}
},
{
"if": {
"and": [
"wheelchair=yes"
]
},
"then": {
"en": "A wheelchair can easily use this birdhide",
"nl": "Een rolstoel raakt er vlot",
"da": "En kørestolsbruger kan sagtens bruge dette fugleskjul",
"de": "Der Ort ist rollstuhlgerecht gestaltet",
"fr": "Cet observatoire ornithologique est facilement accessible en chaise roulante",
"ca": "Una cadira de rodes pot utilitzar fàcilment aquest observador d'ocells",
"cs": "Invalidní vozík může snadno používat tuto ptačí pozorovatelnu"
}
},
{
"if": {
"and": [
"wheelchair=limited"
]
},
"then": {
"en": "This birdhide is reachable by wheelchair, but it is not easy",
"nl": "Je kan er raken met een rolstoel, maar het is niet makkelijk",
"da": "Dette fugleskjul kan nås med kørestol, men det er ikke nemt",
"de": "Der Ort ist nur eingeschränkt rollstuhlgerecht gestaltet",
"fr": "Cet observatoire ornithologique est accessible en chaise roulante mais difficilement",
"ca": "Aquest observatori d'ocells és accessible amb cadira de rodes, però no és fàcil",
"cs": "Tato ptačí pozorovatelna je dosažitelná na invalidním vozíku, ale není to snadné"
}
},
{
"if": {
"and": [
"wheelchair=no"
]
},
"then": {
"en": "Not accessible to wheelchair users",
"nl": "Niet rolstoeltoegankelijk",
"de": "Nicht zugänglich für Rollstuhlfahrer",
"es": "No accesible a usuarios con sillas de ruedas",
"da": "Ikke tilgængelig for kørestolsbrugere",
"fr": "Pas accessible en chaise roulante",
"ca": "No accessible per a persones amb cadira de rodes",
"pl": "Niedostępne dla osób na wózkach",
"cs": "Není přístupný pro osoby na invalidním vozíku"
}
}
]
},
{
"render": {
"en": "Operated by {operator}",
"nl": "Beheer door {operator}",
"de": "Betrieben von {operator}",
"es": "Operado por {operator}",
"da": "Drives af {operator}",
"fr": "Opéré par {operator}",
"ca": "Gestionat per {operator}",
"pl": "Obsługiwane przez {operator}",
"cs": "Provozuje {operator}"
},
"freeform": {
"key": "operator",
"inline": true
},
"question": {
"en": "Who operates this birdhide?",
"nl": "Wie beheert deze vogelkijkplaats?",
"da": "Hvem driver dette fugleskjul?",
"de": "Wer betreibt diesen Ort zur Vogelbeobachtung?",
"fr": "Qui opère cet observatoire ornithologique ?",
"ca": "Qui gestiona aquest observatori d'ocells?",
"cs": "Kdo provozuje tuto ptačí pozorovatelnu?"
},
"mappings": [
{
"if": "operator=Natuurpunt",
"then": {
"en": "Operated by Natuurpunt",
"nl": "Beheer door Natuurpunt",
"de": "Betrieben von Natuurpunt",
"es": "Operado por Natuurpunt",
"da": "Drives af Natuurpunt",
"fr": "Opéré par Natuurpunt",
"ca": "Operat per Natuurpunt",
"pl": "Obsługiwane przez Natuurpunt",
"cs": "Provozuje Natuurpunt"
}
},
{
"if": "operator=Agentschap Natuur en Bos",
"then": {
"en": "Operated by the Agency for Nature and Forests",
"nl": "Beheer door het Agentschap Natuur en Bos",
"de": "Betrieben von einer Forst- bzw. Naturschutzbehörde",
"fr": "Opéré par lAgence Nature et Forêts",
"da": "Drives af Natur- og Skovstyrelsen",
"cs": "Provozuje the Agency for Nature and Forests"
}
}
],
"id": "birdhide-operator"
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "move-button",
"render": {
"*": "{move_button()}"
}
},
{
"id": "delete-button",
"render": {
"*": "{delete_button()}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"filter": [
{
"id": "wheelchair",
"options": [
{
"question": {
"nl": "Rolstoeltoegankelijk",
"en": "Wheelchair accessible",
"de": "Zugänglich für Rollstuhlfahrer",
"fr": "Accessible aux fauteuils roulants",
"ca": "Accessible per a cadires de rodes",
"es": "Accesible con sillas de ruedas",
"da": "Tilgængelig for kørestolsbrugere",
"cs": "Bezbariérový přístup"
},
"osmTags": {
"or": [
"wheelchair=yes",
"wheelchair=designated",
"wheelchair=permissive"
]
}
}
]
},
{
"id": "shelter",
"options": [
{
"question": {
"en": "Only covered birdhides",
"nl": "Enkel overdekte kijkhutten",
"de": "Nur überdachte Vogelbeobachtungsstellen",
"da": "Kun overdækkede fugleskjul",
"fr": "Seulement les observatoires ornithologiques couverts",
"ca": "Només observatoris d'ocells coberts",
"cs": "Pouze zakryté pozorovatelny"
},
"osmTags": {
"and": [
{
"or": [
"shelter=yes",
"building~*"
]
},
"covered!=no"
]
}
}
]
}
],
"deletion": {
"softDeletionTags": {
"and": [
"disused:amenity:={amenity}",
"amenity="
]
}
},
"allowMove": {
"enableRelocation": false,
"enableImproveAccuracy": true
},
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "./assets/layers/birdhide/birdhide.svg"
}
]
}

View file

@ -0,0 +1,791 @@
{
"id": "brothel",
"name": {
"en": "Brothels",
"de": "Bordelle"
},
"description": {
"en": "An establishment specifically dedicated to prostitution. ",
"de": "Eine Einrichtung, die speziell der Prostitution gewidmet ist. "
},
"source": {
"osmTags": {
"and": [
"amenity=brothel"
]
}
},
"enableMorePrivacy": true,
"minzoom": 6,
"title": {
"render": {
"en": "Brothel",
"de": "Bordell"
},
"mappings": [
{
"if": "name~*",
"then": {
"*": "{name}"
}
}
]
},
"pointRendering": [
{
"location": [
"point",
"centroid"
],
"marker": [
{
"icon": {
"render": "circle",
"id": "circle"
},
"color": "white"
},
{
"icon": {
"render": "ring",
"id": "ring"
},
"color": "#fc6488"
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
},
{
"location": [
"centroid",
"point"
],
"marker": [
{
"icon": {
"render": "heart",
"id": "heart"
},
"color": "#fc6488"
}
],
"iconSize": "28,28"
}
],
"presets": [
{
"title": {
"en": "a brothel",
"de": "ein Bordell"
},
"tags": [
"amenity=brothel"
]
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "reviews",
"description": "Shows the reviews module (including the possibility to leave a review)",
"render": {
"*": "{create_review()}{list_reviews()}"
}
},
{
"multiAnswer": false,
"id": "name",
"freeform": {
"inline": false,
"key": "name"
},
"question": {
"en": "What is the name of this brothel?",
"de": "Wie lautet der Name des Bordells?"
},
"render": {
"en": "This brothel is named <b>{name}</b>",
"de": "Der Name des Bordells lautet <b>{name}</b>"
}
},
{
"id": "opening_hours",
"question": {
"en": "What are the opening hours of {title()}?",
"fr": "Quelles sont les horaires d'ouverture de {title()} ?",
"de": "Wie lauten die Öffnungszeiten von {title()}?",
"nl": "Wat zijn de openingstijden van {title()}?",
"nb_NO": "Hva er åpningstidene for {title()})",
"ru": "Какое время работы у {title()}?",
"zh_Hant": "{title()} 的開放時間是什麼?",
"it": "Quali sono gli orari di apertura di {title()}?",
"pt_BR": "Qual o horário de funcionamento de {title()}?",
"pl": "Jakie są godziny otwarcia {title()}?",
"sv": "Vilka är öppettiderna för {title()}?",
"pt": "Qual é o horário de funcionamento de {title()}?",
"hu": "Mikor van nyitva ez: {title()}?",
"ca": "Quin és l'horari d'obertura de {title()}?",
"ja": "{title()}の営業時間は?",
"sl": "Kakšen odpiralni čas ima {title()}?",
"fil": "Anong oras nagbubukas ang {title()}?",
"es": "¿Cuales son las horas de apertura de {title()}?",
"zh_Hans": "{title()} 的开放时间为何?",
"da": "Hvad er åbningstiderne for {title()}?",
"id": "Kapan jam buka {title()}?",
"cs": "Jaká je otevírací doba {title()}?"
},
"render": {
"de": "<h3>Öffnungszeiten</h3>{opening_hours_table(opening_hours)}",
"fr": "<h3>Horaires d'ouverture</h3>{opening_hours_table(opening_hours)}",
"en": "<h3>Opening hours</h3>{opening_hours_table(opening_hours)}",
"nl": "<h3>Openingstijden</h3>{opening_hours_table(opening_hours)}",
"nb_NO": "<h3>Åpningstider</h3>{opening_hours_table(opening_hours)}",
"ru": "<h3>Часы работы</h3>{opening_hours_table(opening_hours)}",
"zh_Hant": "<h3>開放時間</h3>{opening_hours_table(opening_hours)}",
"it": "<h3>Orari di apertura</h3>{opening_hours_table(opening_hours)}",
"pl": "<h3> Godziny otwarcia</h3>{opening_hours_table(opening_hours)}",
"pt_BR": "<h3>Horário de funcionamento</h3>{opening_hours_table(opening_hours)}",
"sv": "<h3>Öppettider</h3> {opening_hours_table(opening_hours)}",
"pt": "<h3>Horário de funcionamento</h3>{opening_hours_table(opening_hours)}",
"eo": "<h3>Malfermitaj horoj</h3>{opening_hours_table(opening_hours)}",
"hu": "<h3>Nyitva tartás</h3>{opening_hours_table(opening_hours)}",
"ca": "<h3>Horari d'obertura</h3>{opening_hours_table(opening_hours)}",
"ja": "<h3>営業時間</h3>{opening_hours_table(opening_hours)}",
"sl": "<h3>Odpiralni čas</h3>{opening_hours_table(opening_hours)}",
"fil": "<h3>Mga oras na bukas</h3>{opening_hours_table(opening_hours)}",
"es": "<h3>Horas de apertura</h3>{opening_hours_table(opening_hours)}",
"zh_Hans": "<h3>开放时间</h3> {opening_hours_table(opening_hours)}",
"da": "<h3> Åbningstider</h3>{opening_hours_table(opening_hours)}",
"id": "<h3>Jam buka</h3>{opening_hours_table(opening_hours)}",
"pa_PK": "<h3>کھُلھے گھنٹے</h3>{opening_hours_table(opening_hours)}",
"cs": "<h3>Otevírací hodiny</h3>{opening_hours_table(opening_hours)}"
},
"freeform": {
"key": "opening_hours",
"type": "opening_hours",
"inline": false
},
"mappings": [
{
"#": "Just here to be able to handle those ~5000 incorrect 'opening_hours=closed' elements.",
"if": "opening_hours=closed",
"then": {
"en": "Marked as closed for an unspecified time",
"nl": "Gesloten voor onbepaalde duur",
"de": "Als geschlossen für eine unbestimmte Zeit markiert"
},
"hideInAnswer": true
}
]
},
{
"id": "phone",
"labels": [
"contact"
],
"question": {
"en": "What is the phone number of {title()}?",
"nl": "Wat is het telefoonnummer van {title()}?",
"fr": "Quel est le numéro de téléphone de {title()} ?",
"de": "Wie lautet die Telefonnummer von {title()}?",
"nb_NO": "Hva er telefonnummeret til {title()}?",
"ru": "Какой номер телефона у {title()}?",
"sv": "Vad är telefonnumret till {title()}?",
"zh_Hant": "{title()} 的電話號碼是什麼?",
"it": "Qual è il numero di telefono di {title()}?",
"pt_BR": "Qual o número de telefone de {title()}?",
"id": "Berapa nomor telepon dari {title()}?",
"pl": "Jaki jest numer telefonu do {title()}?",
"pt": "Qual é o número de telefone de {title()}?",
"eo": "Kio estas la telefonnumero de {title()}?",
"hu": "Mi a telefonszáma ennek: {title()}?",
"ca": "Quin és el telèfon de {title()}?",
"ja": "{title()}の電話番号は?",
"sl": "Kakšno telefonsko številko ima {title()}?",
"fil": "Ano ang telepono ng {title()}?",
"es": "¿Cuál es el número de teléfono de {title()}?",
"zh_Hans": "{title()} 的电话号码为何?",
"da": "Hvad er telefonnummeret til {title()}?",
"cs": "Jaké je telefonní číslo {title()}?"
},
"render": {
"*": "<a href='tel:{phone}'>{phone}</a>"
},
"icon": "./assets/layers/questions/phone.svg",
"mappings": [
{
"if": "contact:phone~*",
"then": "<a href='tel:{contact:phone}'>{contact:phone}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/questions/phone.svg"
}
],
"freeform": {
"key": "phone",
"type": "phone",
"addExtraTags": [
"contact:phone="
]
},
"editButtonAriaLabel": {
"en": "Edit phone number",
"nl": "Pas telefoonnummer aan",
"de": "Telefonnummer bearbeiten"
}
},
{
"id": "email",
"render": {
"*": "<a href='mailto:{email}' target='_blank' rel='noopener'>{email}</a>"
},
"icon": "./assets/svg/envelope.svg",
"labels": [
"contact"
],
"question": {
"nl": "Wat is het e-mailadres van {title()}?",
"fr": "Quelle est l'adresse courriel de {title()} ?",
"en": "What is the email address of {title()}?",
"nb_NO": "Hva er e-postadressen til {title()}?",
"ru": "Какой адрес электронной почты у {title()}?",
"id": "Apa alamat surel dari {title()}?",
"zh_Hant": "{title()} 的電子郵件地址是什麼?",
"it": "Qual è l'indirizzo email di {title()}?",
"de": "Wie lautet die Mail-Adresse von {title()}?",
"pt_BR": "Qual o endereço de e-mail de {title()}?",
"pl": "Jaki jest adres e-mail do {title()}?",
"sv": "Vad är e-postadressen till {title()}?",
"pt": "Qual é o endereço de e-mail de {title()}?",
"eo": "Kio estas la retpoŝta adreso de {title()}?",
"hu": "Mi a(z) {title()} e-mail címe?",
"ca": "Quina és l'adreça de correu electrònic de {title()}?",
"ja": "{title()}のEメールアドレスは何ですか",
"sl": "Kakšen naslov elektronske pošte ima {title()}?",
"fil": "Ano ang email address ng {title()}?",
"es": "¿Cuál es la dirección de correo electrónico de {title()}?",
"zh_Hans": "{title()} 的电子邮箱地址为何?",
"da": "Hvad er mailadressen på {title()}?",
"cs": "Jaká je e-mailová adresa {title()}?"
},
"mappings": [
{
"if": "contact:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{contact:email}' target='_blank' rel='noopener'>{contact:email}</a>",
"hideInAnswer": true
},
{
"if": "operator:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{operator:email}' target='_blank' rel='noopener'>{operator:email}</a>",
"hideInAnswer": true
}
],
"freeform": {
"key": "email",
"type": "email",
"addExtraTags": [
"contact:email="
]
},
"editButtonAriaLabel": {
"en": "Edit email address",
"nl": "Pas emailadres aan",
"de": "E-Mail Adresse bearbeiten"
}
},
{
"id": "website",
"labels": [
"contact"
],
"icon": "./assets/layers/icons/website.svg",
"question": {
"en": "What is the website of {title()}?",
"nl": "Wat is de website van {title()}?",
"fr": "Quel est le site web de {title()} ?",
"gl": "Cal é a páxina web de {title()}?",
"nb_NO": "Hva er nettsiden til {title()}?",
"ru": "Какой сайт у {title()}?",
"id": "Apa situs web dari {title()}?",
"zh_Hant": "{title()} 網址是什麼?",
"it": "Qual è il sito web di {title()}?",
"de": "Wie lautet die Webseite von {title()}?",
"pt_BR": "Qual o site de {title()}?",
"pl": "Jaka jest strona internetowa {title()}?",
"sv": "Vad är webbplatsen för {title()}?",
"pt": "Qual é o sítio web de {title()}?",
"eo": "Kie estas la retejo de {title()}?",
"hu": "Mi a weboldala ennek: {title()}?",
"ca": "Quina és la web de {title()}?",
"ja": "{title()}のウェブサイトは?",
"fil": "Ano ang website ng {title()}?",
"es": "¿Cual es el sitio web de {title()}?",
"zh_Hans": "{title()} 的网站为何?",
"da": "Hvad er webstedet for {title()}?",
"cs": "Jaká je webová stránka {title()}?"
},
"render": {
"*": "<a href='{website}' rel='nofollow noopener noreferrer' target='_blank'>{website}</a>"
},
"freeform": {
"key": "website",
"type": "url",
"addExtraTags": [
"contact:website="
]
},
"mappings": [
{
"if": "contact:website~*",
"then": "<a href='{contact:website}' rel='nofollow noopener noreferrer' target='_blank'>{contact:website}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/icons/website.svg"
}
],
"editButtonAriaLabel": {
"en": "Edit website",
"nl": "Pas website aan",
"de": "Webseite bearbeiten"
}
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "move-button",
"render": {
"*": "{move_button()}"
}
},
{
"id": "delete-button",
"render": {
"*": "{delete_button()}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"deletion": {
"omitDefaultDeleteReasons": false
},
"allowMove": true,
"allowSplit": false,
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "circle",
"color": "white"
},
{
"icon": "ring",
"color": "#fc6488"
}
]
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,855 @@
{
"id": "car_rental",
"name": {
"en": "Car Rental",
"nl": "Autoverhuur",
"de": "Autovermietung",
"fr": "Société de location de véhicules",
"ca": "Lloguer de cotxes",
"pl": "Wypożyczalnia samochodów",
"cs": "Půjčovna aut"
},
"description": {
"en": "Places where you can rent a car",
"nl": "Plaatsen waar je een auto kunt huren",
"de": "Orte, an denen Sie ein Auto mieten können",
"fr": "Lieu où vous pouvez louer une voiture",
"ca": "Llocs on pots llogar un cotxe",
"pl": "Miejsca, w których można wypożyczyć samochód",
"cs": "Místa, kde si můžete pronajmout auto"
},
"source": {
"osmTags": {
"and": [
"amenity=car_rental"
]
}
},
"minzoom": 12,
"title": {
"render": {
"en": "Car Rental",
"nl": "Autoverhuur",
"de": "Autovermietung",
"fr": "Société de location de véhicules",
"ca": "Lloguer de cotxes",
"pl": "Wypożyczalnia samochodów",
"cs": "Půjčovna aut"
},
"mappings": [
{
"if": "name~*",
"then": "{name}"
}
]
},
"pointRendering": [
{
"location": [
"point",
"centroid"
],
"label": "<div class='bg-white block p-1 rounded'>{name}</div>",
"marker": [
{
"icon": {
"render": "circle",
"id": "circle"
},
"color": "white"
},
{
"icon": {
"render": "./assets/layers/car_rental/car_rental.svg",
"id": "assetslayerscarrentalcarrentalsvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"color": "darkblue",
"width": 2
}
],
"presets": [
{
"tags": [
"amenity=car_rental"
],
"title": {
"en": "a car rental",
"nl": "een autoverhuur",
"de": "eine Autovermietung",
"fr": "Une société de location de véhicules",
"ca": "un lloguer de cotxes",
"pl": "wypożyczalnia samochodów",
"cs": "půjčovna aut"
},
"description": {
"en": "A place where you can rent a car",
"nl": "Een plaats waar je een auto kunt huren",
"de": "Ein Ort, an dem Sie ein Auto mieten können",
"fr": "Un lieu où vous pouvez louer une voiture",
"ca": "Un lloc on pots llogar un cotxe",
"pl": "Miejsce, w którym można wypożyczyć samochód",
"cs": "Místo, kde si můžete pronajmout auto"
}
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "name",
"freeform": {
"key": "name",
"type": "string",
"addExtraTags": [
"noname="
],
"placeholder": {
"en": "Name of the car rental",
"nl": "Naam van de autoverhuur",
"de": "Name der Autovermietung",
"fr": "Nom de la société de location de véhicules",
"ca": "Nom del lloguer de cotxes",
"pl": "Nazwa wypożyczalni samochodów",
"cs": "Název autopůjčovny"
},
"inline": true
},
"question": {
"en": "What is the name of this car rental?",
"nl": "Wat is de naam van deze autoverhuur?",
"de": "Wie lautet der Name dieser Autovermietung?",
"fr": "Quel est le nom de cette société de location de véhicules ?",
"ca": "Com es diu aquest lloguer de cotxes?",
"pl": "Jaka jest nazwa tej wypożyczalni samochodów?",
"cs": "Jak se jmenuje tato půjčovna aut?"
},
"mappings": [
{
"if": "noname=yes",
"addExtraTags": [
"name="
],
"then": {
"en": "This car rental has no name",
"nl": "Deze autoverhuur heeft geen naam",
"de": "Diese Autovermietung hat keinen Namen",
"fr": "Cette société de location de véhicules n'a pas de nom",
"ca": "Aquest lloguer de cotxes no té nom",
"pl": "Ta wypożyczalnia samochodów nie ma nazwy",
"cs": "Tato autopůjčovna nemá jméno"
}
}
],
"render": {
"en": "This car rental is called {name}",
"nl": "Deze autoverhuur heet {name}",
"de": "Der Name der Autovermietung lautet {name}",
"fr": "Cette société de location de véhicules est appelée {name}",
"ca": "Aquest lloguer de cotxes es diu {name}",
"pl": "Ta wypożyczalnia samochodów nazywa się {name}",
"cs": "Tato autopůjčovna se jmenuje {name}"
}
},
{
"id": "website",
"labels": [
"contact"
],
"icon": "./assets/layers/icons/website.svg",
"question": {
"en": "What is the website of {title()}?",
"nl": "Wat is de website van {title()}?",
"fr": "Quel est le site web de {title()} ?",
"gl": "Cal é a páxina web de {title()}?",
"nb_NO": "Hva er nettsiden til {title()}?",
"ru": "Какой сайт у {title()}?",
"id": "Apa situs web dari {title()}?",
"zh_Hant": "{title()} 網址是什麼?",
"it": "Qual è il sito web di {title()}?",
"de": "Wie lautet die Webseite von {title()}?",
"pt_BR": "Qual o site de {title()}?",
"pl": "Jaka jest strona internetowa {title()}?",
"sv": "Vad är webbplatsen för {title()}?",
"pt": "Qual é o sítio web de {title()}?",
"eo": "Kie estas la retejo de {title()}?",
"hu": "Mi a weboldala ennek: {title()}?",
"ca": "Quina és la web de {title()}?",
"ja": "{title()}のウェブサイトは?",
"fil": "Ano ang website ng {title()}?",
"es": "¿Cual es el sitio web de {title()}?",
"zh_Hans": "{title()} 的网站为何?",
"da": "Hvad er webstedet for {title()}?",
"cs": "Jaká je webová stránka {title()}?"
},
"render": {
"*": "<a href='{website}' rel='nofollow noopener noreferrer' target='_blank'>{website}</a>"
},
"freeform": {
"key": "website",
"type": "url",
"addExtraTags": [
"contact:website="
]
},
"mappings": [
{
"if": "contact:website~*",
"then": "<a href='{contact:website}' rel='nofollow noopener noreferrer' target='_blank'>{contact:website}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/icons/website.svg"
}
],
"editButtonAriaLabel": {
"en": "Edit website",
"nl": "Pas website aan",
"de": "Webseite bearbeiten"
}
},
{
"id": "email",
"render": {
"*": "<a href='mailto:{email}' target='_blank' rel='noopener'>{email}</a>"
},
"icon": "./assets/svg/envelope.svg",
"labels": [
"contact"
],
"question": {
"nl": "Wat is het e-mailadres van {title()}?",
"fr": "Quelle est l'adresse courriel de {title()} ?",
"en": "What is the email address of {title()}?",
"nb_NO": "Hva er e-postadressen til {title()}?",
"ru": "Какой адрес электронной почты у {title()}?",
"id": "Apa alamat surel dari {title()}?",
"zh_Hant": "{title()} 的電子郵件地址是什麼?",
"it": "Qual è l'indirizzo email di {title()}?",
"de": "Wie lautet die Mail-Adresse von {title()}?",
"pt_BR": "Qual o endereço de e-mail de {title()}?",
"pl": "Jaki jest adres e-mail do {title()}?",
"sv": "Vad är e-postadressen till {title()}?",
"pt": "Qual é o endereço de e-mail de {title()}?",
"eo": "Kio estas la retpoŝta adreso de {title()}?",
"hu": "Mi a(z) {title()} e-mail címe?",
"ca": "Quina és l'adreça de correu electrònic de {title()}?",
"ja": "{title()}のEメールアドレスは何ですか",
"sl": "Kakšen naslov elektronske pošte ima {title()}?",
"fil": "Ano ang email address ng {title()}?",
"es": "¿Cuál es la dirección de correo electrónico de {title()}?",
"zh_Hans": "{title()} 的电子邮箱地址为何?",
"da": "Hvad er mailadressen på {title()}?",
"cs": "Jaká je e-mailová adresa {title()}?"
},
"mappings": [
{
"if": "contact:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{contact:email}' target='_blank' rel='noopener'>{contact:email}</a>",
"hideInAnswer": true
},
{
"if": "operator:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{operator:email}' target='_blank' rel='noopener'>{operator:email}</a>",
"hideInAnswer": true
}
],
"freeform": {
"key": "email",
"type": "email",
"addExtraTags": [
"contact:email="
]
},
"editButtonAriaLabel": {
"en": "Edit email address",
"nl": "Pas emailadres aan",
"de": "E-Mail Adresse bearbeiten"
}
},
{
"id": "phone",
"labels": [
"contact"
],
"question": {
"en": "What is the phone number of {title()}?",
"nl": "Wat is het telefoonnummer van {title()}?",
"fr": "Quel est le numéro de téléphone de {title()} ?",
"de": "Wie lautet die Telefonnummer von {title()}?",
"nb_NO": "Hva er telefonnummeret til {title()}?",
"ru": "Какой номер телефона у {title()}?",
"sv": "Vad är telefonnumret till {title()}?",
"zh_Hant": "{title()} 的電話號碼是什麼?",
"it": "Qual è il numero di telefono di {title()}?",
"pt_BR": "Qual o número de telefone de {title()}?",
"id": "Berapa nomor telepon dari {title()}?",
"pl": "Jaki jest numer telefonu do {title()}?",
"pt": "Qual é o número de telefone de {title()}?",
"eo": "Kio estas la telefonnumero de {title()}?",
"hu": "Mi a telefonszáma ennek: {title()}?",
"ca": "Quin és el telèfon de {title()}?",
"ja": "{title()}の電話番号は?",
"sl": "Kakšno telefonsko številko ima {title()}?",
"fil": "Ano ang telepono ng {title()}?",
"es": "¿Cuál es el número de teléfono de {title()}?",
"zh_Hans": "{title()} 的电话号码为何?",
"da": "Hvad er telefonnummeret til {title()}?",
"cs": "Jaké je telefonní číslo {title()}?"
},
"render": {
"*": "<a href='tel:{phone}'>{phone}</a>"
},
"icon": "./assets/layers/questions/phone.svg",
"mappings": [
{
"if": "contact:phone~*",
"then": "<a href='tel:{contact:phone}'>{contact:phone}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/questions/phone.svg"
}
],
"freeform": {
"key": "phone",
"type": "phone",
"addExtraTags": [
"contact:phone="
]
},
"editButtonAriaLabel": {
"en": "Edit phone number",
"nl": "Pas telefoonnummer aan",
"de": "Telefonnummer bearbeiten"
}
},
{
"id": "opening_hours",
"question": {
"en": "What are the opening hours of {title()}?",
"fr": "Quelles sont les horaires d'ouverture de {title()} ?",
"de": "Wie lauten die Öffnungszeiten von {title()}?",
"nl": "Wat zijn de openingstijden van {title()}?",
"nb_NO": "Hva er åpningstidene for {title()})",
"ru": "Какое время работы у {title()}?",
"zh_Hant": "{title()} 的開放時間是什麼?",
"it": "Quali sono gli orari di apertura di {title()}?",
"pt_BR": "Qual o horário de funcionamento de {title()}?",
"pl": "Jakie są godziny otwarcia {title()}?",
"sv": "Vilka är öppettiderna för {title()}?",
"pt": "Qual é o horário de funcionamento de {title()}?",
"hu": "Mikor van nyitva ez: {title()}?",
"ca": "Quin és l'horari d'obertura de {title()}?",
"ja": "{title()}の営業時間は?",
"sl": "Kakšen odpiralni čas ima {title()}?",
"fil": "Anong oras nagbubukas ang {title()}?",
"es": "¿Cuales son las horas de apertura de {title()}?",
"zh_Hans": "{title()} 的开放时间为何?",
"da": "Hvad er åbningstiderne for {title()}?",
"id": "Kapan jam buka {title()}?",
"cs": "Jaká je otevírací doba {title()}?"
},
"render": {
"de": "<h3>Öffnungszeiten</h3>{opening_hours_table(opening_hours)}",
"fr": "<h3>Horaires d'ouverture</h3>{opening_hours_table(opening_hours)}",
"en": "<h3>Opening hours</h3>{opening_hours_table(opening_hours)}",
"nl": "<h3>Openingstijden</h3>{opening_hours_table(opening_hours)}",
"nb_NO": "<h3>Åpningstider</h3>{opening_hours_table(opening_hours)}",
"ru": "<h3>Часы работы</h3>{opening_hours_table(opening_hours)}",
"zh_Hant": "<h3>開放時間</h3>{opening_hours_table(opening_hours)}",
"it": "<h3>Orari di apertura</h3>{opening_hours_table(opening_hours)}",
"pl": "<h3> Godziny otwarcia</h3>{opening_hours_table(opening_hours)}",
"pt_BR": "<h3>Horário de funcionamento</h3>{opening_hours_table(opening_hours)}",
"sv": "<h3>Öppettider</h3> {opening_hours_table(opening_hours)}",
"pt": "<h3>Horário de funcionamento</h3>{opening_hours_table(opening_hours)}",
"eo": "<h3>Malfermitaj horoj</h3>{opening_hours_table(opening_hours)}",
"hu": "<h3>Nyitva tartás</h3>{opening_hours_table(opening_hours)}",
"ca": "<h3>Horari d'obertura</h3>{opening_hours_table(opening_hours)}",
"ja": "<h3>営業時間</h3>{opening_hours_table(opening_hours)}",
"sl": "<h3>Odpiralni čas</h3>{opening_hours_table(opening_hours)}",
"fil": "<h3>Mga oras na bukas</h3>{opening_hours_table(opening_hours)}",
"es": "<h3>Horas de apertura</h3>{opening_hours_table(opening_hours)}",
"zh_Hans": "<h3>开放时间</h3> {opening_hours_table(opening_hours)}",
"da": "<h3> Åbningstider</h3>{opening_hours_table(opening_hours)}",
"id": "<h3>Jam buka</h3>{opening_hours_table(opening_hours)}",
"pa_PK": "<h3>کھُلھے گھنٹے</h3>{opening_hours_table(opening_hours)}",
"cs": "<h3>Otevírací hodiny</h3>{opening_hours_table(opening_hours)}"
},
"freeform": {
"key": "opening_hours",
"type": "opening_hours",
"inline": false
},
"mappings": [
{
"#": "Just here to be able to handle those ~5000 incorrect 'opening_hours=closed' elements.",
"if": "opening_hours=closed",
"then": {
"en": "Marked as closed for an unspecified time",
"nl": "Gesloten voor onbepaalde duur",
"de": "Als geschlossen für eine unbestimmte Zeit markiert"
},
"hideInAnswer": true
}
]
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "move-button",
"render": {
"*": "{move_button()}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"filter": [
{
"id": "open_now",
"options": [
{
"question": {
"en": "Open now",
"nl": "Nu open",
"de": "Jetzt geöffnet",
"ca": "Obert ara",
"es": "Abierto",
"fr": "Ouvert maintenant",
"hu": "Most nyitva van",
"da": "Åbent nu",
"zh_Hant": "目前開放",
"id": "Saat ini buka",
"it": "Aperto ora",
"pl": "Otwarte teraz",
"cs": "Nyní otevřeno"
},
"osmTags": "_isOpen=yes"
}
]
}
],
"allowMove": {
"enableImproveAccuracy": true
},
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "circle",
"color": "white"
},
{
"icon": "./assets/layers/car_rental/car_rental.svg"
}
]
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,769 @@
{
"id": "cinema",
"name": {
"en": "Cinema",
"de": "Kino"
},
"description": {
"en": " A place showing movies (films), generally open to the public for a fee. Commonly referred to as a movie theater in the US",
"de": " Ein Ort, an dem Filme gezeigt werden, die der Öffentlichkeit gegen Gebühr zugänglich sind"
},
"source": {
"osmTags": {
"and": [
"amenity=cinema"
]
}
},
"minzoom": 10,
"title": {
"mappings": [
{
"if": "name~*",
"then": {
"*": "{name}"
}
}
],
"render": {
"en": "Cinema",
"de": "Kino"
}
},
"pointRendering": [
{
"location": [
"point",
"centroid"
],
"marker": [
{
"icon": {
"render": "circle",
"id": "circle"
},
"color": "white"
},
{
"icon": {
"render": "./assets/layers/cinema/cinema.svg",
"id": "assetslayerscinemacinemasvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "reviews",
"description": "Shows the reviews module (including the possibility to leave a review)",
"render": {
"*": "{create_review()}{list_reviews()}"
}
},
{
"id": "phone",
"labels": [
"contact"
],
"question": {
"en": "What is the phone number of {title()}?",
"nl": "Wat is het telefoonnummer van {title()}?",
"fr": "Quel est le numéro de téléphone de {title()} ?",
"de": "Wie lautet die Telefonnummer von {title()}?",
"nb_NO": "Hva er telefonnummeret til {title()}?",
"ru": "Какой номер телефона у {title()}?",
"sv": "Vad är telefonnumret till {title()}?",
"zh_Hant": "{title()} 的電話號碼是什麼?",
"it": "Qual è il numero di telefono di {title()}?",
"pt_BR": "Qual o número de telefone de {title()}?",
"id": "Berapa nomor telepon dari {title()}?",
"pl": "Jaki jest numer telefonu do {title()}?",
"pt": "Qual é o número de telefone de {title()}?",
"eo": "Kio estas la telefonnumero de {title()}?",
"hu": "Mi a telefonszáma ennek: {title()}?",
"ca": "Quin és el telèfon de {title()}?",
"ja": "{title()}の電話番号は?",
"sl": "Kakšno telefonsko številko ima {title()}?",
"fil": "Ano ang telepono ng {title()}?",
"es": "¿Cuál es el número de teléfono de {title()}?",
"zh_Hans": "{title()} 的电话号码为何?",
"da": "Hvad er telefonnummeret til {title()}?",
"cs": "Jaké je telefonní číslo {title()}?"
},
"render": {
"*": "<a href='tel:{phone}'>{phone}</a>"
},
"icon": "./assets/layers/questions/phone.svg",
"mappings": [
{
"if": "contact:phone~*",
"then": "<a href='tel:{contact:phone}'>{contact:phone}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/questions/phone.svg"
}
],
"freeform": {
"key": "phone",
"type": "phone",
"addExtraTags": [
"contact:phone="
]
},
"editButtonAriaLabel": {
"en": "Edit phone number",
"nl": "Pas telefoonnummer aan",
"de": "Telefonnummer bearbeiten"
}
},
{
"id": "email",
"render": {
"*": "<a href='mailto:{email}' target='_blank' rel='noopener'>{email}</a>"
},
"icon": "./assets/svg/envelope.svg",
"labels": [
"contact"
],
"question": {
"nl": "Wat is het e-mailadres van {title()}?",
"fr": "Quelle est l'adresse courriel de {title()} ?",
"en": "What is the email address of {title()}?",
"nb_NO": "Hva er e-postadressen til {title()}?",
"ru": "Какой адрес электронной почты у {title()}?",
"id": "Apa alamat surel dari {title()}?",
"zh_Hant": "{title()} 的電子郵件地址是什麼?",
"it": "Qual è l'indirizzo email di {title()}?",
"de": "Wie lautet die Mail-Adresse von {title()}?",
"pt_BR": "Qual o endereço de e-mail de {title()}?",
"pl": "Jaki jest adres e-mail do {title()}?",
"sv": "Vad är e-postadressen till {title()}?",
"pt": "Qual é o endereço de e-mail de {title()}?",
"eo": "Kio estas la retpoŝta adreso de {title()}?",
"hu": "Mi a(z) {title()} e-mail címe?",
"ca": "Quina és l'adreça de correu electrònic de {title()}?",
"ja": "{title()}のEメールアドレスは何ですか",
"sl": "Kakšen naslov elektronske pošte ima {title()}?",
"fil": "Ano ang email address ng {title()}?",
"es": "¿Cuál es la dirección de correo electrónico de {title()}?",
"zh_Hans": "{title()} 的电子邮箱地址为何?",
"da": "Hvad er mailadressen på {title()}?",
"cs": "Jaká je e-mailová adresa {title()}?"
},
"mappings": [
{
"if": "contact:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{contact:email}' target='_blank' rel='noopener'>{contact:email}</a>",
"hideInAnswer": true
},
{
"if": "operator:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{operator:email}' target='_blank' rel='noopener'>{operator:email}</a>",
"hideInAnswer": true
}
],
"freeform": {
"key": "email",
"type": "email",
"addExtraTags": [
"contact:email="
]
},
"editButtonAriaLabel": {
"en": "Edit email address",
"nl": "Pas emailadres aan",
"de": "E-Mail Adresse bearbeiten"
}
},
{
"id": "website",
"labels": [
"contact"
],
"icon": "./assets/layers/icons/website.svg",
"question": {
"en": "What is the website of {title()}?",
"nl": "Wat is de website van {title()}?",
"fr": "Quel est le site web de {title()} ?",
"gl": "Cal é a páxina web de {title()}?",
"nb_NO": "Hva er nettsiden til {title()}?",
"ru": "Какой сайт у {title()}?",
"id": "Apa situs web dari {title()}?",
"zh_Hant": "{title()} 網址是什麼?",
"it": "Qual è il sito web di {title()}?",
"de": "Wie lautet die Webseite von {title()}?",
"pt_BR": "Qual o site de {title()}?",
"pl": "Jaka jest strona internetowa {title()}?",
"sv": "Vad är webbplatsen för {title()}?",
"pt": "Qual é o sítio web de {title()}?",
"eo": "Kie estas la retejo de {title()}?",
"hu": "Mi a weboldala ennek: {title()}?",
"ca": "Quina és la web de {title()}?",
"ja": "{title()}のウェブサイトは?",
"fil": "Ano ang website ng {title()}?",
"es": "¿Cual es el sitio web de {title()}?",
"zh_Hans": "{title()} 的网站为何?",
"da": "Hvad er webstedet for {title()}?",
"cs": "Jaká je webová stránka {title()}?"
},
"render": {
"*": "<a href='{website}' rel='nofollow noopener noreferrer' target='_blank'>{website}</a>"
},
"freeform": {
"key": "website",
"type": "url",
"addExtraTags": [
"contact:website="
]
},
"mappings": [
{
"if": "contact:website~*",
"then": "<a href='{contact:website}' rel='nofollow noopener noreferrer' target='_blank'>{contact:website}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/icons/website.svg"
}
],
"editButtonAriaLabel": {
"en": "Edit website",
"nl": "Pas website aan",
"de": "Webseite bearbeiten"
}
},
{
"id": "wikipedia",
"description": "Shows a wikipedia box with the corresponding wikipedia article; the wikidata-item link can be changed by a contributor",
"render": {
"*": "{wikipedia():max-height:25rem}"
},
"question": {
"en": "What is the corresponding Wikidata entity?",
"nl": "Welk Wikidata-item komt overeen met dit object?",
"de": "Wie lautet das zugehörige Wikidata Element?",
"pt": "Qual é a entidade Wikidata correspondente?",
"hu": "Mi a megfelelő Wikidata-elem?",
"it": "Qual è lelemento Wikidata corrispondente?",
"nb_NO": "Hva er respektivt Wikipedia-element?",
"fr": "Quelle est l'entité Wikidata correspondante ?",
"ca": "Quina és la correspondent entitat a Wikidata?",
"sv": "Vad är den motsvarande Wikidata-enheten?",
"zh_Hant": "對應的維基資料項目是?",
"pl": "Jaki jest powiązany obiekt Wikidata?",
"ja": "対応するウィキデータのエンティティは何ですか?",
"fil": "Ano ang nau-ukol na entidad sa Wikidata?",
"es": "¿Cual es la entidad de Wikidata que se corresponde?",
"zh_Hans": "在Wikidata上对应的实体是什么",
"da": "Hvad er den tilsvarende Wikidata-enhed?",
"id": "Apa entitas Wikidata yang sesuai?",
"cs": "Jaká je odpovídající entita Wikidata?"
},
"mappings": [
{
"if": "wikipedia~*",
"then": {
"*": "{wikipedia():max-height:25rem}",
"ca": "No hi ha cap enllaça a Viquipèdia encara",
"da": "Der er endnu ikke linket til nogen Wikipedia-side",
"de": "Es wurde noch keine Wikipedia-Seite verlinkt",
"en": "No Wikipedia page has been linked yet",
"es": "Todavía no se ha enlazado una página de wikipedia",
"fil": "Wala pang kawing ng Wikipedia page",
"fr": "Pas encore de lien vers une page Wikipedia",
"hu": "Még nincs Wikipédia-oldal belinkelve",
"it": "Nessuna pagina Wikipedia è ancora stata collegata",
"ja": "ウィキペディアのページはまだリンクされていません",
"nb_NO": "Ingen Wikipedia-side lenket enda",
"nl": "Er werd nog geen Wikipedia-pagina gekoppeld",
"pl": "Link do strony Wikipedii nie został jeszcze określony",
"pt": "Ainda não foi vinculada nenhuma página da Wikipédia",
"ru": "Никакой страницы на Википедии не было прикреплено",
"sv": "Ingen Wikipedia-sida har länkats än",
"zh_Hans": "尚未有连接到的维基百科页面",
"zh_Hant": "還沒有連結到維基百科頁面",
"id": "Belum ada halaman Wikipedia yang ditautkan",
"cs": "Žádná stránka na Wikipedii zatím nebyla propojena"
},
"hideInAnswer": true
},
{
"if": "wikidata=",
"then": {
"en": "No Wikipedia page has been linked yet",
"nl": "Er werd nog geen Wikipedia-pagina gekoppeld",
"de": "Es wurde noch keine Wikipedia-Seite verlinkt",
"pt": "Ainda não foi vinculada nenhuma página da Wikipédia",
"hu": "Még nincs Wikipédia-oldal belinkelve",
"it": "Nessuna pagina Wikipedia è ancora stata collegata",
"nb_NO": "Ingen Wikipedia-side lenket enda",
"fr": "Pas encore de lien vers une page Wikipedia",
"ca": "No hi ha cap enllaça a Viquipèdia encara",
"sv": "Ingen Wikipedia-sida har länkats än",
"zh_Hant": "還沒有連結到維基百科頁面",
"ru": "Никакой страницы на Википедии не было прикреплено",
"pl": "Link do strony Wikipedii nie został jeszcze określony",
"ja": "ウィキペディアのページはまだリンクされていません",
"fil": "Wala pang kawing ng Wikipedia page",
"es": "Todavía no se ha enlazado una página de wikipedia",
"zh_Hans": "尚未有连接到的维基百科页面",
"da": "Der er endnu ikke linket til nogen Wikipedia-side",
"id": "Belum ada halaman Wikipedia yang ditautkan",
"cs": "Žádná stránka na Wikipedii zatím nebyla propojena"
},
"hideInAnswer": true
}
],
"freeform": {
"key": "wikidata",
"type": "wikidata",
"inline": true
}
},
{
"id": "cinema_type",
"question": {
"en": "What type of cinema is this?",
"de": "Um welche Art von Kino handelt es sich?"
},
"mappings": [
{
"if": "cinema=",
"then": {
"en": "This is a normal cinema showing movies for all ages",
"de": "Dies ist ein normales Kino, das Filme für alle Altersgruppen zeigt"
}
},
{
"if": "cinema=erotic",
"then": {
"en": "This is an erotic cinema showing adult movies",
"de": "Dies ist ein Sex-Kino, das Erwachsenenfilme zeigt"
}
}
]
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "circle",
"color": "white"
},
{
"icon": "./assets/layers/cinema/cinema.svg"
}
]
}

View file

@ -0,0 +1,823 @@
{
"id": "climbing",
"description": {
"en": "A dummy layer which contains tagrenderings, shared among the climbing layers",
"nl": "Een dummy-laag die tagrenderings bevat, gedeeld over de verschillende klimsport lagen",
"de": "Eine Dummy-Ebene, die Tagrenderings enthält, die von den Kletterebenen gemeinsam genutzt werden",
"cs": "Falešná vrstva, která obsahuje tagrenderingy sdílené mezi lezeckými vrstvami",
"ca": "Una capa fictícia que conté renderització d'etiquetes compartides entre les capes d'escalada"
},
"source": "special:library",
"minzoom": 18,
"title": null,
"pointRendering": null,
"lineRendering": null,
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "website",
"question": {
"en": "Is there a (unofficial) website with more informations (e.g. topos)?",
"de": "Gibt es eine (inoffizielle) Website mit mehr Informationen (z.B. Topos)?",
"ja": "もっと情報のある(非公式の)ウェブサイトはありますか(例えば、topos)?",
"nl": "Is er een (onofficiële) website met meer informatie (b.v. met topos)?",
"ru": "Есть ли (неофициальный) веб-сайт с более подробной информацией (напр., topos)?",
"fr": "Existe-til un site avec plus dinformations (ex : topographie) ?",
"it": "Cè un sito web (anche non ufficiale) con qualche informazione in più (ad es. topografie)?",
"cs": "Existuje (neoficiální) webová stránka s více informacemi (např. topos)?"
},
"condition": {
"and": [
"leisure!~sports_centre",
"sport=climbing",
"office=",
"club="
]
},
"render": "<a href='{url}' target='_blank' rel='noopener'>{url}</a>",
"freeform": {
"key": "url",
"type": "url"
}
},
{
"id": "average_length",
"render": {
"de": "Die Routen sind durchschnittlich <b>{canonical(climbing:length)}</b> lang",
"en": "The routes are <b>{canonical(climbing:length)}</b> long on average",
"nl": "De klimroutes zijn gemiddeld <b>{canonical(climbing:length)}</b> lang",
"ja": "ルートの長さは平均で<b>{canonical(climbing:length)}</b>です",
"fr": "Les voies font <b>{canonical(climbing:length)}</b> de long en moyenne",
"it": "Le vie sono lunghe mediamente <b>{canonical(climbing:length)}</b>",
"es": "Las rutas miden <b>{canonical(climbing:length)}</b> de media",
"ca": "Les rutes mesuren <b>{canonical(climbing:length)}</b> de mitja",
"cs": "Cesty jsou <b>{canonical(climbing:length)}</b> v průměru dlouhé"
},
"question": {
"de": "Wie lang sind die Routen (durchschnittlich) in Metern?",
"en": "What is the (average) length of the routes in meters?",
"nl": "Wat is de (gemiddelde) lengte van de klimroutes, in meter?",
"ja": "ルートの(平均)長さはメートル単位でいくつですか?",
"fr": "Quelle est la longueur moyenne des voies en mètres ?",
"it": "Quale è la lunghezza (media) delle vie in metri?",
"es": "¿Cual es la longitud (media) de las rutas en metros?",
"ca": "Quina és la longitud (mitjana) de les rutes en metres?",
"cs": "Jaká je (průměrná) délka tras v metrech?"
},
"freeform": {
"key": "climbing:length",
"type": "pfloat",
"inline": false
}
},
{
"id": "min_difficulty",
"question": {
"de": "Welche Schwierigkeit hat hier die leichteste Route (französisch/belgisches System)?",
"en": "What is the grade of the easiest route here, according to the french classification system?",
"nl": "Wat is het niveau van de makkelijkste route, volgens het Franse classificatiesysteem?",
"ja": "ここで一番簡単なルートのレベルは、フランスのランク評価システムで何ですか?",
"fr": "Quel est le niveau de la voie la plus simple selon la classification franco-belge ?",
"it": "Qual è il livello della via più facile qua, secondo il sistema di classificazione francese?",
"cs": "Jaký je stupeň nejjednodušší trasy podle francouzského klasifikačního systému?"
},
"render": {
"de": "Die leichteste Route hat hier die Schwierigkeit {climbing:grade:french:min} (französisch/belgisches System)",
"en": "The lowest grade is {climbing:grade:french:min} according to the french/belgian system",
"nl": "De minimale klimmoeilijkheid is {climbing:grade:french:min} volgens het Franse/Belgische systeem",
"ja": "フランス/ベルギーのランク評価システムでは、最小の難易度は{climbing:grade:french:min}です",
"fr": "La difficulté minimale est {climbing:grade:french:min} selon la classification franco-belge",
"it": "Il minimo livello di difficoltà è {climbing:grade:french:min} secondo il sistema francese/belga",
"cs": "Nejnižší stupeň je {climbing:grade:french:min} podle francouzského/belgického systému"
},
"freeform": {
"key": "climbing:grade:french:min",
"inline": true
}
},
{
"id": "max_difficulty",
"question": {
"de": "Welche Schwierigkeit hat hier die schwerste Route (französisch/belgisches System)?",
"en": "What is the highest grade route here, according to the french classification system?",
"nl": "Wat is het niveau van de moeilijkste route, volgens het Franse classificatiesysteem?",
"ja": "フランスのランク評価によると、ここで一番難しいルートのレベルはどれくらいですか?",
"fr": "Quel est le niveau de la voie la plus difficile selon la classification franco-belge ?",
"it": "Qual è il livello della via più difficile qua, secondo il sistema di classificazione francese?",
"cs": "Jaká je zde trasa nejvyššího stupně podle francouzského klasifikačního systému?"
},
"render": {
"de": "Die schwierigste Route hat hier die Schwierigkeitsstufe {climbing:grade:french:max} (französisch/belgisches System)",
"en": "The highest grade is {climbing:grade:french:max} according to the french/belgian system",
"nl": "De maximale klimmoeilijkheid is {climbing:grade:french:max} volgens het Franse/Belgische systeem",
"ja": "フランス/ベルギーのランク評価システムでは、最大の難易度は{climbing:grade:french:max}です",
"fr": "La difficulté maximale est {climbing:grade:french:max} selon la classification franco-belge",
"it": "Il massimo livello di difficoltà è {climbing:grade:french:max} secondo il sistema francese/belga",
"cs": "Nejvyšší stupeň je {climbing:grade:french:max} podle francouzského/belgického systému"
},
"freeform": {
"key": "climbing:grade:french:max",
"inline": true
},
"condition": {
"and": [
"climbing!~route",
"office=",
"club=",
{
"or": [
"climbing:sport=yes",
"sport=climbing"
]
}
]
}
},
{
"id": "bouldering",
"question": {
"de": "Kann hier gebouldert werden?",
"en": "Is bouldering possible here?",
"nl": "Is het mogelijk om hier te bolderen?",
"ja": "ここでボルダリングはできますか?",
"nb_NO": "Er buldring mulig her?",
"fr": "Lescalade de bloc est-elle possible ici ?",
"it": "È possibile praticare bouldering qua?",
"ca": "És possible fer escalda en bloc aquí?",
"cs": "Je zde možný bouldering?"
},
"mappings": [
{
"if": "climbing:boulder=yes",
"then": {
"de": "Hier kann gebouldert werden",
"en": "Bouldering is possible here",
"nl": "Bolderen kan hier",
"ja": "ボルダリングはここで可能です",
"nb_NO": "Buldring er mulig her",
"fr": "Lescalade de bloc est possible",
"it": "Larrampicata su massi è possibile qua",
"ca": "Aquí és possible l'escalada en bloc",
"cs": "Bouldering je zde možný"
}
},
{
"if": "climbing:boulder=no",
"then": {
"de": "Hier kann nicht gebouldert werden",
"en": "Bouldering is not possible here",
"nl": "Bolderen kan hier niet",
"ja": "ここではボルダリングはできません",
"nb_NO": "Buldring er ikke mulig her",
"fr": "Lescalade de bloc nest pas possible",
"it": "Larrampicata su massi non è possibile qua",
"ca": "Aquí no és possible l'escalada en bloc",
"cs": "Bouldering zde není možný"
}
},
{
"if": "climbing:boulder=limited",
"then": {
"de": "Bouldern ist hier nur an wenigen Routen möglich",
"en": "Bouldering is possible, although there are only a few problems",
"nl": "Bolderen kan hier, maar er zijn niet zoveel problemen",
"ja": "ボルダリングは可能ですが、少しのルートしかありません",
"fr": "Lescalade de bloc est possible, mais il ny a que quelques problèmes",
"it": "Larrampicata su massi è possibile anche se su poche vie",
"ca": "L'escalada en bloc és possible, tot i que només hi ha unes poques rutes",
"cs": "Bouldering je možný, i když je zde jen několik problémů"
}
},
{
"if": "climbing:boulder~*",
"then": {
"de": "Hier gibt es {climbing:boulder} Boulder-Routen",
"en": "There are {climbing:boulder} boulder problems",
"nl": "Er zijn hier {climbing:boulder} bolderproblemen",
"ja": "{climbing:boulder} ボルダールートがある",
"fr": "Il y a {climbing:boulder} problèmes de bloc",
"it": "Sono presenti {climbing:boulder} vie di arrampicata su massi",
"ca": "Hi han {climbing:boulder} problemes d'escalada en bloc",
"cs": "Existují {climbing:boulder} boulderové problémy"
},
"hideInAnswer": true
}
]
},
{
"id": "toprope",
"question": {
"de": "Ist Toprope-Klettern hier möglich?",
"en": "Is toprope climbing possible here?",
"nl": "Is het mogelijk om hier te toprope-klimmen?",
"ja": "ここでtoprope登坂はできますか?",
"fr": "Est-il possible descalader à la moulinette ?",
"it": "È possibile arrampicarsi con la corda dallalto qua?",
"cs": "Je zde možné lezení po laně?"
},
"mappings": [
{
"if": "climbing:toprope=yes",
"then": {
"de": "Toprope-Klettern ist hier möglich",
"en": "Toprope climbing is possible here",
"nl": "Toprope-klimmen kan hier",
"ja": "ここでToprope登坂ができます",
"fr": "Lescalade à la moulinette est possible",
"it": "È possibile arrampicarsi con moulinette qua",
"cs": "Lezení po laně je zde možné"
}
},
{
"if": "climbing:toprope=no",
"then": {
"de": "Toprope-Climbing ist hier nicht möglich",
"en": "Toprope climbing is not possible here",
"nl": "Toprope-klimmen kan hier niet",
"ja": "ここではToprope登坂はできません",
"fr": "Lescalade à la moulinette nest pas possible",
"it": "Non è possibile arrampicarsi con moulinette qua",
"cs": "Lezení po laně zde není možné"
}
},
{
"if": "climbing:toprope~*",
"then": {
"de": "Hier gibt es {climbing:toprope} Toprope-Routen",
"en": "There are {climbing:toprope} toprope routes",
"nl": "Er zijn hier {climbing:toprope} toprope routes",
"ja": "{climbing:toprope} 登坂ルートがある",
"fr": "{climbing:toprope} voies sont équipées de moulinettes",
"it": "Sono presenti {climbing:toprope} vie con moulinette",
"cs": "Je zde {climbing:toprope} tras pro lezení na laně"
},
"hideInAnswer": true
}
]
},
{
"id": "sportclimbing",
"question": {
"de": "Ist hier Sportklettern möglich (feste Ankerpunkte)?",
"en": "Is sport climbing possible here on fixed anchors?",
"nl": "Is het mogelijk om hier te sportklimmen/voorklimmen op reeds aangebrachte haken?",
"ja": "ここでは固定アンカー式のスポーツクライミングはできますか?",
"it": "È possibile arrampicarsi qua con ancoraggi fissi?",
"cs": "Je zde možné sportovní lezení na fixní kotvy?"
},
"mappings": [
{
"if": "climbing:sport=yes",
"then": {
"de": "Sportklettern ist hier möglich",
"en": "Sport climbing is possible here",
"nl": "Sportklimmen/voorklimmen kan hier",
"ru": "Здесь можно заняться спортивным скалолазанием",
"ja": "ここでスポーツクライミングができます",
"it": "Larrampicata sportiva è possibile qua",
"hu": "Itt lehetőség van sportmászásra",
"fr": "De lescalade est possible ici",
"cs": "Sportovní lezení je zde možné"
}
},
{
"if": "climbing:sport=no",
"then": {
"de": "Sportklettern ist hier nicht möglich",
"en": "Sport climbing is not possible here",
"nl": "Sportklimmen/voorklimmen kan hier niet",
"ru": "Спортивное скалолазание здесь невозможно",
"ja": "ここではスポーツクライミングはできません",
"it": "Larrampicata sportiva non è possibile qua",
"hu": "Itt nincs lehetőség sportmászásra",
"fr": "Lescalade est impossible ici",
"cs": "Sportovní lezení zde není možné"
}
},
{
"if": "climbing:sport~*",
"then": {
"de": "Hier gibt es {climbing:sport} Sportkletter-Routen",
"en": "There are {climbing:sport} sport climbing routes",
"nl": "Er zijn hier {climbing:sport} sportklimroutes/voorklimroutes",
"ja": "スポーツクライミングの {climbing:sport} ルートがある",
"it": "Sono presenti {climbing:sport} vie di arrampicata sportiva",
"cs": "Existují {climbing:sport} sportovních lezeckých cest"
},
"hideInAnswer": true
}
]
},
{
"id": "trad_climbing",
"question": {
"de": "Ist hier traditionelles Klettern möglich?",
"en": "Is traditional climbing possible here?",
"nl": "Is het mogelijk om hier traditioneel te klimmen? ",
"ja": "伝統的な登山はここで可能ですか?",
"it": "È possibile arrampicarsi in maniera tradizionale qua?",
"cs": "Je zde možné tradiční lezení?"
},
"questionHint": {
"en": "Using your own gear, e.g. chocks",
"de": "eigene Sicherung z.B. mit Klemmkleilen",
"nl": "Dit is klimmen met klemblokjes en friends",
"ja": "例えば、チョックのような独自のギアを使用して",
"it": "usando attrezzi propri, ad es. dadi",
"cs": "Pomocí vlastního zařízení, např. klíny"
},
"mappings": [
{
"if": "climbing:traditional=yes",
"then": {
"de": "Traditionelles Klettern ist hier möglich",
"en": "Traditional climbing is possible here",
"nl": "Traditioneel klimmen kan hier",
"ja": "ここでは伝統的な登山が可能です",
"it": "Larrampicata tradizionale è possibile qua",
"cs": "Zde je možné provozovat tradiční lezení"
}
},
{
"if": "climbing:traditional=no",
"then": {
"de": "Traditionelles Klettern ist hier nicht möglich",
"en": "Traditional climbing is not possible here",
"nl": "Traditioneel klimmen kan hier niet",
"ja": "伝統的な登山はここではできない",
"it": "Larrampicata tradizionale non è possibile qua",
"cs": "Tradiční lezení zde není možné"
}
},
{
"if": "climbing:traditional~*",
"then": {
"de": "Hier gibt es {climbing:traditional} Routen für traditionelles Klettern",
"en": "There are {climbing:traditional} traditional climbing routes",
"nl": "Er zijn hier {climbing:traditional} traditionele klimroutes",
"ja": "{climbing:traditional} の伝統的な登山ルートがある",
"it": "Sono presenti {climbing:traditional} vie di arrampicata tradizionale",
"cs": "Existují {climbing:traditional} tradiční lezecké cesty"
},
"hideInAnswer": true
}
]
},
{
"id": "max_bolts",
"question": {
"en": "How many bolts do routes in {title()} have at most?",
"de": "Wie viele Haken haben die Routen in {title()} maximal?",
"nl": "Wat is het maximum aantal bouten in routes ban {title()}?",
"cs": "Kolik šroubů na trasu {title()} je potřeba?"
},
"render": {
"en": "The sport climbing routes here have at most {climbing:bolts:max} bolts.<div class='subtle'>This is without relays and indicates how much quickdraws a climber needs</div>",
"de": "Die Sportkletterrouten hier haben maximal {climbing:bolts:max} Haken.<div class='subtle'>Dies ist ohne Relais und gibt an, wie viel Schnellspanner ein Kletterer braucht</div>",
"nl": "De sportklimroutes hebben maximaal {climbing:bolts:max} bouten. <div class='subtle'>Hierbij worden relays niet meegteld. Dit geeft aan hoeveel klimsetjes een klimmer nodig heeft</div>"
},
"freeform": {
"key": "climbing:bolts:max",
"type": "pnat",
"addExtraTag": [
"climbing:sport=yes"
],
"inline": true
}
},
{
"id": "fee",
"question": {
"en": "Is a fee required to climb here?",
"es": "¿Se requiere una tasa para escalar aquí?",
"de": "Ist das Klettern hier gebührenpflichtig?",
"nl": "Moet men betalen om hier te klimmen?",
"fr": "Est-ce que la grimpe sur ce site est payante ?",
"ca": "Es requereix una tarifa per a pujar aquí?",
"cs": "Vyžaduje se za výstup poplatek?"
},
"render": {
"en": "A fee of {charge} should be paid for climbing here",
"de": "Zum Klettern wird eine Gebühr von {charge} erhoben",
"es": "Se debe de pagar una tasa de {charge} para escalar aquí",
"nl": "Men moet {charge} betalen om hier te klimmen",
"fr": "Une taxe de {charge} doit être payée pour grimper ici",
"ca": "S'ha de pagar una tarifa de {charge} per a escalar aquí",
"cs": "Za výstup zde je třeba zaplatit poplatek ve výši {charge}"
},
"freeform": {
"key": "charge",
"addExtraTags": [
"fee=yes"
],
"inline": true
},
"mappings": [
{
"if": "fee=no",
"addExtraTags": [
"charge="
],
"then": {
"en": "Climbing here is free of charge",
"de": "Das Klettern ist hier kostenlos",
"es": "La escalada es gratis",
"nl": "Hier klimmen is gratis",
"fr": "Grimper ici est gratuit",
"ca": "L'escalada en bloc aquí és gratuïta",
"cs": "Lezení je zde zdarma"
}
},
{
"if": {
"and": [
"fee=yes",
"charge="
]
},
"then": {
"en": "Paying a fee is required to climb here",
"es": "Hay que pagar una tasa para escalar aquí",
"de": "Zum Klettern ist eine Gebühr zu zahlen",
"nl": "Men moet betalen om hier te klimmen",
"fr": "Il faut payer une taxe pour grimper ici",
"ca": "Cal pagar una quota per a escalar aquí",
"cs": "Za výstup je třeba zaplatit poplatek"
},
"hideInAnswer": "charge~*"
}
]
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": []
}

View file

@ -0,0 +1,939 @@
{
"id": "climbing_area",
"name": {
"nl": "Klimgelegenheden",
"de": "Klettereinrichtungen",
"en": "Climbing opportunities",
"ja": "登坂教室",
"fr": "Opportunité descalade",
"it": "Opportunità di arrampicata",
"ca": "Oportunitats d'escalada",
"cs": "Lezecké příležitosti"
},
"description": {
"en": "An area where climbing is possible, e.g. a crag, site, boulder, … Contains aggregation of routes",
"de": "Ein Gebiet, in dem Klettern möglich ist, z. B. ein Felsen, ein Klettergarten, eine Boulderhalle, … Enthält eine Sammlung von Routen",
"nl": "Een gebied waar klimmen mogelijk is, bv. een klimsite, een bolder of klimrots,…",
"ca": "Una àrea on l'escalada és possible, p.e. una penya, lloc, bloc, … Conté l'agregació de rutes",
"cs": "Oblast, kde je možné lezení, např. skalisko, místo, balvan, … Obsahuje agregaci cest"
},
"source": {
"osmTags": {
"and": [
"sport=climbing",
"climbing!~route",
"leisure!~sports_centre",
"climbing!=route_top",
"climbing!=route_bottom"
]
}
},
"calculatedTags": [
"_contained_climbing_routes_properties=overlapWith(feat)('climbing_route').map(f => f.feat.properties).map(p => {return {id: p.id, name: p.name, 'climbing:grade:french': p['climbing:grade:french'], 'climbing:length': p['climbing:length']} })",
"_contained_climbing_routes=get(feat)('_contained_climbing_routes_properties')?.map(p => `<li><a href='#${p.id}'>${p.name ?? 'climbing route'}</a> (<b class='climbing-${p['__difficulty:char']} rounded-full p-l-1 p-r-1'>${p['climbing:grade:french'] ?? 'unknown difficulty'}</b>, ${p['climbing:length'] ?? 'unkown length'} meter)</li>`).join('')",
"_contained_climbing_route_ids=get(feat)('_contained_climbing_routes_properties')?.map(p => p.id)",
"_difficulty_hist=get(feat)('_contained_climbing_routes_properties')?.map(p => p['climbing:grade:french'])?.filter(p => (p ?? null) !== null)?.sort()",
"_difficulty_max=get(feat)('_difficulty_hist')?.at(-1)",
"_difficulty_min=get(feat)('_difficulty_hist')?.at(0)",
"_length_hist=get(feat)('_contained_climbing_routes_properties')?.map(p => p['climbing:length'])?.filter(p => (p ?? null) !== null)?.sort()",
"_length_max=get(feat)('_length_hist')?.at(-1)",
"_length_min=get(feat)('_length_hist')?.at(0)",
"_bolts_hist=get(feat)('_contained_climbing_routes_properties')?.map(p => p['climbing:bolts'])?.filter(p => (p ?? null) !== null)?.sort()",
"_bolts_max=get(feat)('_bolts_hist')?.at(-1)",
"_bolts_min=get(feat)('_bolts_hist')?.at(0)",
"_contained_climbing_routes_count=get(feat)('_contained_climbing_routes_properties')?.length"
],
"minzoom": 10,
"title": {
"render": {
"en": "Climbing opportunity",
"nl": "Klimgelegenheid",
"de": "Klettereinrichtung",
"ja": "登坂教室",
"nb_NO": "Klatremulighet",
"fr": "Opportunité descalade",
"it": "Opportunità di arrampicata",
"ca": "Oportunitat d'escalada",
"cs": "Příležitost k lezení"
},
"mappings": [
{
"if": "climbing=crag",
"then": {
"en": "Climbing crag <b>{name}</b>",
"fr": "Mur descalade <b>{name}</b>",
"it": "Muro da arrampicata <b>{name}</b>",
"de": "Klettergarten <b>{name}</b>",
"nl": "Klimrots of klimzone <b>{name}</b>",
"cs": "Lezecká cesta <b>{name}</b>"
}
},
{
"if": {
"and": [
{
"or": [
"climbing=area",
"climbing=site"
]
},
"name~*"
]
},
"then": {
"en": "Climbing area <b>{name}</b>",
"nl": "Klimsite <b>{name}</b>",
"fr": "Zone descalade <b>{name}</b>",
"de": "Klettergebiet <b>{name}</b>",
"it": "Area di arrampicata <b>{name}</b>",
"cs": "Lezecká oblast <b>{name}</b>"
}
},
{
"if": {
"or": [
"climbing=site",
"climbing=area"
]
},
"then": {
"en": "Climbing site",
"nl": "Klimsite",
"fr": "Site descalade",
"de": "Klettergebiet",
"it": "Sito di arrampicata",
"ca": "Llocs d'escalada",
"cs": "Lezecká lokalita"
}
},
{
"if": "name~*",
"then": {
"nl": "Klimgelegenheid <b>{name}</b>",
"en": "Climbing opportunity <b>{name}</b>",
"fr": "Opportunité descalade <b>{name}</b>",
"de": "Klettereinrichtung <b>{name}</b>",
"it": "Opportunità di arrampicata <b>{name}</b>",
"ca": "Oportunitat d'escalada <b>{name}</b>",
"cs": "Lezecká příležitost <b>{name}</b>"
}
}
]
},
"pointRendering": [
{
"iconSize": "40,40",
"location": [
"point",
"centroid"
],
"anchor": "center",
"marker": [
{
"icon": {
"render": "./assets/themes/climbing/climbing_no_rope.svg",
"id": "assetsthemesclimbingclimbingnoropesvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"dashArray": "8 16",
"lineCap": "square",
"color": "#d38d5fAA",
"fill": "no",
"width": "8"
}
],
"presets": [
{
"tags": [
"sport=climbing"
],
"title": {
"en": "a climbing opportunity",
"nl": "een klimgelegenheid",
"de": "eine Klettereinrichtung",
"ja": "登坂教室",
"nb_NO": "en klatremulighet",
"fr": "une opportunité descalade",
"it": "una opportunità di arrampicata",
"ca": "una oportuinitat d'escalada",
"cs": "lezecká příležitost"
},
"description": {
"nl": "Een klimgelegenheid",
"de": "Eine Klettereinrichtung",
"en": "A climbing opportunity",
"ja": "登坂教室",
"nb_NO": "En klatremulighet",
"fr": "Opportunité descalade",
"it": "Unopportunità di arrampicata",
"ca": "Una oportunitat d'escalada",
"cs": "Lezecká příležitost"
}
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "minimap",
"render": "{minimap(18, id, _contained_climbing_route_ids): height: 9rem; overflow: hidden; border-radius:3rem; }"
},
{
"render": {
"en": "<h3>Length overview</h3>{histogram(_length_hist)}",
"fr": "<h3>Résumé de longueur</h3>{histogram(_length_hist)}",
"de": "<h3>Längenübersicht</h3>{histogram(_length_hist)}",
"it": "<h3>Riassunto della lunghezza</h3>{histogram(_length_hist)}",
"nl": "<h3>Overzicht van lengtes</h3>{histogram(_length_hist)}",
"cs": "<h3>Přehled délky</h3>{histogram(_length_hist)}"
},
"condition": "_length_hist!~\\[\\]",
"id": "Contained routes length hist"
},
{
"render": {
"en": "<h3>Grades overview</h3>{histogram(_difficulty_hist)}",
"fr": "<h3>Résumé des difficultés</h3>{histogram(_difficulty_hist)}",
"de": "<h3>Schwierigkeitsübersicht</h3>{histogram(_difficulty_hist)}",
"it": "<h3>Riassunto delle difficoltà</h3>{histogram(_difficulty_hist)}",
"nl": "<h3>Overzicht van moeilijkheidsgraden</h>{histogram(_difficulty_hist)}",
"cs": "<h3>Přehled hodnocení</h3>{histogram(_difficulty_hist)}"
},
"condition": "_difficulty_hist!~\\[\\]",
"id": "Contained routes hist"
},
{
"render": {
"en": "<h3>Contains {_contained_climbing_routes_count} routes</h3> <ul>{_contained_climbing_routes}</ul>",
"fr": "<h3>Contient {_contained_climbing_routes_count} voies</h3> <ul>{_contained_climbing_routes}</ul>",
"it": "<h3>Contiene {_contained_climbing_routes_count} vie</h3> <ul>{_contained_climbing_routes}</ul>",
"de": "<h3> Enthält {_contained_climbing_routes_count} Routen</h3> <ul>{_contained_climbing_routes}</ul>",
"nl": "<h3>Bevat {_contained_climbing_routes_count} routes</h3> <ul>{_contained_climbing_routes}</ul>",
"ca": "<h3>Conté {_contained_climbing_routes_count} rutes</h3> <ul>{_contained_climbing_routes}</ul>",
"cs": "<h3>Obsahuje {_contained_climbing_routes_count} tras</h3> <ul>{_contained_climbing_routes}</ul>"
},
"condition": "_contained_climbing_routes~*",
"id": "Contained_climbing_routes"
},
{
"render": {
"en": "<strong>{name}</strong>",
"nl": "<strong>{name}</strong>",
"de": "<strong>{name}</strong>",
"ca": "<strong>{name}</strong>",
"fr": "<strong>{name}</strong>",
"id": "<strong>{name}</strong>",
"ru": "<strong>{name}</strong>",
"ja": "<strong>{name}</strong>",
"it": "<strong>{name}</strong>",
"eu": "<strong>{name}</strong>",
"cs": "<strong>{name}</strong>"
},
"question": {
"en": "What is the name of this climbing opportunity?",
"nl": "Wat is de naam van dit Klimgelegenheid?",
"de": "Wie heißt die Klettereinrichtung?",
"ja": "この登坂教室の名前は何ですか?",
"fr": "Quel est le nom de ce site ?",
"it": "Qual è il nome di questa opportunità di arrampicata?",
"cs": "Jak se jmenuje tato lezecká příležitost?"
},
"freeform": {
"key": "name",
"inline": true
},
"mappings": [
{
"if": {
"and": [
"noname=yes",
"name="
]
},
"then": {
"en": "This climbing opportunity doesn't have a name",
"nl": "Dit Klimgelegenheid heeft geen naam",
"de": "Die Klettereinrichtung hat keinen Namen",
"ja": "この登坂教室には名前がついていない",
"fr": "Ce site na pas de nom",
"it": "Questa opportunità di arrampicata non ha un nome",
"cs": "Tato lezecká příležitost nemá jméno"
}
}
],
"id": "name"
},
{
"question": "What kind of climbing opportunity is this?",
"mappings": [
{
"if": "climbing=boulder",
"then": {
"en": "A climbing boulder - a single rock or cliff with one or a few climbing routes which can be climbed safely without rope",
"fr": "Rocher descalade, rocher avec une ou peu de voie permettant descalader sans corde",
"de": "Ein Kletterfelsen - ein einzelner Felsen oder eine Klippe mit einer oder wenigen Kletterrouten, die ohne Seil sicher bestiegen werden können",
"it": "Un masso per arrampicata (una singola roccia o falesia con una o poche vie di arrampicata che possono essere scalate in sicurezza senza una corda)",
"nl": "Een klimboulder - een enkele rots of klif met één of enkele klimroutes die veilig zonder touw kunnen worden beklommen",
"ca": "Una roca d'escalada: una única roca o penya-segat amb una o unes quantes vies d'escalada que es poden escalar amb seguretat sense corda",
"cs": "Lezecký balvan - jediná skála nebo útes s jednou nebo několika lezeckými cestami, na které lze bezpečně vylézt bez lana"
}
},
{
"if": "climbing=crag",
"then": {
"en": "A climbing crag - a single rock or cliff with at least a few climbing routes",
"fr": "Mur descalade, rocher avec plusieurs voies descalades",
"it": "Un muro da arrampicata (un singolo masso o falesia con almeno qualche via per arrampicata)",
"de": "Ein Kletterfelsen - ein einzelner Fels oder eine Klippe mit mindestens einigen Kletterrouten",
"nl": "Een klimzone - een enkele rots of klif met klimroutes",
"cs": "Lezecká skála - jediná skála nebo útes s alespoň několika lezeckými cestami"
}
},
{
"if": "climbing=area",
"then": "A climbing area with one or more climbing crags and/or boulders"
}
],
"id": "Type"
},
{
"question": {
"en": "What is the rock type here?",
"fr": "Quel est le type de roche ?",
"de": "Welchen Gesteinstyp gibt es hier?",
"it": "Qual è il tipo di roccia qua?",
"nl": "Wat is de rotssoort?",
"ca": "Quin és el tipus de roca aquí?",
"cs": "Jaký je zde typ skály?"
},
"render": {
"en": "The rock type is {rock}",
"fr": "La roche est du {rock}",
"de": "Der Gesteinstyp ist {rock}",
"it": "Il tipo di roccia è {rock}",
"nl": "De rotssoort is {rock}",
"ca": "El tipus de roca és {rock}",
"cs": "Typ skály je {rock}"
},
"freeform": {
"key": "rock",
"inline": true
},
"mappings": [
{
"if": "rock=limestone",
"then": {
"en": "Limestone",
"nl": "Kalksteen",
"fr": "Calcaire",
"de": "Kalkstein",
"it": "Calcare",
"pa_PK": "چونہ پتھر",
"eu": "Kareharria",
"ca": "Calcària",
"cs": "Vápenec"
}
}
],
"condition": {
"or": [
"climbing=crag",
"natural=cliff",
"natural=bare_rock"
]
},
"id": "Rock type (crag/rock/cliff only)"
},
{
"id": "reviews",
"description": "Shows the reviews module (including the possibility to leave a review)",
"render": {
"*": "{create_review()}{list_reviews()}"
}
},
{
"id": "website",
"question": {
"en": "Is there a (unofficial) website with more informations (e.g. topos)?",
"de": "Gibt es eine (inoffizielle) Website mit mehr Informationen (z.B. Topos)?",
"ja": "もっと情報のある(非公式の)ウェブサイトはありますか(例えば、topos)?",
"nl": "Is er een (onofficiële) website met meer informatie (b.v. met topos)?",
"ru": "Есть ли (неофициальный) веб-сайт с более подробной информацией (напр., topos)?",
"fr": "Existe-til un site avec plus dinformations (ex : topographie) ?",
"it": "Cè un sito web (anche non ufficiale) con qualche informazione in più (ad es. topografie)?",
"cs": "Existuje (neoficiální) webová stránka s více informacemi (např. topos)?",
"_context": "layers:climbing.tagRenderings.website.question"
},
"condition": {
"and": [
"leisure!~sports_centre",
"sport=climbing",
"office=",
"club="
]
},
"render": "<a href='{url}' target='_blank' rel='noopener'>{url}</a>",
"freeform": {
"key": "url",
"type": "url"
}
},
{
"id": "fee",
"question": {
"en": "Is a fee required to climb here?",
"es": "¿Se requiere una tasa para escalar aquí?",
"de": "Ist das Klettern hier gebührenpflichtig?",
"nl": "Moet men betalen om hier te klimmen?",
"fr": "Est-ce que la grimpe sur ce site est payante ?",
"ca": "Es requereix una tarifa per a pujar aquí?",
"cs": "Vyžaduje se za výstup poplatek?",
"_context": "layers:climbing.tagRenderings.fee.question"
},
"render": {
"en": "A fee of {charge} should be paid for climbing here",
"de": "Zum Klettern wird eine Gebühr von {charge} erhoben",
"es": "Se debe de pagar una tasa de {charge} para escalar aquí",
"nl": "Men moet {charge} betalen om hier te klimmen",
"fr": "Une taxe de {charge} doit être payée pour grimper ici",
"ca": "S'ha de pagar una tarifa de {charge} per a escalar aquí",
"cs": "Za výstup zde je třeba zaplatit poplatek ve výši {charge}",
"_context": "layers:climbing.tagRenderings.fee.render"
},
"freeform": {
"key": "charge",
"addExtraTags": [
"fee=yes"
],
"inline": true
},
"mappings": [
{
"if": "fee=no",
"addExtraTags": [
"charge="
],
"then": {
"en": "Climbing here is free of charge",
"de": "Das Klettern ist hier kostenlos",
"es": "La escalada es gratis",
"nl": "Hier klimmen is gratis",
"fr": "Grimper ici est gratuit",
"ca": "L'escalada en bloc aquí és gratuïta",
"cs": "Lezení je zde zdarma",
"_context": "layers:climbing.tagRenderings.fee.mappings.0.then"
}
},
{
"if": {
"and": [
"fee=yes",
"charge="
]
},
"then": {
"en": "Paying a fee is required to climb here",
"es": "Hay que pagar una tasa para escalar aquí",
"de": "Zum Klettern ist eine Gebühr zu zahlen",
"nl": "Men moet betalen om hier te klimmen",
"fr": "Il faut payer une taxe pour grimper ici",
"ca": "Cal pagar una quota per a escalar aquí",
"cs": "Za výstup je třeba zaplatit poplatek",
"_context": "layers:climbing.tagRenderings.fee.mappings.1.then"
},
"hideInAnswer": "charge~*"
}
]
},
{
"id": "bouldering",
"question": {
"de": "Kann hier gebouldert werden?",
"en": "Is bouldering possible here?",
"nl": "Is het mogelijk om hier te bolderen?",
"ja": "ここでボルダリングはできますか?",
"nb_NO": "Er buldring mulig her?",
"fr": "Lescalade de bloc est-elle possible ici ?",
"it": "È possibile praticare bouldering qua?",
"ca": "És possible fer escalda en bloc aquí?",
"cs": "Je zde možný bouldering?",
"_context": "layers:climbing.tagRenderings.bouldering.question"
},
"mappings": [
{
"if": "climbing:boulder=yes",
"then": {
"de": "Hier kann gebouldert werden",
"en": "Bouldering is possible here",
"nl": "Bolderen kan hier",
"ja": "ボルダリングはここで可能です",
"nb_NO": "Buldring er mulig her",
"fr": "Lescalade de bloc est possible",
"it": "Larrampicata su massi è possibile qua",
"ca": "Aquí és possible l'escalada en bloc",
"cs": "Bouldering je zde možný",
"_context": "layers:climbing.tagRenderings.bouldering.mappings.0.then"
}
},
{
"if": "climbing:boulder=no",
"then": {
"de": "Hier kann nicht gebouldert werden",
"en": "Bouldering is not possible here",
"nl": "Bolderen kan hier niet",
"ja": "ここではボルダリングはできません",
"nb_NO": "Buldring er ikke mulig her",
"fr": "Lescalade de bloc nest pas possible",
"it": "Larrampicata su massi non è possibile qua",
"ca": "Aquí no és possible l'escalada en bloc",
"cs": "Bouldering zde není možný",
"_context": "layers:climbing.tagRenderings.bouldering.mappings.1.then"
}
},
{
"if": "climbing:boulder=limited",
"then": {
"de": "Bouldern ist hier nur an wenigen Routen möglich",
"en": "Bouldering is possible, although there are only a few problems",
"nl": "Bolderen kan hier, maar er zijn niet zoveel problemen",
"ja": "ボルダリングは可能ですが、少しのルートしかありません",
"fr": "Lescalade de bloc est possible, mais il ny a que quelques problèmes",
"it": "Larrampicata su massi è possibile anche se su poche vie",
"ca": "L'escalada en bloc és possible, tot i que només hi ha unes poques rutes",
"cs": "Bouldering je možný, i když je zde jen několik problémů",
"_context": "layers:climbing.tagRenderings.bouldering.mappings.2.then"
}
},
{
"if": "climbing:boulder~*",
"then": {
"de": "Hier gibt es {climbing:boulder} Boulder-Routen",
"en": "There are {climbing:boulder} boulder problems",
"nl": "Er zijn hier {climbing:boulder} bolderproblemen",
"ja": "{climbing:boulder} ボルダールートがある",
"fr": "Il y a {climbing:boulder} problèmes de bloc",
"it": "Sono presenti {climbing:boulder} vie di arrampicata su massi",
"ca": "Hi han {climbing:boulder} problemes d'escalada en bloc",
"cs": "Existují {climbing:boulder} boulderové problémy",
"_context": "layers:climbing.tagRenderings.bouldering.mappings.3.then"
},
"hideInAnswer": true
}
]
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "./assets/themes/climbing/climbing_no_rope.svg"
}
]
}

View file

@ -0,0 +1,893 @@
{
"id": "climbing_club",
"name": {
"de": "Klettervereine",
"nl": "Klimclub",
"en": "Climbing club",
"ru": "Клуб скалолазания",
"ja": "クライミングクラブ",
"zh_Hant": "攀岩社團",
"nb_NO": "Klatreklubb",
"fr": "Club descalade",
"it": "Club di arrampicata",
"hu": "Mászóegyesület",
"ca": "Club d'escalada",
"cs": "Lezecký klub"
},
"description": {
"de": "Ein Kletterverein oder -organisation",
"nl": "Een klimclub of organisatie",
"en": "A climbing club or organisation",
"ja": "クライミングクラブや団体",
"zh_Hant": "攀岩社團或組織",
"nb_NO": "En klatreklubb eller organisasjoner",
"fr": "Club ou association descalade",
"it": "Un club o associazione di arrampacata",
"hu": "Mászóegyesület vagy -szervezet",
"ca": "Un club d'escalada o organització",
"cs": "Lezecký klub nebo organizace"
},
"source": {
"osmTags": {
"and": [
{
"or": [
"club=climbing",
{
"and": [
"sport=climbing",
{
"or": [
"office~*",
"club~*"
]
}
]
}
]
}
]
}
},
"minzoom": 10,
"title": {
"render": {
"en": "Climbing club",
"nl": "Klimclub",
"de": "Kletterverein",
"ru": "Клуб скалолазания",
"ja": "クライミングクラブ",
"zh_Hant": "攀岩社團",
"nb_NO": "Klatreklubb",
"fr": "Club descalade",
"it": "Club di arrampicata",
"ca": "Club d'escalada",
"cs": "Lezecký klub"
},
"mappings": [
{
"if": "office~*",
"then": {
"nl": "Klimorganisatie",
"en": "Climbing NGO",
"de": "Kletter-Organisation",
"ja": "クライミングNGO",
"zh_Hant": "攀岩 NGO",
"fr": "Association descalade",
"it": "Associazione di arrampicata",
"hu": "Mászószervezet",
"cs": "Nevládní lezecká organizace"
}
}
]
},
"pointRendering": [
{
"iconBadges": [
{
"if": "opening_hours~*",
"then": {
"id": "isOpen",
"#": "Shows a coloured clock if opening hours are parsed. Uses the metatagging, suitable to use as a (badged) overlay",
"mappings": [
{
"if": "_isOpen=yes",
"then": "clock:#0f0;ring:#0f0"
},
{
"if": "_isOpen=no",
"then": "circle:#f00;clock:#fff"
},
{
"#": "Still loading the country",
"if": {
"and": [
"_isOpen=",
"opening_hours~*"
]
},
"then": "clock:#ff0;ring:#ff0"
},
{
"#": "Still loading the country",
"if": {
"and": [
"_isOpen=parse_error",
"opening_hours~*"
]
},
"then": "circle:#f0f;clock:#fff"
}
],
"metacondition": "__showTimeSensitiveIcons!=no"
}
},
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
],
"iconSize": "40,40",
"location": [
"point",
"centroid"
],
"label": {
"mappings": [
{
"if": "name~*",
"then": "<div style='background: white; padding: 0.25em; border-radius:0.5em'>{name}</div>"
}
]
},
"anchor": "center",
"marker": [
{
"icon": {
"render": "./assets/themes/climbing/club.svg",
"id": "assetsthemesclimbingclubsvg"
}
}
]
}
],
"lineRendering": [],
"presets": [
{
"tags": [
"club=sport",
"sport=climbing"
],
"title": {
"de": "einen Kletterverein",
"en": "a climbing club",
"nl": "een klimclub",
"ja": "クライミングクラブ",
"nb_NO": "en klatreklubb",
"ru": "Клуб скалолазания",
"fr": "un club descalade",
"it": "una club di arrampicata",
"hu": "Mászóegyesület",
"ca": "un club d'escalada",
"cs": "lezecký klub"
},
"description": {
"de": "Ein Kletterverein",
"nl": "Een klimclub",
"en": "A climbing club",
"ja": "クライミングクラブ",
"nb_NO": "En klatreklubb",
"ru": "Клуб скалолазания",
"fr": "Un club descalade",
"it": "Un club di arrampicata",
"hu": "Egy mászóegyesület",
"ca": "Un club d'escalada",
"cs": "Lezecký klub"
}
},
{
"tags": [
"office=ngo",
"sport=climbing"
],
"title": {
"de": "Eine Kletterorganisation",
"en": "a climbing ngo",
"nl": "een een klimorganisatie",
"ja": "クライミングNGO",
"fr": "une association descalade",
"it": "una associazione di arrampicata",
"hu": "Mászószervezet",
"cs": "lezecká nezisková organizace"
},
"description": {
"de": "Eine Organisation, die sich mit dem Klettern beschäftigt",
"nl": "Een VZW die werkt rond klimmen",
"en": "An NGO working around climbing",
"ja": "登山に関わるNGO",
"fr": "Une association descalade",
"it": "Unassociazione che ha a che fare con larrampicata",
"hu": "Mászással foglalkozó civil szervezet",
"cs": "Nevládní organizace působící v oblasti lezení"
}
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"render": {
"en": "<strong>{name}</strong>",
"nl": "<strong>{name}</strong>",
"de": "<strong>{name}</strong>",
"ca": "<strong>{name}</strong>",
"fr": "<strong>{name}</strong>",
"id": "<strong>{name}</strong>",
"ru": "<strong>{name}</strong>",
"ja": "<strong>{name}</strong>",
"zh_Hant": "<strong>{name}</strong>",
"it": "<strong>{name}</strong>",
"hu": "<strong>{name}</strong>",
"cs": "<strong>{name}</strong>"
},
"question": {
"en": "What is the name of this climbing club or NGO?",
"de": "Wie lautet der Name dieses Vereins oder Organisation?",
"nl": "Wat is de naam van deze klimclub?",
"ja": "この登山クラブやNGOの名前は何ですか?",
"fr": "Quel est le nom du club ou de lassociation ?",
"it": "Qual è il nome di questo club o associazione di arrampicata?",
"hu": "Mi a neve ennek a mászóegyesületnek vagy szervezetnek?",
"cs": "Jak se jmenuje tento lezecký klub nebo nevládní organizace?"
},
"freeform": {
"key": "name",
"inline": true
},
"id": "climbing_club-name"
},
{
"id": "website",
"labels": [
"contact"
],
"icon": "./assets/layers/icons/website.svg",
"question": {
"en": "What is the website of {title()}?",
"nl": "Wat is de website van {title()}?",
"fr": "Quel est le site web de {title()} ?",
"gl": "Cal é a páxina web de {title()}?",
"nb_NO": "Hva er nettsiden til {title()}?",
"ru": "Какой сайт у {title()}?",
"id": "Apa situs web dari {title()}?",
"zh_Hant": "{title()} 網址是什麼?",
"it": "Qual è il sito web di {title()}?",
"de": "Wie lautet die Webseite von {title()}?",
"pt_BR": "Qual o site de {title()}?",
"pl": "Jaka jest strona internetowa {title()}?",
"sv": "Vad är webbplatsen för {title()}?",
"pt": "Qual é o sítio web de {title()}?",
"eo": "Kie estas la retejo de {title()}?",
"hu": "Mi a weboldala ennek: {title()}?",
"ca": "Quina és la web de {title()}?",
"ja": "{title()}のウェブサイトは?",
"fil": "Ano ang website ng {title()}?",
"es": "¿Cual es el sitio web de {title()}?",
"zh_Hans": "{title()} 的网站为何?",
"da": "Hvad er webstedet for {title()}?",
"cs": "Jaká je webová stránka {title()}?"
},
"render": {
"*": "<a href='{website}' rel='nofollow noopener noreferrer' target='_blank'>{website}</a>"
},
"freeform": {
"key": "website",
"type": "url",
"addExtraTags": [
"contact:website="
]
},
"mappings": [
{
"if": "contact:website~*",
"then": "<a href='{contact:website}' rel='nofollow noopener noreferrer' target='_blank'>{contact:website}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/icons/website.svg"
}
],
"editButtonAriaLabel": {
"en": "Edit website",
"nl": "Pas website aan",
"de": "Webseite bearbeiten"
}
},
{
"id": "email",
"render": {
"*": "<a href='mailto:{email}' target='_blank' rel='noopener'>{email}</a>"
},
"icon": "./assets/svg/envelope.svg",
"labels": [
"contact"
],
"question": {
"nl": "Wat is het e-mailadres van {title()}?",
"fr": "Quelle est l'adresse courriel de {title()} ?",
"en": "What is the email address of {title()}?",
"nb_NO": "Hva er e-postadressen til {title()}?",
"ru": "Какой адрес электронной почты у {title()}?",
"id": "Apa alamat surel dari {title()}?",
"zh_Hant": "{title()} 的電子郵件地址是什麼?",
"it": "Qual è l'indirizzo email di {title()}?",
"de": "Wie lautet die Mail-Adresse von {title()}?",
"pt_BR": "Qual o endereço de e-mail de {title()}?",
"pl": "Jaki jest adres e-mail do {title()}?",
"sv": "Vad är e-postadressen till {title()}?",
"pt": "Qual é o endereço de e-mail de {title()}?",
"eo": "Kio estas la retpoŝta adreso de {title()}?",
"hu": "Mi a(z) {title()} e-mail címe?",
"ca": "Quina és l'adreça de correu electrònic de {title()}?",
"ja": "{title()}のEメールアドレスは何ですか",
"sl": "Kakšen naslov elektronske pošte ima {title()}?",
"fil": "Ano ang email address ng {title()}?",
"es": "¿Cuál es la dirección de correo electrónico de {title()}?",
"zh_Hans": "{title()} 的电子邮箱地址为何?",
"da": "Hvad er mailadressen på {title()}?",
"cs": "Jaká je e-mailová adresa {title()}?"
},
"mappings": [
{
"if": "contact:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{contact:email}' target='_blank' rel='noopener'>{contact:email}</a>",
"hideInAnswer": true
},
{
"if": "operator:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{operator:email}' target='_blank' rel='noopener'>{operator:email}</a>",
"hideInAnswer": true
}
],
"freeform": {
"key": "email",
"type": "email",
"addExtraTags": [
"contact:email="
]
},
"editButtonAriaLabel": {
"en": "Edit email address",
"nl": "Pas emailadres aan",
"de": "E-Mail Adresse bearbeiten"
}
},
{
"id": "phone",
"labels": [
"contact"
],
"question": {
"en": "What is the phone number of {title()}?",
"nl": "Wat is het telefoonnummer van {title()}?",
"fr": "Quel est le numéro de téléphone de {title()} ?",
"de": "Wie lautet die Telefonnummer von {title()}?",
"nb_NO": "Hva er telefonnummeret til {title()}?",
"ru": "Какой номер телефона у {title()}?",
"sv": "Vad är telefonnumret till {title()}?",
"zh_Hant": "{title()} 的電話號碼是什麼?",
"it": "Qual è il numero di telefono di {title()}?",
"pt_BR": "Qual o número de telefone de {title()}?",
"id": "Berapa nomor telepon dari {title()}?",
"pl": "Jaki jest numer telefonu do {title()}?",
"pt": "Qual é o número de telefone de {title()}?",
"eo": "Kio estas la telefonnumero de {title()}?",
"hu": "Mi a telefonszáma ennek: {title()}?",
"ca": "Quin és el telèfon de {title()}?",
"ja": "{title()}の電話番号は?",
"sl": "Kakšno telefonsko številko ima {title()}?",
"fil": "Ano ang telepono ng {title()}?",
"es": "¿Cuál es el número de teléfono de {title()}?",
"zh_Hans": "{title()} 的电话号码为何?",
"da": "Hvad er telefonnummeret til {title()}?",
"cs": "Jaké je telefonní číslo {title()}?"
},
"render": {
"*": "<a href='tel:{phone}'>{phone}</a>"
},
"icon": "./assets/layers/questions/phone.svg",
"mappings": [
{
"if": "contact:phone~*",
"then": "<a href='tel:{contact:phone}'>{contact:phone}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/questions/phone.svg"
}
],
"freeform": {
"key": "phone",
"type": "phone",
"addExtraTags": [
"contact:phone="
]
},
"editButtonAriaLabel": {
"en": "Edit phone number",
"nl": "Pas telefoonnummer aan",
"de": "Telefonnummer bearbeiten"
}
},
{
"id": "opening_hours",
"question": {
"en": "What are the opening hours of {title()}?",
"fr": "Quelles sont les horaires d'ouverture de {title()} ?",
"de": "Wie lauten die Öffnungszeiten von {title()}?",
"nl": "Wat zijn de openingstijden van {title()}?",
"nb_NO": "Hva er åpningstidene for {title()})",
"ru": "Какое время работы у {title()}?",
"zh_Hant": "{title()} 的開放時間是什麼?",
"it": "Quali sono gli orari di apertura di {title()}?",
"pt_BR": "Qual o horário de funcionamento de {title()}?",
"pl": "Jakie są godziny otwarcia {title()}?",
"sv": "Vilka är öppettiderna för {title()}?",
"pt": "Qual é o horário de funcionamento de {title()}?",
"hu": "Mikor van nyitva ez: {title()}?",
"ca": "Quin és l'horari d'obertura de {title()}?",
"ja": "{title()}の営業時間は?",
"sl": "Kakšen odpiralni čas ima {title()}?",
"fil": "Anong oras nagbubukas ang {title()}?",
"es": "¿Cuales son las horas de apertura de {title()}?",
"zh_Hans": "{title()} 的开放时间为何?",
"da": "Hvad er åbningstiderne for {title()}?",
"id": "Kapan jam buka {title()}?",
"cs": "Jaká je otevírací doba {title()}?"
},
"render": {
"de": "<h3>Öffnungszeiten</h3>{opening_hours_table(opening_hours)}",
"fr": "<h3>Horaires d'ouverture</h3>{opening_hours_table(opening_hours)}",
"en": "<h3>Opening hours</h3>{opening_hours_table(opening_hours)}",
"nl": "<h3>Openingstijden</h3>{opening_hours_table(opening_hours)}",
"nb_NO": "<h3>Åpningstider</h3>{opening_hours_table(opening_hours)}",
"ru": "<h3>Часы работы</h3>{opening_hours_table(opening_hours)}",
"zh_Hant": "<h3>開放時間</h3>{opening_hours_table(opening_hours)}",
"it": "<h3>Orari di apertura</h3>{opening_hours_table(opening_hours)}",
"pl": "<h3> Godziny otwarcia</h3>{opening_hours_table(opening_hours)}",
"pt_BR": "<h3>Horário de funcionamento</h3>{opening_hours_table(opening_hours)}",
"sv": "<h3>Öppettider</h3> {opening_hours_table(opening_hours)}",
"pt": "<h3>Horário de funcionamento</h3>{opening_hours_table(opening_hours)}",
"eo": "<h3>Malfermitaj horoj</h3>{opening_hours_table(opening_hours)}",
"hu": "<h3>Nyitva tartás</h3>{opening_hours_table(opening_hours)}",
"ca": "<h3>Horari d'obertura</h3>{opening_hours_table(opening_hours)}",
"ja": "<h3>営業時間</h3>{opening_hours_table(opening_hours)}",
"sl": "<h3>Odpiralni čas</h3>{opening_hours_table(opening_hours)}",
"fil": "<h3>Mga oras na bukas</h3>{opening_hours_table(opening_hours)}",
"es": "<h3>Horas de apertura</h3>{opening_hours_table(opening_hours)}",
"zh_Hans": "<h3>开放时间</h3> {opening_hours_table(opening_hours)}",
"da": "<h3> Åbningstider</h3>{opening_hours_table(opening_hours)}",
"id": "<h3>Jam buka</h3>{opening_hours_table(opening_hours)}",
"pa_PK": "<h3>کھُلھے گھنٹے</h3>{opening_hours_table(opening_hours)}",
"cs": "<h3>Otevírací hodiny</h3>{opening_hours_table(opening_hours)}"
},
"freeform": {
"key": "opening_hours",
"type": "opening_hours",
"inline": false
},
"mappings": [
{
"#": "Just here to be able to handle those ~5000 incorrect 'opening_hours=closed' elements.",
"if": "opening_hours=closed",
"then": {
"en": "Marked as closed for an unspecified time",
"nl": "Gesloten voor onbepaalde duur",
"de": "Als geschlossen für eine unbestimmte Zeit markiert"
},
"hideInAnswer": true
}
]
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "./assets/themes/climbing/club.svg"
}
]
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,565 @@
{
"id": "climbing_opportunity",
"name": {
"nl": "Klimgelegenheiden?",
"de": "Klettermöglichkeiten?",
"en": "Climbing opportunities?",
"ja": "登坂教室?",
"nb_NO": "Klatremuligheter?",
"fr": "Opportunités descalade ?",
"it": "Opportunità di arrampicata?",
"cs": "Lezecké příležitosti?"
},
"description": {
"en": "Fallback layer with items on which climbing _might_ be possible. It is loaded when zoomed in a lot, to prevent duplicate items to be added",
"de": "Rückfallebene mit Orten, auf denen Klettern eventuell möglich ist. Sie wird erst angezeigt, wenn man stark hineinzoomt, um zu verhindern, dass Elemente doppelt hinzugefügt werden",
"nl": "Laag met plaatsen waar klimmen _misschien_ mogelijk is. Deze wordt geladen als je ver inzoomt, om te voorkomen dat je per ongeluk dubbels maakt",
"cs": "Záložní vrstva s předměty, na které je _možné_ lézt. Načítá se při velkém přiblížení, aby se zabránilo přidávání duplicitních položek"
},
"source": {
"osmTags": {
"and": [
{
"or": [
"leisure=sports_centre",
"barrier=wall",
"barrier=retaining_wall",
"natural=cliff",
"natural=rock",
"natural=stone"
]
},
"climbing=",
"sport!=climbing"
]
}
},
"minzoom": 18,
"title": {
"render": {
"en": "Climbing opportunity?",
"nl": "Klimgelegenheid?",
"de": "Klettermöglichkeit?",
"ja": "登坂教室?",
"nb_NO": "Klatremulighet?",
"fr": "Opportunité descalade ?",
"it": "Opportunità di arrampicata?",
"cs": "Lezecká příležitost?"
}
},
"pointRendering": [
{
"marker": [
{
"icon": {
"render": "./assets/themes/climbing/climbing_unknown.svg",
"id": "assetsthemesclimbingclimbingunknownsvg"
}
}
],
"location": [
"point",
"centroid"
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"color": "#ddff55AA",
"width": "2"
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "climbing-opportunity-name",
"render": {
"en": "<strong>{name}</strong>",
"de": "<strong>{name}</strong>",
"ca": "<strong>{name}</strong>",
"fr": "<strong>{name}</strong>",
"id": "<strong>{name}</strong>",
"ru": "<strong>{name}</strong>",
"ja": "<strong>{name}</strong>",
"nl": "<strong>{name}</strong>",
"it": "<strong>{name}</strong>",
"pl": "<strong>{name}</strong>",
"cs": "<strong>{name}</strong>"
},
"condition": "name~*"
},
{
"id": "climbing-possible",
"question": {
"en": "Is climbing possible here?",
"de": "Kann hier geklettert werden?",
"ja": "ここで登坂はできますか?",
"nb_NO": "Er klatring mulig her?",
"fr": "Est-il possible descalader ici ?",
"it": "È possibile arrampicarsi qua?",
"nl": "Is klimmen hier mogelijk?",
"cs": "Je zde možné lezení?"
},
"mappings": [
{
"if": {
"and": [
"sport=climbing"
]
},
"then": {
"en": "Climbing is possible here",
"de": "Hier kann geklettert werden",
"ja": "ここでは登ることができる",
"nb_NO": "Klatring er mulig her",
"nl": "Klimmen is hier niet toegelaten",
"fr": "Escalader est possible",
"it": "È possibile arrampicarsi qua",
"cs": "Lezení je zde možné"
}
},
{
"if": "climbing=no",
"then": {
"en": "Climbing is not possible here",
"de": "Hier kann nicht geklettert werden",
"ja": "ここでは登ることができない",
"nb_NO": "Klatring er ikke mulig her",
"nl": "Klimmen is hier niet toegelaten",
"fr": "Escalader nest pas possible",
"it": "Non è possibile arrampicarsi qua",
"cs": "Lezení zde není možné"
}
},
{
"if": {
"and": [
"sport!~climbing"
]
},
"then": {
"en": "Climbing is not possible here",
"de": "Hier kann nicht geklettert werden",
"ja": "ここでは登ることができない",
"nb_NO": "Klatring er ikke mulig her",
"nl": "Klimmen is hier niet mogelijk",
"fr": "Escalader nest pas possible",
"it": "Non è possibile arrampicarsi qua",
"cs": "Lezení zde není možné"
},
"hideInAnswer": true
}
]
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"doCount": false,
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "./assets/themes/climbing/climbing_unknown.svg"
}
]
}

View file

@ -0,0 +1,771 @@
{
"id": "climbing_route",
"name": {
"en": "Climbing routes",
"de": "Kletterrouten",
"nl": "Klimroute",
"ja": "登坂ルート",
"nb_NO": "Klatreruter",
"fr": "Voies descalade",
"it": "Vie di arrampicata",
"ca": "Rutes d'escalada",
"cs": "Lezecké trasy"
},
"description": {
"en": "A single climbing route and its properties. Some properties are derived from the containing features",
"de": "Eine einzelne Kletterroute und ihre Eigenschaften. Einige Eigenschaften werden von übergeordneten Objekten abgeleitet",
"nl": "Een klimroute en de eigenschappen van deze klimroute. Sommige eigenschappen worden afgeleid van omliggende kaart-objecten",
"fr": "Une seule voie d'escalade et ses propriétés. Certaines propriétés sont dérivées des objets qui les contiennent",
"cs": "Jedna lezecká cesta a její vlastnosti. Některé vlastnosti jsou odvozeny z obsahujících prvků"
},
"source": {
"osmTags": {
"and": [
"climbing=route"
]
}
},
"minzoom": 18,
"title": {
"render": {
"de": "Kleterroute",
"en": "Climbing route",
"nl": "Klimroute",
"ja": "登坂ルート",
"nb_NO": "Klatrerute",
"it": "Via di arrampicata",
"fr": "Voie descalade",
"da": "Klatrerute",
"ca": "Ruta d'escalada",
"cs": "Lezecká trasa"
},
"mappings": [
{
"if": "name~*",
"then": {
"de": "Kleterroute <strong>{name}</strong>",
"en": "Climbing route <strong>{name}</strong>",
"nl": "Klimroute <strong>{name}</strong>",
"ja": "登坂ルート<strong>{name}</strong>",
"it": "Via di arrampicata <strong>{name}</strong>",
"fr": "Voie descalade <strong>{name}</strong>",
"da": "Klatrerute <strong>{name}</strong>",
"ca": "Ruta d'escalada <strong>{name}</strong>",
"cs": "Lezecká trasa <strong>{name}</strong>"
}
}
]
},
"pointRendering": [
{
"iconSize": "28,28",
"location": [
"point",
"centroid"
],
"label": {
"mappings": [
{
"if": {
"and": [
"climbing:grade:french~*",
"name~*"
]
},
"then": "<div class='w-max p-1 rounded-xl' style='background: white;'>{name} <span class='climbing-{__difficulty:char}'>{climbing:grade:french}</span></div>"
},
{
"if": "name~*",
"then": "<div class='w-max p-1 rounded-xl' style='background: white;'>{name}</div>"
}
]
},
"anchor": "center",
"marker": [
{
"icon": {
"render": "circle",
"id": "circle"
},
"color": "white"
},
{
"icon": {
"render": "./assets/themes/climbing/climbing_route.svg",
"id": "assetsthemesclimbingclimbingroutesvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"color": "#0f0",
"width": "4"
}
],
"presets": [
{
"title": {
"en": "a climbing route",
"nl": "een klimroute",
"fr": "une voie descalade",
"de": "eine Kletterroute",
"it": "una via di arrampicata",
"ca": "una ruta d'escalada",
"cs": "lezecká trasa"
},
"snapToLayer": [
"climbing_opportunity"
],
"tags": [
"sport=climbing",
"climbing=route"
]
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"render": {
"en": "<strong>{name}</strong>",
"nl": "<strong>{name}</strong>",
"de": "<strong>{name}</strong>",
"ca": "<strong>{name}</strong>",
"fr": "<strong>{name}</strong>",
"id": "<strong>{name}</strong>",
"ru": "<strong>{name}</strong>",
"ja": "<strong>{name}</strong>",
"it": "<strong>{name}</strong>",
"nb_NO": "<strong>{name}</strong>",
"da": "<strong>{name}</strong>",
"cs": "<strong>{name}</strong>"
},
"question": {
"en": "What is the name of this climbing route?",
"de": "Wie heißt diese Kletterroute?",
"nl": "Hoe heet deze klimroute?",
"ja": "この登坂ルートの名前は何ですか?",
"it": "Come si chiama questa via di arrampicata?",
"fr": "Quel est le nom de cette voie descalade ?",
"nb_NO": "Hva er navnet på denne klatreruten?",
"da": "Hvad hedder denne klatrerute?",
"ca": "Quin és el nom d'aquesta ruta d'escalada?",
"cs": "Jak se jmenuje tato lezecká cesta?"
},
"freeform": {
"key": "name",
"inline": true
},
"mappings": [
{
"if": {
"and": [
"noname=yes",
"name="
]
},
"then": {
"en": "This climbing route doesn't have a name",
"de": "Diese Kletterroute hat keinen Namen",
"nl": "Deze klimroute heeft geen naam",
"ja": "この登坂ルートには名前がありません",
"it": "Questa via di arrampicata non ha un nome",
"fr": "Cette voie na pas de nom",
"nb_NO": "Denne klatreruten har ikke noe navn",
"da": "Denne klatrerute har ikke et navn",
"cs": "Tato lezecká trasa nemá jméno"
}
}
],
"id": "Name"
},
{
"question": {
"en": "How long is this climbing route (in meters)?",
"nl": "Hoe lang is deze klimroute (in meters)?",
"it": "Quanto è lunga questa via di arrampicata (in metri)?",
"fr": "Quelle est la longueur de cette voie (en mètres) ?",
"de": "Wie lang ist diese Kletterroute (in Metern)?",
"nb_NO": "Hvor mange meter er klatreruten?",
"da": "Hvor lang er denne klatrerute (i meter)?",
"ca": "Quant dura aquesta via d'escalada (en metres)?",
"cs": "Jak dlouhá je tato lezecká trasa (v metrech)?"
},
"render": {
"de": "Diese Route ist {canonical(climbing:length)} lang",
"en": "This route is {canonical(climbing:length)} long",
"nl": "Deze klimroute is {canonical(climbing:length)} lang",
"ja": "このルート長は、 {canonical(climbing:length)} メーターです",
"nb_NO": "Denne ruten er {canonical(climbing:length)} lang",
"it": "Questo percorso è lungo {canonical(climbing:length)}",
"fr": "Cette voie fait {canonical(climbing:length)} de long",
"cs": "Tato trasa je {canonical(climbing:length)} dlouhá"
},
"freeform": {
"key": "climbing:length",
"type": "pnat",
"inline": false
},
"id": "Length"
},
{
"question": {
"en": "What is the grade of this climbing route according to the french/belgian system?",
"nl": "Hoe moeilijk is deze klimroute volgens het Franse/Belgische systeem?",
"it": "Qual è la difficoltà di questa via di arrampicata nel sistema francese/belga?",
"fr": "Quelle est la difficulté de cette voie selon le système franco-belge ?",
"de": "Wie hoch ist der Schwierigkeitsgrad dieser Kletterroute nach dem französisch/belgischen System?",
"ca": "Quin és el grau d'aquesta via d'escalada segons el sistema francès/belga?",
"cs": "Jaký je stupeň této lezecké cesty podle francouzského/belgického systému?"
},
"render": {
"de": "Die Schwierigkeit ist {climbing:grade:french} entsprechend des französisch/belgischen Systems",
"en": "The grade is {climbing:grade:french} according to the french/belgian system",
"nl": "De klimmoeilijkheid is {climbing:grade:french} volgens het Franse/Belgische systeem",
"ja": "フランス/ベルギーのランク評価システムによると、{climbing:grade:french}の困難度です",
"it": "Il grado di difficoltà è {climbing:grade:french} nel sistema francese/belga",
"fr": "Selon le système franco-belge, la difficulté de cette voie est de {climbing:grade:french}",
"cs": "Stupeň je {climbing:grade:french} podle francouzského/belgického systému"
},
"freeform": {
"key": "climbing:grade:french",
"inline": true
},
"id": "Difficulty"
},
{
"id": "bolts",
"question": {
"en": "How many bolts does this route have before reaching the anchor?",
"fr": "Combien de prises cette voie possède avant datteindre la moulinette ?",
"de": "Wie viele Haken gibt es auf dieser Kletterroute bevor der Umlenker bzw. Standhaken erreicht ist?",
"it": "Quanti bulloni sono presenti in questo percorso prima di arrivare alla moulinette?",
"nl": "Hoeveel bouten heeft deze route voordat je het relay bereikt?",
"cs": "Kolik šroubů má tato cesta před dosažením kotvy?"
},
"render": {
"en": "This route has {climbing:bolts} bolts <div class='subtle'>This is without relays and indicates how much quickdraws a climber needs</div>",
"fr": "Cette voie a {climbing:bolts} prises <div class='subtle'>C'est sans relai et indique de combien de dégaine un grimpeur a besoin</div>",
"de": "Diese Route hat {climbing:bolts} Haken <div class='subtle'>Dies ist ohne Relais und gibt an, wie viel Schnellspanner ein Kletterer braucht</div>",
"it": "Questo percorso ha {climbing:bolts} bulloni",
"nl": "Deze route heeft {climbing:bolts} klimbouten. <div class='subtle'>Dit is zonder het relay mee te tellen. Een klimmer heeft dus minstens {climbing:bolts} klimsetjes nodig om boven te raken</div>"
},
"freeform": {
"key": "climbing:bolts",
"type": "pnat",
"addExtraTag": [
"climbing:bolted=yes"
],
"inline": true
},
"mappings": [
{
"if": "climbing:bolted=no",
"then": {
"en": "This route is not bolted",
"fr": "Cette voie na pas de prises",
"de": "Auf dieser Kletterroute sind keine Haken vorhanden",
"it": "In questo percorso non sono presenti bulloni",
"nl": "Deze route heeft geen bouten",
"cs": "Tato trasa není vyšroubovaná"
},
"addExtraTags": [
"climbing:bolts="
]
}
]
},
{
"id": "description",
"question": {
"nl": "Zijn er nog andere relevante zaken die je niet in de bovenstaande vragen kwijt kon? Vul ze hier in.",
"fr": "Y a-t-il quelque chose de pertinent que vous n'avez pas pu donner à la dernière question ? Ajoutez-le ici.",
"en": "Is there still some relevant info that the previous questions did not cover? Feel free to add it here.",
"nb_NO": "Er det noe mer som er relevant du ikke kunne opplyse om i tidligere svar? Legg det til her.",
"ru": "Есть ли ещё что-то важное, о чём вы не смогли рассказать в предыдущих вопросах? Добавьте это здесь.",
"zh_Hant": "有什麼相關的資訊你無法在先前的問題回應的嗎?請加在這邊吧。",
"it": "C'è ancora qualche informazione importante che non è stato possibile fornire nelle domande precedenti? Aggiungila qui.",
"de": "Gibt es noch etwas, das die vorhergehenden Fragen nicht abgedeckt haben? Hier wäre Platz dafür.",
"pl": "Czy jest jeszcze coś istotnego, czego nie mogłeś podać w poprzednich pytaniach? Dodaj to tutaj.",
"pt_BR": "Ainda há algo de relevante que não pôde dar nas perguntas anteriores? Adicione aqui.",
"pt": "Ainda há algo de relevante que não tenha podido dar nas perguntas anteriores? Adicione-o aqui.",
"hu": "Van-e még valami lényeges, amit nem tudott megadni az előző kérdésekben? Itt megteheti.",
"ca": "Hi ha quelcom rellevant que no t'hem preguntat? Afegeix-ho aquí.",
"sv": "Finns det fortfarande någonting relevant som du inte kunde ge i de föregående frågorna? Lägg till det här.",
"id": "Apakah masih ada sesuatu yang relevan yang tidak dapat Anda berikan dalam pertanyaan sebelumnya? Tambahkan di sini. ",
"ja": "前の質問で伝えきれなかった関連事項がまだありますか?ここに追加してください。",
"es": "¿Aún hay algo relevante que no ha encajado en las preguntas anteriores? Compártalo aquí.",
"sl": "Ali je še kaj pomembnega, česar niste mogli povedati v prejšnjih vprašanjih? Dopišite tukaj.",
"fil": "Mayroon pa bang mga bagay na nau-ugnay at hindi mo maibigay sa mga nakaraang tanong? Idagdag dito.",
"da": "Er der stadig noget relevant, du ikke kunne give i de foregående spørgsmål? Tilføj det her.",
"cs": "Je ještě něco relevantního, co jste nemohli uvést v předchozích otázkách? Přidejte to sem."
},
"render": {
"*": "{description}"
},
"freeform": {
"key": "description",
"inline": true
},
"questionHint": {
"nl": "Herhaal geen antwoorden die je reeds gaf",
"fr": "Ne répétez pas des réponses déjà données",
"en": "Please don't repeat already stated facts",
"nb_NO": "Ikke gjenta fakta som allerede er nevnt",
"ru": "Не повторяйте уже изложенные факты",
"zh_Hant": "不要重覆答覆已經知道的事情",
"it": "Non ripetere informazioni già fornite",
"de": "Bitte keine bereits erhobenen Informationen wiederholen",
"pl": "Nie powtarzaj już podanych faktów",
"pt_BR": " Não repita fatos já declarados",
"pt": "Não repita factos já declarados",
"hu": "Ne ismételjen meg már megadott tényeket",
"ca": "No repeteixis informació que ja hi és",
"sv": "Repetera inte redan angivna fakta",
"id": " Jangan ulangi fakta yang sudah dinyatakan ",
"ja": "今後表示しない",
"es": "No repita datos ya expresados",
"sl": "Ne ponavljajte že navedenih dejstev",
"fil": "Huwag ulitin ang mga nai-saad na",
"da": "Gentag ikke allerede nævnte fakta",
"cs": "Neopakujte již uvedená fakta"
}
},
{
"id": "Rock type via embedded feature",
"render": {
"en": "The rock type is {_embedding_features_with_rock:rock} as stated <a href='#{_embedding_features_with_rock:id}'>on the surrounding crag</a>",
"fr": "Le type de roche est {_embedding_features_with_rock:rock} selon <a href='#{_embedding_features_with_rock:id}'>le mur</a>",
"it": "Il tipo di roccia è {_embedding_features_with_rock:rock} come dichiarato sul <a href='#{_embedding_features_with_rock:id}'>muro circostante</a>",
"de": "Der Gesteinstyp ist {_embedding_features_with_rock:rock}, wie <a href='#{_embedding_features_with_rock:id}'>auf dem umgebenden Felsen angegeben</a>",
"nl": "De steensoort is {_embedding_features_with_rock:rock} zoals vermeld op <a href='#{_embedding_features_with_rock:id}'>de omliggende klimzone</a>",
"cs": "Typ skály je {_embedding_features_with_rock:rock}, jak je uvedeno <a href='#{_embedding_features_with_rock:id}'>na okolní skalní stěně</a>"
},
"freeform": {
"key": "_embedding_features_with_rock:rock"
}
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "circle",
"color": "white"
},
{
"icon": "./assets/themes/climbing/climbing_route.svg"
}
]
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,403 @@
{
"id": "conflation",
"name": "Conflation",
"description": "If the import-button moves OSM points, the imported way points or conflates, a preview is shown. This layer defines how this preview is rendered. This layer cannot be included in a theme.",
"source": "special",
"minzoom": 1,
"title": "Conflation",
"pointRendering": [
{
"location": [
"point"
],
"marker": [
{
"icon": {
"render": "addSmall",
"mappings": [
{
"if": "detach=yes",
"then": "white"
}
]
},
"color": {
"render": "#000",
"mappings": [
{
"if": "detach=yes",
"then": "white"
}
]
}
},
{
"icon": {
"mappings": [
{
"if": "detach=yes",
"then": "close"
}
]
},
"color": "#C33"
}
],
"iconSize": "10,10",
"anchor": "center"
},
{
"location": [
"end"
],
"marker": [
{
"icon": {
"render": "circle",
"mappings": [
{
"if": "reprojection=yes",
"then": "none"
},
{
"if": "move=no",
"then": "ring"
}
]
},
"color": {
"render": "#0f0",
"mappings": [
{
"if": "reprojection=yes",
"then": "#f00"
},
{
"if": "move=no",
"then": "#0f0"
}
]
}
}
],
"iconSize": "10,10",
"anchor": "center"
},
{
"location": [
"start"
],
"marker": [
{
"icon": {
"render": "square",
"mappings": [
{
"if": "reprojection=yes",
"then": "reload"
}
]
},
"color": {
"render": "#f00",
"mappings": [
{
"if": "reprojection=yes",
"then": "#f00"
}
]
}
}
],
"iconSize": {
"render": "10,10,center",
"mappings": [
{
"if": "distance<0.1",
"then": "0,0,center"
}
]
}
}
],
"lineRendering": [
{
"width": {
"render": "3",
"mappings": [
{
"if": "distance<0.2",
"then": "0"
}
]
},
"color": "#00f"
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "addSmall",
"color": "#000"
}
]
}

View file

@ -0,0 +1,454 @@
{
"id": "crab_address",
"name": "CRAB-addressen",
"description": "Address data for Flanders by the governement, suited for import into OpenStreetMap. Datadump from 2021-10-26. This layer contains only visualisation logic. Import buttons should be added via an override. Note that HNRLABEL contains the original value, whereas _HNRLABEL contains a slightly cleaned version",
"source": {
"osmTags": {
"and": [
"HUISNR~*"
]
},
"geoJson": "https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/CRAB_2021_10_26/tile_{z}_{x}_{y}.geojson",
"geoJsonZoomLevel": 18
},
"calculatedTags": [
"_HNRLABEL=(() => {const lbl = feat.properties.HNRLABEL?.split('-')?.map(l => Number(l))?.filter(i => !isNaN (i)) ;if(lbl?.length != 2) {return feat.properties.HNRLABEL}; const addresses = []; for(let i = lbl[0]; i <= lbl[1]; i += 1){addresses.push(''+i);}; return addresses.join(';') })()"
],
"title": "CRAB-adres",
"pointRendering": [
{
"location": [
"point",
"centroid"
],
"iconSize": "50,50",
"label": "<div style='margin-top: -42px; color: white' class='rounded-full p-1 font-bold relative'>{_HNRLABEL}</div>",
"anchor": "center",
"marker": [
{
"icon": {
"render": "./assets/layers/crab_address/housenumber_blank.svg",
"id": "assetslayerscrabaddresshousenumberblanksvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "render_crab",
"render": "Volgens het CRAB ligt hier <b>{STRAATNM}</b> {HUISNR} (label: {HNRLABEL})"
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "./assets/layers/crab_address/housenumber_blank.svg"
}
]
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,276 @@
{
"id": "current_view",
"description": "A meta-layer which contains one single feature, namely the bounding box of the current map view. This can be used to trigger special actions. If a popup is defined for this layer, this popup will be accessible via an extra button on screen.\n\nThe icon on the button is the default icon of the layer, but can be customized by detecting 'button=yes'.",
"source": "special",
"shownByDefault": false,
"title": "Current View",
"popupInFloatover": true,
"pointRendering": [],
"lineRendering": [
{
"color": "#cccc0088"
}
],
"tagRenderings": [],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": []
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,806 @@
{
"id": "dentist",
"name": {
"en": "Dentist",
"nl": "Tandarts",
"de": "Zahnärzte",
"es": "Dentista",
"ca": "Dentista",
"pl": "Dentysta",
"cs": "Zubař"
},
"description": {
"en": "This layer shows dentist offices",
"de": "Diese Ebene zeigt Zahnarztpraxen",
"nl": "Deze laag toont tandartsen",
"pl": "Ta warstwa pokazuje gabinety dentystyczne",
"ca": "Aquesta capa mostra clíniques dentals",
"cs": "Tato vrstva zobrazuje ordinace zubních lékařů"
},
"source": {
"osmTags": {
"and": [
"amenity=dentist"
]
}
},
"minzoom": 13,
"title": {
"render": {
"en": "Dentist Office {name}",
"de": "Zahnarztpraxis {name}",
"nl": "Tandartspraktijk {name}",
"fr": "Cabinet medical {name}",
"ca": "Clínica Dental {name}",
"cs": "Zubní ordinace {name}"
}
},
"pointRendering": [
{
"iconSize": "40,40",
"location": [
"point",
"centroid"
],
"anchor": "center",
"marker": [
{
"icon": {
"render": "circle",
"id": "circle"
},
"color": "white"
},
{
"icon": {
"render": "./assets/layers/dentist/dentist.svg",
"id": "assetslayersdentistdentistsvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [],
"presets": [
{
"title": {
"en": "a dentists office",
"de": "eine Zahnarztpraxis",
"nl": "een tandartspraktijk",
"fr": "un cabinet de dentistes",
"ca": "una clínica dental",
"cs": "zubní ordinace"
},
"tags": [
"amenity=dentist"
]
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "opening_hours",
"question": {
"en": "What are the opening hours of {title()}?",
"fr": "Quelles sont les horaires d'ouverture de {title()} ?",
"de": "Wie lauten die Öffnungszeiten von {title()}?",
"nl": "Wat zijn de openingstijden van {title()}?",
"nb_NO": "Hva er åpningstidene for {title()})",
"ru": "Какое время работы у {title()}?",
"zh_Hant": "{title()} 的開放時間是什麼?",
"it": "Quali sono gli orari di apertura di {title()}?",
"pt_BR": "Qual o horário de funcionamento de {title()}?",
"pl": "Jakie są godziny otwarcia {title()}?",
"sv": "Vilka är öppettiderna för {title()}?",
"pt": "Qual é o horário de funcionamento de {title()}?",
"hu": "Mikor van nyitva ez: {title()}?",
"ca": "Quin és l'horari d'obertura de {title()}?",
"ja": "{title()}の営業時間は?",
"sl": "Kakšen odpiralni čas ima {title()}?",
"fil": "Anong oras nagbubukas ang {title()}?",
"es": "¿Cuales son las horas de apertura de {title()}?",
"zh_Hans": "{title()} 的开放时间为何?",
"da": "Hvad er åbningstiderne for {title()}?",
"id": "Kapan jam buka {title()}?",
"cs": "Jaká je otevírací doba {title()}?"
},
"render": {
"de": "<h3>Öffnungszeiten</h3>{opening_hours_table(opening_hours)}",
"fr": "<h3>Horaires d'ouverture</h3>{opening_hours_table(opening_hours)}",
"en": "<h3>Opening hours</h3>{opening_hours_table(opening_hours)}",
"nl": "<h3>Openingstijden</h3>{opening_hours_table(opening_hours)}",
"nb_NO": "<h3>Åpningstider</h3>{opening_hours_table(opening_hours)}",
"ru": "<h3>Часы работы</h3>{opening_hours_table(opening_hours)}",
"zh_Hant": "<h3>開放時間</h3>{opening_hours_table(opening_hours)}",
"it": "<h3>Orari di apertura</h3>{opening_hours_table(opening_hours)}",
"pl": "<h3> Godziny otwarcia</h3>{opening_hours_table(opening_hours)}",
"pt_BR": "<h3>Horário de funcionamento</h3>{opening_hours_table(opening_hours)}",
"sv": "<h3>Öppettider</h3> {opening_hours_table(opening_hours)}",
"pt": "<h3>Horário de funcionamento</h3>{opening_hours_table(opening_hours)}",
"eo": "<h3>Malfermitaj horoj</h3>{opening_hours_table(opening_hours)}",
"hu": "<h3>Nyitva tartás</h3>{opening_hours_table(opening_hours)}",
"ca": "<h3>Horari d'obertura</h3>{opening_hours_table(opening_hours)}",
"ja": "<h3>営業時間</h3>{opening_hours_table(opening_hours)}",
"sl": "<h3>Odpiralni čas</h3>{opening_hours_table(opening_hours)}",
"fil": "<h3>Mga oras na bukas</h3>{opening_hours_table(opening_hours)}",
"es": "<h3>Horas de apertura</h3>{opening_hours_table(opening_hours)}",
"zh_Hans": "<h3>开放时间</h3> {opening_hours_table(opening_hours)}",
"da": "<h3> Åbningstider</h3>{opening_hours_table(opening_hours)}",
"id": "<h3>Jam buka</h3>{opening_hours_table(opening_hours)}",
"pa_PK": "<h3>کھُلھے گھنٹے</h3>{opening_hours_table(opening_hours)}",
"cs": "<h3>Otevírací hodiny</h3>{opening_hours_table(opening_hours)}"
},
"freeform": {
"key": "opening_hours",
"type": "opening_hours",
"inline": false
},
"mappings": [
{
"#": "Just here to be able to handle those ~5000 incorrect 'opening_hours=closed' elements.",
"if": "opening_hours=closed",
"then": {
"en": "Marked as closed for an unspecified time",
"nl": "Gesloten voor onbepaalde duur",
"de": "Als geschlossen für eine unbestimmte Zeit markiert"
},
"hideInAnswer": true
}
]
},
{
"id": "phone",
"labels": [
"contact"
],
"question": {
"en": "What is the phone number of {title()}?",
"nl": "Wat is het telefoonnummer van {title()}?",
"fr": "Quel est le numéro de téléphone de {title()} ?",
"de": "Wie lautet die Telefonnummer von {title()}?",
"nb_NO": "Hva er telefonnummeret til {title()}?",
"ru": "Какой номер телефона у {title()}?",
"sv": "Vad är telefonnumret till {title()}?",
"zh_Hant": "{title()} 的電話號碼是什麼?",
"it": "Qual è il numero di telefono di {title()}?",
"pt_BR": "Qual o número de telefone de {title()}?",
"id": "Berapa nomor telepon dari {title()}?",
"pl": "Jaki jest numer telefonu do {title()}?",
"pt": "Qual é o número de telefone de {title()}?",
"eo": "Kio estas la telefonnumero de {title()}?",
"hu": "Mi a telefonszáma ennek: {title()}?",
"ca": "Quin és el telèfon de {title()}?",
"ja": "{title()}の電話番号は?",
"sl": "Kakšno telefonsko številko ima {title()}?",
"fil": "Ano ang telepono ng {title()}?",
"es": "¿Cuál es el número de teléfono de {title()}?",
"zh_Hans": "{title()} 的电话号码为何?",
"da": "Hvad er telefonnummeret til {title()}?",
"cs": "Jaké je telefonní číslo {title()}?"
},
"render": {
"*": "<a href='tel:{phone}'>{phone}</a>"
},
"icon": "./assets/layers/questions/phone.svg",
"mappings": [
{
"if": "contact:phone~*",
"then": "<a href='tel:{contact:phone}'>{contact:phone}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/questions/phone.svg"
}
],
"freeform": {
"key": "phone",
"type": "phone",
"addExtraTags": [
"contact:phone="
]
},
"editButtonAriaLabel": {
"en": "Edit phone number",
"nl": "Pas telefoonnummer aan",
"de": "Telefonnummer bearbeiten"
}
},
{
"id": "email",
"render": {
"*": "<a href='mailto:{email}' target='_blank' rel='noopener'>{email}</a>"
},
"icon": "./assets/svg/envelope.svg",
"labels": [
"contact"
],
"question": {
"nl": "Wat is het e-mailadres van {title()}?",
"fr": "Quelle est l'adresse courriel de {title()} ?",
"en": "What is the email address of {title()}?",
"nb_NO": "Hva er e-postadressen til {title()}?",
"ru": "Какой адрес электронной почты у {title()}?",
"id": "Apa alamat surel dari {title()}?",
"zh_Hant": "{title()} 的電子郵件地址是什麼?",
"it": "Qual è l'indirizzo email di {title()}?",
"de": "Wie lautet die Mail-Adresse von {title()}?",
"pt_BR": "Qual o endereço de e-mail de {title()}?",
"pl": "Jaki jest adres e-mail do {title()}?",
"sv": "Vad är e-postadressen till {title()}?",
"pt": "Qual é o endereço de e-mail de {title()}?",
"eo": "Kio estas la retpoŝta adreso de {title()}?",
"hu": "Mi a(z) {title()} e-mail címe?",
"ca": "Quina és l'adreça de correu electrònic de {title()}?",
"ja": "{title()}のEメールアドレスは何ですか",
"sl": "Kakšen naslov elektronske pošte ima {title()}?",
"fil": "Ano ang email address ng {title()}?",
"es": "¿Cuál es la dirección de correo electrónico de {title()}?",
"zh_Hans": "{title()} 的电子邮箱地址为何?",
"da": "Hvad er mailadressen på {title()}?",
"cs": "Jaká je e-mailová adresa {title()}?"
},
"mappings": [
{
"if": "contact:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{contact:email}' target='_blank' rel='noopener'>{contact:email}</a>",
"hideInAnswer": true
},
{
"if": "operator:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{operator:email}' target='_blank' rel='noopener'>{operator:email}</a>",
"hideInAnswer": true
}
],
"freeform": {
"key": "email",
"type": "email",
"addExtraTags": [
"contact:email="
]
},
"editButtonAriaLabel": {
"en": "Edit email address",
"nl": "Pas emailadres aan",
"de": "E-Mail Adresse bearbeiten"
}
},
{
"id": "website",
"labels": [
"contact"
],
"icon": "./assets/layers/icons/website.svg",
"question": {
"en": "What is the website of {title()}?",
"nl": "Wat is de website van {title()}?",
"fr": "Quel est le site web de {title()} ?",
"gl": "Cal é a páxina web de {title()}?",
"nb_NO": "Hva er nettsiden til {title()}?",
"ru": "Какой сайт у {title()}?",
"id": "Apa situs web dari {title()}?",
"zh_Hant": "{title()} 網址是什麼?",
"it": "Qual è il sito web di {title()}?",
"de": "Wie lautet die Webseite von {title()}?",
"pt_BR": "Qual o site de {title()}?",
"pl": "Jaka jest strona internetowa {title()}?",
"sv": "Vad är webbplatsen för {title()}?",
"pt": "Qual é o sítio web de {title()}?",
"eo": "Kie estas la retejo de {title()}?",
"hu": "Mi a weboldala ennek: {title()}?",
"ca": "Quina és la web de {title()}?",
"ja": "{title()}のウェブサイトは?",
"fil": "Ano ang website ng {title()}?",
"es": "¿Cual es el sitio web de {title()}?",
"zh_Hans": "{title()} 的网站为何?",
"da": "Hvad er webstedet for {title()}?",
"cs": "Jaká je webová stránka {title()}?"
},
"render": {
"*": "<a href='{website}' rel='nofollow noopener noreferrer' target='_blank'>{website}</a>"
},
"freeform": {
"key": "website",
"type": "url",
"addExtraTags": [
"contact:website="
]
},
"mappings": [
{
"if": "contact:website~*",
"then": "<a href='{contact:website}' rel='nofollow noopener noreferrer' target='_blank'>{contact:website}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/icons/website.svg"
}
],
"editButtonAriaLabel": {
"en": "Edit website",
"nl": "Pas website aan",
"de": "Webseite bearbeiten"
}
},
{
"question": {
"en": "What is the name of this dentist?",
"de": "Wie lautet der Name dieses Zahnarztes?",
"nl": "Hoe heet deze tandarts?",
"ca": "Com s'anomena aquest dentista?",
"pl": "Jaka jest nazwa tego gabinetu dentystycznego?",
"cs": "Jak se jmenuje tento zubař?"
},
"render": {
"en": "This dentist is called {name}",
"de": "Dieser Zahnarzt heißt {name}",
"nl": "Deze tandarts heet {name}",
"ca": "El dentista s'anomena {name}",
"pl": "Nazwa tego gabinetu dentystycznego to {name}",
"cs": "Tento zubař se jmenuje {name}"
},
"freeform": {
"key": "name",
"inline": true
},
"id": "name"
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "move-button",
"render": {
"*": "{move_button()}"
}
},
{
"id": "delete-button",
"render": {
"*": "{delete_button()}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"filter": [
{
"id": "open_now",
"options": [
{
"question": {
"en": "Open now",
"nl": "Nu open",
"de": "Jetzt geöffnet",
"ca": "Obert ara",
"es": "Abierto",
"fr": "Ouvert maintenant",
"hu": "Most nyitva van",
"da": "Åbent nu",
"zh_Hant": "目前開放",
"id": "Saat ini buka",
"it": "Aperto ora",
"pl": "Otwarte teraz",
"cs": "Nyní otevřeno"
},
"osmTags": "_isOpen=yes"
}
]
}
],
"deletion": {},
"allowMove": true,
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "circle",
"color": "white"
},
{
"icon": "./assets/layers/dentist/dentist.svg"
}
]
}

View file

@ -0,0 +1,479 @@
{
"id": "direction",
"name": {
"en": "Direction visualization",
"nl": "Richtingsvisualisatie",
"fr": "Visualisation de la direction",
"it": "Visualizzazione della direzione",
"ru": "Визуализация направления",
"de": "Aufnahmewinkel der Kamera anzeigen",
"ca": "Direcció de la visualització",
"cs": "Vizualizace směru"
},
"description": {
"en": "This layer visualizes directions",
"nl": "Deze laag toont de oriëntatie van een object",
"fr": "Cette couche visualise les directions",
"it": "Questo livello visualizza le direzioni",
"de": "Diese Ebene visualisiert Richtungen",
"ru": "Этот слой визуализирует направление",
"ca": "Aquesta capa visualitza direccions",
"cs": "Tato vrstva zobrazuje směry"
},
"source": {
"osmTags": {
"and": [
{
"or": [
"camera:direction~*",
"direction~*"
]
}
]
}
},
"minzoom": 16,
"title": null,
"pointRendering": [
{
"iconSize": "200,200",
"location": [
"point",
"centroid"
],
"rotation": "{_direction:numerical}deg",
"anchor": "center",
"marker": [
{
"icon": {
"render": "direction_gradient",
"id": "directiongradient"
},
"color": "var(--catch-detail-color)"
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"color": "--catch-detail-color"
}
],
"passAllFeatures": true,
"doNotDownload": true,
"presets": [],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"stroke": "0",
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "direction_gradient",
"color": "var(--catch-detail-color)"
}
]
}

View file

@ -0,0 +1,556 @@
{
"id": "disaster_response",
"name": {
"en": "Disaster response organizations",
"de": "Katastrophenschutzorganisationen"
},
"description": {
"en": "This layer contains organizations that have the main objective to help the civil population during and after natural or anthropogenic disasters by working in the affected area.",
"it": "Questo livello contiene organizzazioni che hanno come obiettivo principale quello di aiutare la popolazione civile durante e dopo disastri naturali o antropogenici, lavorando nell'area colpita.",
"de": "Diese Ebene umfasst Organisationen, deren Hauptziel es ist, der Zivilbevölkerung während und nach Natur- oder anthropogenen Katastrophen zu helfen, indem sie in dem betroffenen Gebiet tätig sind."
},
"source": {
"osmTags": {
"and": [
"emergency=disaster_response"
]
}
},
"minzoom": 10,
"title": {
"render": {
"en": "Disaster response organization",
"it": "Organizzazione per la risposta ai disastri",
"de": "Katastrophenschutzorganisation"
}
},
"pointRendering": [
{
"iconSize": "40,40",
"location": [
"point",
"centroid"
],
"anchor": "bottom",
"marker": [
{
"icon": {
"render": "./assets/themes/disaster_response/CivilDefence.svg",
"id": "assetsthemesdisasterresponseCivilDefencesvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"color": "#6BC4F7",
"width": 3
}
],
"presets": [
{
"title": {
"en": "a disaster response organization",
"it": "un'organizzazione per la risposta ai disastri",
"de": "eine Katastrophenschutzorganisation"
},
"tags": [
"emergency=disaster_response"
]
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "website",
"labels": [
"contact"
],
"icon": "./assets/layers/icons/website.svg",
"question": {
"en": "What is the website of {title()}?",
"nl": "Wat is de website van {title()}?",
"fr": "Quel est le site web de {title()} ?",
"gl": "Cal é a páxina web de {title()}?",
"nb_NO": "Hva er nettsiden til {title()}?",
"ru": "Какой сайт у {title()}?",
"id": "Apa situs web dari {title()}?",
"zh_Hant": "{title()} 網址是什麼?",
"it": "Qual è il sito web di {title()}?",
"de": "Wie lautet die Webseite von {title()}?",
"pt_BR": "Qual o site de {title()}?",
"pl": "Jaka jest strona internetowa {title()}?",
"sv": "Vad är webbplatsen för {title()}?",
"pt": "Qual é o sítio web de {title()}?",
"eo": "Kie estas la retejo de {title()}?",
"hu": "Mi a weboldala ennek: {title()}?",
"ca": "Quina és la web de {title()}?",
"ja": "{title()}のウェブサイトは?",
"fil": "Ano ang website ng {title()}?",
"es": "¿Cual es el sitio web de {title()}?",
"zh_Hans": "{title()} 的网站为何?",
"da": "Hvad er webstedet for {title()}?",
"cs": "Jaká je webová stránka {title()}?"
},
"render": {
"*": "<a href='{website}' rel='nofollow noopener noreferrer' target='_blank'>{website}</a>"
},
"freeform": {
"key": "website",
"type": "url",
"addExtraTags": [
"contact:website="
]
},
"mappings": [
{
"if": "contact:website~*",
"then": "<a href='{contact:website}' rel='nofollow noopener noreferrer' target='_blank'>{contact:website}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/icons/website.svg"
}
],
"editButtonAriaLabel": {
"en": "Edit website",
"nl": "Pas website aan",
"de": "Webseite bearbeiten"
}
},
{
"id": "disaster_response_name",
"freeform": {
"key": "name",
"inline": true
},
"question": {
"en": "What is the name of this organization?",
"it": "Qual è il nome di questa organizzazione?",
"de": "Wie lautet der Name dieser Organisation?"
},
"render": {
"en": "This organization is named <b>{name}</b>",
"it": "Questa organizzazione si chiama <b>{name}</b>",
"de": "Diese Organisation heißt <b>{name}</b>"
}
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"docs": "https://wiki.openstreetmap.org/wiki/Tag:emergency%3Ddisaster_response",
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "./assets/themes/disaster_response/CivilDefence.svg"
}
]
}

View file

@ -0,0 +1,905 @@
{
"id": "doctors",
"name": {
"en": "Doctors",
"de": "Ärzte",
"nl": "Dokters",
"fr": "Médecins",
"pa_PK": "ڈاکٹر",
"ca": "Metges",
"he": "רופאים",
"cs": "Lékaři"
},
"description": {
"en": "This layer shows doctor offices",
"de": "Diese Ebene zeigt Arztpraxen, Zahnärzte und andere Gesundheitseinrichtungen",
"nl": "Deze laag toont dokterspraktijken",
"he": "שכבה זו מציגה מרפאות רופאים",
"ca": "Aquesta capa mostra els consultoris mèdics",
"cs": "Tato vrstva zobrazuje ordinace lékařů"
},
"source": {
"osmTags": {
"and": [
"amenity=doctors"
]
}
},
"minzoom": 13,
"title": {
"render": {
"en": "Doctors Office {name}",
"de": "Arztpraxis {name}",
"nl": "Dokterspraktijk {name}",
"fr": "Cabinet medical {name}",
"ca": "Consultori metge {name}",
"cs": "Lékařská ordinace {name}"
}
},
"pointRendering": [
{
"iconSize": "40,40",
"location": [
"point",
"centroid"
],
"anchor": "center",
"marker": [
{
"icon": {
"render": "circle",
"id": "circle"
},
"color": "white"
},
{
"icon": {
"render": "./assets/layers/doctors/doctors.svg",
"id": "assetslayersdoctorsdoctorssvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [],
"presets": [
{
"title": {
"en": "a doctors office",
"de": "eine Arztpraxis",
"nl": "een dokterspraktijk",
"fr": "un cabinet médical",
"ca": "un consultori mèdic",
"cs": "lékařská ordinace"
},
"tags": [
"amenity=doctors"
]
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"question": {
"en": "What is the name of this doctors place?",
"de": "Wie heißt diese Arztpraxis?",
"nl": "Wat is de naam van deze dokterspraktijk?",
"fr": "Comment s'appelle ce cabinet médical ?",
"ca": "Com es diu aquesta consulta mèdica?",
"he": "מה השם של מקום הרופאים הזה?",
"cs": "Jak se jmenuje toto místo lékařů?"
},
"render": {
"en": "This doctors place is called {name}",
"de": "Diese Arztpraxis heißt {name}",
"nl": "Deze dokterspraktijk heet {name}",
"fr": "Ce cabinet médical s'appelle {name}",
"ca": "Aquest consultori mèdic és diu {name}",
"cs": "Toto místo lékařů se jmenuje {name}"
},
"freeform": {
"key": "name",
"inline": true
},
"id": "name"
},
{
"id": "opening_hours_by_appointment",
"question": {
"en": "What are the opening hours of {title()}?",
"fr": "Quelles sont les horaires d'ouverture de {title()} ?",
"de": "Wie lauten die Öffnungszeiten von {title()}?",
"nl": "Wat zijn de openingstijden van {title()}?",
"nb_NO": "Hva er åpningstidene for {title()})",
"ru": "Какое время работы у {title()}?",
"zh_Hant": "{title()} 的開放時間是什麼?",
"it": "Quali sono gli orari di apertura di {title()}?",
"pt_BR": "Qual o horário de funcionamento de {title()}?",
"pl": "Jakie są godziny otwarcia {title()}?",
"sv": "Vilka är öppettiderna för {title()}?",
"pt": "Qual é o horário de funcionamento de {title()}?",
"hu": "Mikor van nyitva ez: {title()}?",
"ca": "Quin és l'horari d'obertura de {title()}?",
"ja": "{title()}の営業時間は?",
"sl": "Kakšen odpiralni čas ima {title()}?",
"fil": "Anong oras nagbubukas ang {title()}?",
"es": "¿Cuales son las horas de apertura de {title()}?",
"zh_Hans": "{title()} 的开放时间为何?",
"da": "Hvad er åbningstiderne for {title()}?",
"id": "Kapan jam buka {title()}?",
"cs": "Jaká je otevírací doba {title()}?"
},
"render": {
"de": "<h3>Öffnungszeiten</h3>{opening_hours_table(opening_hours)}",
"fr": "<h3>Horaires d'ouverture</h3>{opening_hours_table(opening_hours)}",
"en": "<h3>Opening hours</h3>{opening_hours_table(opening_hours)}",
"nl": "<h3>Openingstijden</h3>{opening_hours_table(opening_hours)}",
"nb_NO": "<h3>Åpningstider</h3>{opening_hours_table(opening_hours)}",
"ru": "<h3>Часы работы</h3>{opening_hours_table(opening_hours)}",
"zh_Hant": "<h3>開放時間</h3>{opening_hours_table(opening_hours)}",
"it": "<h3>Orari di apertura</h3>{opening_hours_table(opening_hours)}",
"pl": "<h3> Godziny otwarcia</h3>{opening_hours_table(opening_hours)}",
"pt_BR": "<h3>Horário de funcionamento</h3>{opening_hours_table(opening_hours)}",
"sv": "<h3>Öppettider</h3> {opening_hours_table(opening_hours)}",
"pt": "<h3>Horário de funcionamento</h3>{opening_hours_table(opening_hours)}",
"eo": "<h3>Malfermitaj horoj</h3>{opening_hours_table(opening_hours)}",
"hu": "<h3>Nyitva tartás</h3>{opening_hours_table(opening_hours)}",
"ca": "<h3>Horari d'obertura</h3>{opening_hours_table(opening_hours)}",
"ja": "<h3>営業時間</h3>{opening_hours_table(opening_hours)}",
"sl": "<h3>Odpiralni čas</h3>{opening_hours_table(opening_hours)}",
"fil": "<h3>Mga oras na bukas</h3>{opening_hours_table(opening_hours)}",
"es": "<h3>Horas de apertura</h3>{opening_hours_table(opening_hours)}",
"zh_Hans": "<h3>开放时间</h3> {opening_hours_table(opening_hours)}",
"da": "<h3> Åbningstider</h3>{opening_hours_table(opening_hours)}",
"id": "<h3>Jam buka</h3>{opening_hours_table(opening_hours)}",
"pa_PK": "<h3>کھُلھے گھنٹے</h3>{opening_hours_table(opening_hours)}",
"cs": "<h3>Otevírací hodiny</h3>{opening_hours_table(opening_hours)}"
},
"freeform": {
"key": "opening_hours",
"type": "opening_hours",
"inline": false
},
"mappings": [
{
"#": "Just here to be able to handle those ~5000 incorrect 'opening_hours=closed' elements.",
"if": "opening_hours=\"by appointment\"",
"then": {
"en": "Only by appointment",
"nl": "Alleen op afspraak",
"de": "Nur nach Vereinbarung",
"fr": "Uniquement sur rendez-vous",
"ca": "Sols amb cita prèvia",
"es": "Sólo con cita previa",
"nb_NO": "Kun ved avtale",
"pl": "Tylko po wcześniejszym umówieniu się",
"cs": "Pouze po domluvě"
},
"hideInAnswer": true
},
{
"if": "opening_hours~i~\"by appointment\"|by appointment",
"then": {
"en": "Only by appointment",
"de": "Nur nach Vereinbarung",
"nl": "Alleen op afspraak",
"fr": "Uniquement sur rendez-vous",
"ca": "Sols amb cita prèvia",
"es": "Sólo con cita previa",
"nb_NO": "Kun ved avtale",
"pl": "Tylko po wcześniejszym umówieniu się",
"cs": "Pouze po domluvě"
},
"hideInAnswer": true
}
]
},
{
"id": "phone",
"labels": [
"contact"
],
"question": {
"en": "What is the phone number of {title()}?",
"nl": "Wat is het telefoonnummer van {title()}?",
"fr": "Quel est le numéro de téléphone de {title()} ?",
"de": "Wie lautet die Telefonnummer von {title()}?",
"nb_NO": "Hva er telefonnummeret til {title()}?",
"ru": "Какой номер телефона у {title()}?",
"sv": "Vad är telefonnumret till {title()}?",
"zh_Hant": "{title()} 的電話號碼是什麼?",
"it": "Qual è il numero di telefono di {title()}?",
"pt_BR": "Qual o número de telefone de {title()}?",
"id": "Berapa nomor telepon dari {title()}?",
"pl": "Jaki jest numer telefonu do {title()}?",
"pt": "Qual é o número de telefone de {title()}?",
"eo": "Kio estas la telefonnumero de {title()}?",
"hu": "Mi a telefonszáma ennek: {title()}?",
"ca": "Quin és el telèfon de {title()}?",
"ja": "{title()}の電話番号は?",
"sl": "Kakšno telefonsko številko ima {title()}?",
"fil": "Ano ang telepono ng {title()}?",
"es": "¿Cuál es el número de teléfono de {title()}?",
"zh_Hans": "{title()} 的电话号码为何?",
"da": "Hvad er telefonnummeret til {title()}?",
"cs": "Jaké je telefonní číslo {title()}?"
},
"render": {
"*": "<a href='tel:{phone}'>{phone}</a>"
},
"icon": "./assets/layers/questions/phone.svg",
"mappings": [
{
"if": "contact:phone~*",
"then": "<a href='tel:{contact:phone}'>{contact:phone}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/questions/phone.svg"
}
],
"freeform": {
"key": "phone",
"type": "phone",
"addExtraTags": [
"contact:phone="
]
},
"editButtonAriaLabel": {
"en": "Edit phone number",
"nl": "Pas telefoonnummer aan",
"de": "Telefonnummer bearbeiten"
}
},
{
"id": "email",
"render": {
"*": "<a href='mailto:{email}' target='_blank' rel='noopener'>{email}</a>"
},
"icon": "./assets/svg/envelope.svg",
"labels": [
"contact"
],
"question": {
"nl": "Wat is het e-mailadres van {title()}?",
"fr": "Quelle est l'adresse courriel de {title()} ?",
"en": "What is the email address of {title()}?",
"nb_NO": "Hva er e-postadressen til {title()}?",
"ru": "Какой адрес электронной почты у {title()}?",
"id": "Apa alamat surel dari {title()}?",
"zh_Hant": "{title()} 的電子郵件地址是什麼?",
"it": "Qual è l'indirizzo email di {title()}?",
"de": "Wie lautet die Mail-Adresse von {title()}?",
"pt_BR": "Qual o endereço de e-mail de {title()}?",
"pl": "Jaki jest adres e-mail do {title()}?",
"sv": "Vad är e-postadressen till {title()}?",
"pt": "Qual é o endereço de e-mail de {title()}?",
"eo": "Kio estas la retpoŝta adreso de {title()}?",
"hu": "Mi a(z) {title()} e-mail címe?",
"ca": "Quina és l'adreça de correu electrònic de {title()}?",
"ja": "{title()}のEメールアドレスは何ですか",
"sl": "Kakšen naslov elektronske pošte ima {title()}?",
"fil": "Ano ang email address ng {title()}?",
"es": "¿Cuál es la dirección de correo electrónico de {title()}?",
"zh_Hans": "{title()} 的电子邮箱地址为何?",
"da": "Hvad er mailadressen på {title()}?",
"cs": "Jaká je e-mailová adresa {title()}?"
},
"mappings": [
{
"if": "contact:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{contact:email}' target='_blank' rel='noopener'>{contact:email}</a>",
"hideInAnswer": true
},
{
"if": "operator:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{operator:email}' target='_blank' rel='noopener'>{operator:email}</a>",
"hideInAnswer": true
}
],
"freeform": {
"key": "email",
"type": "email",
"addExtraTags": [
"contact:email="
]
},
"editButtonAriaLabel": {
"en": "Edit email address",
"nl": "Pas emailadres aan",
"de": "E-Mail Adresse bearbeiten"
}
},
{
"id": "website",
"labels": [
"contact"
],
"icon": "./assets/layers/icons/website.svg",
"question": {
"en": "What is the website of {title()}?",
"nl": "Wat is de website van {title()}?",
"fr": "Quel est le site web de {title()} ?",
"gl": "Cal é a páxina web de {title()}?",
"nb_NO": "Hva er nettsiden til {title()}?",
"ru": "Какой сайт у {title()}?",
"id": "Apa situs web dari {title()}?",
"zh_Hant": "{title()} 網址是什麼?",
"it": "Qual è il sito web di {title()}?",
"de": "Wie lautet die Webseite von {title()}?",
"pt_BR": "Qual o site de {title()}?",
"pl": "Jaka jest strona internetowa {title()}?",
"sv": "Vad är webbplatsen för {title()}?",
"pt": "Qual é o sítio web de {title()}?",
"eo": "Kie estas la retejo de {title()}?",
"hu": "Mi a weboldala ennek: {title()}?",
"ca": "Quina és la web de {title()}?",
"ja": "{title()}のウェブサイトは?",
"fil": "Ano ang website ng {title()}?",
"es": "¿Cual es el sitio web de {title()}?",
"zh_Hans": "{title()} 的网站为何?",
"da": "Hvad er webstedet for {title()}?",
"cs": "Jaká je webová stránka {title()}?"
},
"render": {
"*": "<a href='{website}' rel='nofollow noopener noreferrer' target='_blank'>{website}</a>"
},
"freeform": {
"key": "website",
"type": "url",
"addExtraTags": [
"contact:website="
]
},
"mappings": [
{
"if": "contact:website~*",
"then": "<a href='{contact:website}' rel='nofollow noopener noreferrer' target='_blank'>{contact:website}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/icons/website.svg"
}
],
"editButtonAriaLabel": {
"en": "Edit website",
"nl": "Pas website aan",
"de": "Webseite bearbeiten"
}
},
{
"id": "specialty",
"render": {
"en": "This doctor is specialized in {healthcare:speciality}",
"de": "Dieser Arzt ist spezialisiert auf {healthcare:speciality}",
"nl": "Deze dokter is gespecialiseerd in {healthcare:speciality}",
"fr": "Ce médecin est spécialisé dans {healthcare:speciality}",
"he": "רופא זה מתמחה ב {healthcare:speciality}",
"pl": "Ten lekarz specjalizuje się w {healthcare:speciality}",
"ca": "Aquest metge està especialitzat en {healthcare:speciality}",
"cs": "Tento lékař se specializuje na {healthcare:speciality}"
},
"question": {
"en": "What is this doctor specialized in?",
"de": "Worauf ist dieser Arzt spezialisiert?",
"nl": "Waar is deze dokter in gespecialiseerd?",
"fr": "En quoi ce médecin est-il spécialisé ?",
"pl": "W czym specjalizuje się ten lekarz?",
"ca": "En què està especialitzat aquest metge?",
"cs": "Na co se tento lékař specializuje?"
},
"freeform": {
"key": "healthcare:speciality",
"inline": true
},
"multiAnswer": true,
"mappings": [
{
"if": "healthcare:speciality=general",
"then": {
"en": "This is a general practitioner",
"de": "Dies ist ein Allgemeinmediziner",
"nl": "Dit is een huisarts",
"fr": "C'est un médecin généraliste",
"ca": "Açò és un metge generalista",
"cs": "Jedná se o praktického lékaře"
}
},
{
"if": "healthcare:speciality=gynaecology",
"then": {
"en": "This is a gynaecologist",
"de": "Dies ist ein Gynäkologe",
"nl": "Dit is een gynaecoloog",
"fr": "C'est un gynécologue",
"pl": "To jest ginekolog",
"ca": "Açò és un ginecòleg",
"cs": "Tohle je gynekolog"
}
},
{
"if": "healthcare:speciality=psychiatry",
"then": {
"en": "This is a psychiatrist",
"de": "Dies ist ein Psychiater",
"nl": "Dit is een psychiater",
"fr": "C'est un psychiatre",
"pl": "To jest psychiatra",
"ca": "Açò és un psiquiatra",
"cs": "Tohle je psychiatr"
}
},
{
"if": "healthcare:speciality=paediatrics",
"then": {
"en": "This is a paediatrician",
"de": "Dies ist ein Kinderarzt",
"nl": "Dit is een kinderarts",
"fr": "C'est un pédiatre",
"pl": "To jest pediatra",
"ca": "Açò és un pediatre",
"cs": "Tohle je pediatr"
}
}
]
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "move-button",
"render": {
"*": "{move_button()}"
}
},
{
"id": "delete-button",
"render": {
"*": "{delete_button()}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"filter": [
{
"id": "open_now",
"options": [
{
"question": {
"en": "Open now",
"nl": "Nu open",
"de": "Jetzt geöffnet",
"ca": "Obert ara",
"es": "Abierto",
"fr": "Ouvert maintenant",
"hu": "Most nyitva van",
"da": "Åbent nu",
"zh_Hant": "目前開放",
"id": "Saat ini buka",
"it": "Aperto ora",
"pl": "Otwarte teraz",
"cs": "Nyní otevřeno"
},
"osmTags": "_isOpen=yes"
}
]
}
],
"deletion": {},
"allowMove": true,
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "circle",
"color": "white"
},
{
"icon": "./assets/layers/doctors/doctors.svg"
}
]
}

View file

@ -0,0 +1,647 @@
{
"id": "dogpark",
"name": {
"en": "dog parks",
"da": "hundeskove",
"de": "Hundeparks",
"es": "parques de perros",
"nl": "hondenweides",
"ca": "parcs de gossos",
"cs": "psí parky"
},
"description": "A layer showing dogparks, which are areas where dog are allowed to run without a leash",
"source": {
"osmTags": {
"and": [
{
"or": [
"leisure=dog_park",
{
"and": [
"leisure=park",
"dog=unleashed"
]
}
]
}
]
}
},
"minzoom": 10,
"title": {
"render": {
"en": "dog park",
"da": "hundeskov",
"de": "Hundepark",
"es": "parque para perros",
"nl": "hondenweide",
"ca": "parc per a gossos",
"cs": "psí park"
},
"mappings": [
{
"if": "name~*",
"then": {
"*": "{name}"
}
}
]
},
"pointRendering": [
{
"location": [
"point",
"centroid"
],
"iconSize": "40,40",
"label": {
"mappings": [
{
"if": "name~*",
"then": "<div style='background: white; padding: 0.25em; border-radius:0.5em'>{name}</div>"
}
]
},
"anchor": "center",
"marker": [
{
"icon": {
"render": "./assets/layers/dogpark/dog-park.svg",
"id": "assetslayersdogparkdogparksvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"color": "#ff0",
"width": 5
}
],
"presets": [
{
"title": {
"en": "a dog park",
"da": "en hundeskov",
"de": "Ein Hundepark",
"es": "un parque para perros",
"nl": "een hondenweide",
"ca": "un parc per a gossos",
"cs": "psí park"
},
"tags": [
"leisure=dog_park"
],
"description": {
"en": "A place for dogs, where they can run unleashed",
"da": "En hundeskov eller hundeg&aring;rd beregnet til hunde, hvor de kan l&oslash;be uden snor",
"de": "Ein Ort ohne Leinenzwang für Hunde",
"es": "Un lugar para perros, donde pueden correr sin correa",
"nl": "Een plaats waar honden vrij mogen rondlopen",
"ca": "Un lloc per a gossos, on poden correr sense corretja",
"cs": "Místo pro psy, kde mohou volně běhat"
}
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "dogpark-fenced",
"mappings": [
{
"if": "barrier=fence",
"then": {
"en": "This dogpark is fenced all around",
"da": "Denne hundskov er indhegnet",
"de": "Dieser Hundepark ist komplett umzäunt",
"es": "Este parque para perros está cerrado todo alrededor",
"nl": "Deze hondenweide is volledig omheind",
"ca": "Aquest parc per a gossos està tancat per tot arreu",
"cs": "Tento psí park je kolem dokola oplocený"
}
},
{
"if": "barrier=no",
"then": {
"en": "This dogpark is not fenced all around",
"da": "Denne hundskov er ikke indhegnet",
"de": "Dieser Hundepark ist nicht komplett umzäunt",
"es": "Este parque para perros no está cerrado todo alrededor",
"nl": "Deze hondenweide is <strong>niet</strong> volledig omheind",
"ca": "Aquest parc de gossos no està tancat per tot el voltant",
"cs": "Tento psí park není kolem dokola oplocený"
}
}
],
"question": {
"en": "It this dog park fenced in?",
"da": "Er denne hundeskov indhegnet?",
"de": "Ist dieser Hundepark umzäunt?",
"es": "¿Este parque para perros está vallado?",
"nl": "Is deze hondenweide volledig omheind?",
"ca": "Aquest parc de gossos està tancat?",
"cs": "Je tento psí park oplocený?"
}
},
{
"id": "smalldogs",
"mappings": [
{
"if": "small_dog=separate",
"then": {
"en": "Have separate area for puppies and small dogs",
"da": "Har en indhegning til hvalpe og sm&aring; hunde",
"de": "Hat einen separaten Bereich für Hundewelpen und kleine Hunde",
"es": "Tiene un espacio separado para cachorros y perros pequeños",
"nl": "Heeft gescheiden deel voor puppy's en kleine honden",
"ca": "Té un espai separat per a cadells i gossos petits",
"cs": "Má oddělený prostor pro štěňata a malé psy"
}
},
{
"if": "small_dog=shared",
"then": {
"en": "Does <strong>not</strong> have a separate area for puppies and small dogs",
"da": "Har <strong>ikke</strong> en indhegning til hvalpe og sm&aring; hunde",
"de": "Hat <strong>keinen</strong> separaten Bereich für Hundewelpen und kleine Hunde",
"es": "<strong>No</strong> tiene un espacio separado para cachorros y perros pequeños",
"nl": "Heeft <strong>geen</strong> gescheiden deel voor puppy's en kleine honden",
"ca": "<strong>No</strong> té un espai separat per a cadells i gossos petits",
"cs": "<strong>Nemá</strong>oddělený prostor pro štěňata a malé psy"
}
}
],
"question": {
"en": "Does this dog park have a separate fenced in area for small dogs and puppies?",
"da": "Har denne hundeskov et separat indhegnet omr&aring;de for sm&aring; hunde og hvalpe (hvalpeg&aring;rd)?",
"de": "Hat der Hundepark einen separaten Bereich für Hundewelpen und kleine Hunde?",
"es": "¿Este parque para perros tiene una zona separada vallada para perros pequeños y cachorros?",
"nl": "Heeft deze hondenweide een gescheiden en omheind deel voor puppy's en kleine honden?",
"ca": "Aquest parc per a gossos té una zona tancada per a gossos petits i cadells?",
"cs": "Má tento psí park samostatný oplocený areál pro malé psy a štěňata?"
}
},
{
"question": {
"en": "What is the name of this dog park?",
"da": "Hvad hedder denne hundeskov?",
"de": "Wie lautet der Name dieses Hundeparks?",
"es": "¿Cual es el nombre de este parque para perros?",
"nl": "Wat is de naam van deze hondenweide?",
"ca": "Com s'anomena aquest parc per a gossos?",
"cs": "Jak se jmenuje tento psí park?"
},
"render": {
"en": "The name of this dog park is {name}",
"de": "Denne hundeskov hedder {name}",
"es": "El nombre de este parque para perros es {name}",
"nl": "Deze hondenweide heet {name}",
"ca": "Aquest parc per a gossos s'anomena {name}",
"cs": "Název tohoto psího parku je {name}"
},
"freeform": {
"key": "name",
"inline": true
},
"id": "Name"
},
{
"id": "dogarea",
"render": {
"en": "This dogpark is {_surface:ha} ha big",
"da": "Denne hundeskov er på {_surface:ha} hektar",
"de": "Der Hundepark ist {_surface:ha} ha groß",
"es": "Este parque para perros tiene {_surface:ha} ha",
"nl": "Deze hondenweide is {_surface:ha} hectaren groot",
"ca": "Aquest parc per a gossos té {_surface:ha} ha",
"cs": "Tento psí park je {_surface:ha} ha velký"
},
"condition": "_surface:ha!=0"
},
{
"id": "reviews",
"description": "Shows the reviews module (including the possibility to leave a review)",
"render": {
"*": "{create_review()}{list_reviews()}"
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "./assets/layers/dogpark/dog-park.svg"
}
]
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,770 @@
{
"id": "etymology",
"name": {
"en": "Has etymology",
"nl": "Heeft etymology info",
"de": "Objekte mit Namensherkunft",
"fr": "A une étymologie",
"ca": "Té etimologia",
"cs": "Má etymologii"
},
"description": {
"en": "All objects which have an etymology known",
"nl": "Alle lagen met een gelinkt etymology",
"de": "Alle Objekte, die eine bekannte Namensherkunft haben",
"hu": "Minden olyan objektum, amelynél ismert a nevének az eredete",
"fr": "Tous les objets dont létymologie est connue",
"ca": "Tots els objectes que tenen una etimologia coneguda",
"cs": "Všechny objekty, které mají známou etymologii"
},
"source": {
"osmTags": {
"and": [
{
"or": [
"name:etymology:wikidata~*",
"name:etymology~*"
]
}
]
}
},
"calculatedTags": [
"_same_name_ids=closestn(feat)('*', 250, undefined, 3000)?.filter(f => f.feat.properties.name === feat.properties.name)?.map(f => f.feat.properties.id)??[]"
],
"minzoom": 12,
"title": {
"render": {
"*": "{name}"
}
},
"pointRendering": [
{
"iconSize": "40,40",
"location": [
"point"
],
"anchor": "center",
"marker": [
{
"icon": {
"render": "pin",
"id": "pin"
},
"color": {
"render": "#05d7fcaa",
"mappings": [
{
"if": {
"and": [
"name:etymology=",
"name:etymology:wikidata="
]
},
"then": "#fcca05aa"
}
]
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"color": {
"render": "#05d7fcaa",
"mappings": [
{
"if": {
"and": [
"name:etymology=",
"name:etymology:wikidata="
]
},
"then": "#fcca05aa"
}
]
},
"fill": "no",
"width": {
"render": "8",
"mappings": [
{
"if": "_geometry:type=Polygon",
"then": "16"
}
]
}
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "etymology-images-from-wikipedia",
"render": {
"*": "{image_carousel(name:etymology:wikidata)}"
}
},
{
"id": "wikipedia-etymology",
"condition": {
"and": [
"name:etymology!=unknown"
]
},
"question": {
"en": "What is the Wikidata-item that this object is named after?",
"nl": "Wat is het Wikidata-item van hetgeen dit object is naar vernoemd?",
"de": "Was ist das Wikidata-Element, nach dem dieses Objekt benannt ist?",
"fr": "Quel est l'Item Wikidata auquel l'objet fait référence ?",
"cs": "Po jaké položce Wikidat je tento objekt pojmenován?"
},
"freeform": {
"key": "name:etymology:wikidata",
"type": "wikidata",
"helperArgs": [
"name",
{
"notInstanceOf": [
"Q79007",
"Q22698"
],
"removePrefixes": {
"#": "no-translations",
"nl": [
"(basis|lagere |middelbare |secondaire| secundaire)?school"
],
"en": [
"east",
"north",
"northeast",
"northwest",
"south",
"southeast",
"southwest",
"west"
],
"fr": [
"allée (des |de la |de l'|de |du |d')?",
"autoroute (des |de la |de l'|de |du |d')?",
"avenue (des |de la |de l'|de |du |d')?",
"bibliothèque (des |de la |de l'|de |du |d')?",
"boulevard (des |de la |de l'|de |du |d')?",
"centre (culturel |sportif |nautique )?(des |de la |de l'|de |du |d')?",
"chaussée (des |de la |de l'|de |du |d')?",
"chemin (des |de la |de l'|de |du |d')?",
"clos (des |de la |de l'|de |du |d')?",
"collège (privé |public )?(des |de la |de l'|de |du |d')?",
"complexe sportif (des |de la |de l'|de |du |d')?",
"corniche (des |de la |de l'|de |du |d')?",
"cours (des |de la |de l'|de |du |d')?",
"drève (des |de la |de l'|de |du |d')?",
"école (maternelle |primaire |élémentaire |secondaire )?(privée |publique )?(des |de la |de l'|de |du |d')?",
"esplanade (des |de la |de l'|de |du |d')?",
"groupe scolaire (privé |public )?(des |de la |de l'|de |du |d')?",
"gymnase (des |de la |de l'|de |du |d')?",
"impasse (des |de la |de l'|de |du |d')?",
"lotissement (des |de la |de l'|de |du |d')?",
"lycée (privé |public |technologique |professionnel )*(des |de la |de l'|de |du |d')?",
"mail (des |de la |de l'|de |du |d')?",
"médiathèque (des |de la |de l'|de |du |d')?",
"musée (des |de la |de l'|de |du |d')?",
"parc (des |de la |de l'|de |du |d')?",
"passage (des |de la |de l'|de |du |d')?",
"passerelle (des |de la |de l'|de |du |d')?",
"place (des |de la |de l'|de |du |d')?",
"quai (des |de la |de l'|de |du |d')?",
"résidence (des |de la |de l'|de |du |d')?",
"route (des |de la |de l'|de |du |d')?",
"rue (des |de la |de l'|de |du |d')?",
"sente (des |de la |de l'|de |du |d')?",
"sentier (des |de la |de l'|de |du |d')?",
"square (des |de la |de l'|de |du |d')?",
"stade (des |de la |de l'|de |du |d')?",
"villa (des |de la |de l'|de |du |d')?"
]
},
"removePostfixes": {
"#": "no-translations",
"nl": [
"baan",
"boulevard",
"dreef",
"heirbaan",
"kaai",
"kerk",
"laan",
"lei",
"pad",
"park",
"plein",
"ring",
"steenweg",
"straat",
"weg",
"wegel"
],
"fr": [
"parque"
],
"de": [
"straße",
"strasse",
"platz",
"gasse",
"graben",
"grundschule",
"gymnasium",
"platz",
"rain",
"schule",
"(-)?straße",
"(-)?strasse",
"weg"
],
"en": [
"avenue",
"boulevard",
"circle",
"church",
"drive",
"expressway",
"freeway",
"highway",
"lane",
"parkway",
"path",
"plaza",
"road",
"square",
"street",
"terrace",
"trail",
"turnpike"
]
}
}
],
"inline": false
},
"render": {
"en": "<h3>Wikipedia article of the name giver</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}",
"nl": "<h3>Wikipedia-artikel van de naamgever</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}",
"de": "<h3>Wikipedia Artikel zur Namensherkunft</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}",
"fr": "<h3>Article Wikipedia de la référence au nom</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}",
"ca": "<h3> Article de la Viquipèdia del nom donant</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}",
"cs": "<h3>Článek autora jména na Wikipedii</h3>{wikipedia(name:etymology:wikidata):max-height:20rem}"
}
},
{
"id": "zoeken op inventaris onroerend erfgoed",
"render": {
"nl": "<a href='https://inventaris.onroerenderfgoed.be/erfgoedobjecten?tekst={name}' target='_blank'>Zoeken op inventaris onroerend erfgoed</a>",
"en": "<a href='https://inventaris.onroerenderfgoed.be/erfgoedobjecten?tekst={name}' target='_blank'>Search on inventaris onroerend erfgoed</a>",
"de": "<a href='https://inventaris.onroerenderfgoed.be/erfgoedobjecten?tekst={name}' target='_blank'>Suche auf inventaris onroerend erfgoed</a>",
"fr": "<a href='https://inventaris.onroerenderfgoed.be/erfgoedobjecten?tekst={name}' target='_blank'>Chercher sur inventaris onroerend erfgoed</a>",
"cs": "<a href='https://inventaris.onroerenderfgoed.be/erfgoedobjecten?tekst={name}' target='_blank'>Hledání na inventaris onroerend erfgoed</a>"
},
"condition": "_country=be"
},
{
"id": "simple etymology",
"question": {
"en": "What is this object named after?",
"nl": "Naar wat is dit object vernoemd?",
"de": "Wonach ist dieses Objekt benannt?",
"fr": "En référence à quoi cet objet est-il nommé ?",
"pl": "Po czym nazwany jest ten obiekt?",
"cs": "Po čem je tento objekt pojmenován?"
},
"render": {
"en": "Named after {name:etymology}",
"nl": "Vernoemd naar {name:etymology}",
"de": "Benannt nach {name:etymology}",
"da": "Opkaldt efter {name:etymology}",
"fr": "Nommé en référence à {name:etymology}",
"pl": "Nazwane po {name:etymology}",
"cs": "Pojmenováno po {name:etymology}"
},
"freeform": {
"key": "name:etymology",
"inline": true
},
"mappings": [
{
"if": "name:etymology=unknown",
"then": {
"en": "The origin of this name is unknown in all literature",
"nl": "De oorsprong van deze naam is onbekend in de literatuur",
"de": "Der Ursprung dieses Namens ist in der gesamten Literatur unbekannt",
"da": "Oprindelsen af dette navn er ukendt i al litteratur",
"fr": "L'origine de ce nom est inconnu",
"ca": "L'origen d'aquest nom és desconegut en tota la literatura",
"cs": "Původ tohoto jména je neznámý v celé literatuře"
}
}
],
"condition": {
"or": [
"name:etymology~*",
"name:etymology:wikidata="
]
},
"questionHint": {
"en": "This might be written on the street name sign",
"nl": "Dit staat mogelijks vermeld op het straatnaambordje",
"de": "Das könnte auf einem Straßenschild stehen",
"fr": "Cela peut être indiqué sur le panneau de la rue",
"ca": "Això podria estar escrit al cartell del nom del carrer",
"cs": "To může být napsáno na ceduli s názvem ulice"
}
},
{
"id": "questions",
"description": "Show the questions block at this location",
"render": {
"*": "{questions()}"
}
},
{
"id": "street-name-sign-image",
"render": {
"en": "{image_carousel(image:streetsign)}<br/>{image_upload(image:streetsign, Add image of a street name sign)}",
"nl": "{image_carousel(image:streetsign)}<br/>{image_upload(image:streetsign, Voeg afbeelding van straatnaambordje toe)}",
"de": "{image_carousel(image:streetsign)}<br/>{image_upload(image:streetsign, Bild eines Straßenschildes hinzufügen)}",
"fr": "{image_carousel(image:streetsign)}<br/>{image_upload(image:streetsign, Ajouter une photo de la plaque de rue)}",
"ca": "{image_carousel(image:streetsign)}<br/>{image_upload(image:streetsign, Afegeix una imatge de la placa amb el nom del carrer)}",
"cs": "{image_carousel(image:streetsign)}<br/>{image_upload(image:streetsign, Add image of a street name sign)}"
}
},
{
"id": "minimap",
"render": {
"*": "{minimap(18, id, _same_name_ids):height:10rem}"
}
},
{
"id": "etymology_multi_apply",
"render": {
"en": "{multi_apply(_same_name_ids, name:etymology:wikidata;name:etymology, Auto-applying data on all segments with the same name, true)}",
"nl": "{multi_apply(_same_name_ids, name:etymology:wikidata;name:etymology, Wijzigingen worden automatisch gedaan op alle segmenten met dezelfde naam, true)}",
"de": "{multi_apply(_same_name_ids, name:etymology:wikidata;name:etymology, Automatische Datenübernahme auf alle Segmente mit demselben Namen, true)}",
"fr": "{multi_apply(_same_name_ids, name:etymology:wikidata;name:etymology, Appliquer automatiquement aux segments avec le même nom, true)}",
"ca": "{multi_apply(_same_name_ids, name:etymology:wikidata;name:etimology, aplicació automàtica de dades a tots els segments amb el mateix nom, vertader)}",
"cs": "{multi_apply(_same_name_ids, name:etymology:wikidata;name:etymology, Auto-applying data on all segments with the same name, true)}"
}
},
{
"id": "wikipedia",
"#": "Note that this is a _read_only_ option, to prevent people entering a 'wikidata'-link instead of 'name:etymology:wikidata'",
"render": {
"en": "A Wikipedia article about this <b>street</b> exists:<br/>{wikipedia():max-height:25rem}",
"nl": "Een Wikipedia artikel over deze <b>straat</b> bestaat:<br/>{wikipedia():max-height:25rem}",
"de": "Zu dieser <b>Straße</b> existiert ein Wikipedia-Artikel:<br/>{wikipedia():max-height:25rem}",
"fr": "Un article Wikipédia à propos de cette <b>rue</b> existe :<br/>{wikipedia():max-height:25rem}",
"pl": "Istnieje artykuł Wikipedii na temat tej <b>ulicy</b>:<br/>{wikipedia():max-height:25rem}",
"ca": "Existeix un article de la Viquipèdia sobre aquest <b>carrer</b>:<br/>{wikipedia():max-height:25rem}",
"cs": "Článek na Wikipedii o této <b>ulici</b> existuje:<br/>{wikipedia():max-height:25rem}"
},
"condition": "wikidata~*"
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"#": "A layer showing all objects having etymology info (either via `name:etymology:wikidata` or `name:etymology`. The intention is that this layer is reused for a certain category to also _ask_ for information",
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "pin",
"color": "#fcca05aa"
}
]
}

View file

@ -0,0 +1,611 @@
{
"id": "extinguisher",
"name": {
"en": "Map of fire extinguishers",
"ja": "消火器の地図です。",
"nb_NO": "Kart over brannhydranter",
"ru": "Карта огнетушителей.",
"fr": "Couche des extincteurs",
"de": "Feuerlöscher",
"it": "Cartina degli estintori.",
"nl": "Kaart van brandblussers",
"es": "Mapa de extintores",
"ca": "Mapa d'extintors",
"pl": "Mapa gaśnic",
"cs": "Mapa hasicích přístrojů"
},
"description": {
"en": "Map layer to show fire extinguishers.",
"ja": "消火栓を表示するマップレイヤ。",
"zh_Hant": "顯示消防栓的地圖圖層。",
"nb_NO": "Kartlag for å vise brannslokkere.",
"ru": "Слой карты, отображающий огнетушители.",
"fr": "Couche des lances à incendie.",
"de": "Kartenebene zur Anzeige von Hydranten.",
"it": "Livello della mappa che mostra gli idranti antincendio.",
"nl": "Kaartlaag met brandblussers.",
"da": "Kortlag til visning af ildslukkere.",
"es": "Capa del mapa que muestra extintores.",
"ca": "Capa que mostra extintors.",
"pl": "Warstwa mapy pokazująca gaśnice.",
"cs": "Mapová vrstva pro zobrazení hasicích přístrojů."
},
"source": {
"osmTags": {
"and": [
"emergency=fire_extinguisher"
]
}
},
"minzoom": 14,
"title": {
"render": {
"en": "Extinguishers",
"ru": "Огнетушители",
"ja": "消火器",
"nb_NO": "Brannslokkere",
"fr": "Exctincteurs",
"de": "Feuerlöscher",
"it": "Estintori",
"nl": "Brandblussers",
"ca": "Extintors",
"es": "Extintores",
"pl": "Gaśnice",
"cs": "Hasicí přístroje"
}
},
"pointRendering": [
{
"iconSize": "20,20",
"location": [
"point",
"centroid"
],
"anchor": "center",
"marker": [
{
"icon": {
"render": "./assets/themes/hailhydrant/Twemoji12_1f9ef.svg",
"id": "assetsthemeshailhydrantTwemoji121f9efsvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [],
"presets": [
{
"tags": [
"emergency=fire_extinguisher"
],
"title": {
"en": "a fire extinguisher",
"ja": "消火器",
"nb_NO": "en brannslukker",
"ru": "огнетушитель",
"fr": "une extincteur",
"de": "einen Feuerlöscher",
"it": "una estintore",
"nl": "een brandblusser",
"da": "en ildslukker",
"es": "un extintor",
"ca": "un extintor",
"pl": "gaśnica",
"cs": "hasicí přístroj"
},
"description": {
"en": "A fire extinguisher is a small, portable device used to stop a fire",
"ja": "消火器は、火災を止めるために使用される小型で携帯可能な装置である",
"ru": "Огнетушитель - небольшое переносное устройство для тушения огня",
"fr": "Un extincteur est un appareil portatif servant à éteindre un feu",
"de": "Ein Feuerlöscher ist ein kleines, tragbares Gerät, das dazu dient, ein Feuer zu löschen",
"it": "Un estintore è un dispositivo portatile di piccole dimensioni usato per spegnere un incendio",
"nl": "Een brandblusser is een klein, draagbaar apparaat om een brand te blussen",
"da": "En ildslukker er en lille, bærbar beholder, der bruges til at stoppe en brand",
"es": "Un extintor es un dispositivo pequeño y portátil utilizado para parar un fuego",
"ca": "Un extintor és un dispositiu petit i portàtil utilitzat per a para un foc",
"pl": "Gaśnica to małe, przenośne urządzenie do gaszenia ognia",
"cs": "Hasicí přístroj je malé přenosné zařízení používané k zastavení požáru"
}
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "extinguisher-location",
"render": {
"en": "Location: {location}",
"ja": "場所:{location}",
"ru": "Местоположение: {location}",
"fr": "Emplacement : {location}",
"de": "Standort: {location}",
"eo": "Loko: {location}",
"it": "Posizione: {location}",
"nl": "Locatie: {location}",
"es": "Localización: {location}",
"ca": "Ubicació: {location}",
"pl": "Lokalizacja: {location}",
"cs": "Místo: {location}"
},
"question": {
"en": "Where is it positioned?",
"ja": "どこにあるんですか?",
"ru": "Где это расположено?",
"fr": "Où est-elle positionnée ?",
"de": "Wo befindet er sich?",
"it": "Dove è posizionato?",
"nl": "Op welke locatie staat dit?",
"da": "Hvor er den placeret?",
"es": "¿Dónde se encuentra?",
"ca": "On està situat?",
"pl": "Gdzie się znajduje?",
"cs": "Kde je umístěn?"
},
"mappings": [
{
"if": {
"and": [
"location=indoor"
]
},
"then": {
"en": "Found indoors.",
"ja": "屋内にある。",
"ru": "Внутри.",
"fr": "Intérieur.",
"de": "Im Innenraum vorhanden.",
"it": "Si trova allinterno.",
"nl": "In een gebouw.",
"da": "Findes indendørs.",
"es": "Se encuentra en el interior.",
"ca": "Es troba a l'interior.",
"pl": "Znajduje się wewnątrz budynku.",
"cs": "Nalezen uvnitř."
}
},
{
"if": {
"and": [
"location=outdoor"
]
},
"then": {
"en": "Found outdoors.",
"ja": "屋外にある。",
"ru": "Снаружи.",
"fr": "Extérieur.",
"de": "Im Außenraum vorhanden.",
"it": "Si trova allesterno.",
"nl": "In open lucht.",
"da": "Findes udendørs.",
"es": "Se encuentra en el exterior.",
"ca": "Es troba a l'aire lliure.",
"pl": "Znajduje się na dworze.",
"cs": "Nalezeno venku."
}
}
],
"freeform": {
"key": "location",
"inline": true
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "./assets/themes/hailhydrant/Twemoji12_1f9ef.svg"
}
]
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,649 @@
{
"id": "filters",
"description": "This layer acts as library for common filters",
"source": "special:library",
"pointRendering": null,
"lineRendering": null,
"filter": [
{
"id": "open_now",
"options": [
{
"question": {
"en": "Open now",
"nl": "Nu open",
"de": "Jetzt geöffnet",
"ca": "Obert ara",
"es": "Abierto",
"fr": "Ouvert maintenant",
"hu": "Most nyitva van",
"da": "Åbent nu",
"zh_Hant": "目前開放",
"id": "Saat ini buka",
"it": "Aperto ora",
"pl": "Otwarte teraz",
"cs": "Nyní otevřeno"
},
"osmTags": "_isOpen=yes"
}
]
},
{
"id": "accepts_cash",
"options": [
{
"osmTags": "payment:cash=yes",
"question": {
"en": "Accepts cash",
"de": "Akzeptiert Barzahlung",
"nl": "Accepteert cash",
"es": "Acepta efectivo",
"fr": "Accepte les espèces",
"pl": "Przyjmuje gotówkę",
"ca": "Accepta efectu",
"cs": "Přijímá hotovost"
}
}
]
},
{
"id": "accepts_cards",
"options": [
{
"osmTags": "payment:cards=yes",
"question": {
"en": "Accepts payment cards",
"de": "Akzeptiert Kartenzahlung",
"nl": "Accepteert betaalkaarten",
"es": "Acepta el pago por tarjeta",
"fr": "Accepte les cartes de paiement",
"pl": "Przyjmuje karty płatnicze",
"ca": "Accepta el pagament amb targeta",
"cs": "Přijímá platební karty"
}
}
]
},
{
"id": "accepts_debit_cards",
"options": [
{
"osmTags": "payment:debit_cards=yes",
"question": {
"en": "Accepts debit cards",
"de": "Akzeptiert Debitkarten",
"pl": "Przyjmuje karty debetowe",
"ca": "Accepta targetes de dèbit",
"cs": "Přijímá debetní karty"
}
}
]
},
{
"id": "accepts_credit_cards",
"options": [
{
"osmTags": "payment:credit_cards=yes",
"question": {
"en": "Accepts credit cards",
"de": "Akzeptiert Kreditkarten",
"pl": "Przyjmuje karty kredytowe",
"ca": "Accepta targetes de crèdit",
"cs": "Přijímá kreditní karty"
}
}
]
},
{
"id": "has_image",
"options": [
{
"question": {
"en": "With and without images",
"nl": "Met en zonder afbeelding",
"de": "Mit und ohne Bild",
"pl": "Z oraz bez zdjęć",
"ca": "Amb i sense imatges",
"cs": "S obrázky i bez nich"
}
},
{
"question": {
"en": "Has at least one image",
"de": "Hat mindestens ein Bild",
"nl": "Heeft minstens één afbeelding",
"pl": "Ma co najmniej jedno zdjęcie",
"ca": "Té com a mínim una imatge",
"cs": "Má alespoň jeden obrázek"
},
"osmTags": {
"or": [
"image~*",
"image:0~*",
"image:1~*",
"image:2~*",
"image:3~*",
"mapillary~*"
]
}
},
{
"question": {
"en": "Probably does not have an image",
"de": "Hat wahrscheinlich kein Bild",
"nl": "Heeft waarschijnlijk geen afbeelding",
"pl": "Prawdopodobnie nie ma zdjęcia",
"ca": "Probablement no té una imatge",
"cs": "Pravděpodobně nemá obrázek"
},
"osmTags": {
"and": [
"image=",
"image:0=",
"image:1=",
"image:2=",
"image:3=",
"mapillary="
]
}
}
]
},
{
"id": "tactile_paving",
"options": [
{
"question": {
"en": "With tactile paving",
"de": "Mit taktilem Pflaster",
"fr": "Avec revêtement podotactile",
"nl": "Met voelbare bestrating",
"pl": "Z wypustkami dla niewidomych",
"ca": "Amb superfícies podotàctils",
"cs": "S hmatovou dlažbou"
},
"osmTags": "tactile_paving=yes"
}
]
},
{
"id": "tactile_paving_advanced",
"#": "ignore-possible-duplicate",
"options": [
{
"question": {
"en": "With or without tactile paving",
"de": "Mit oder ohne taktiles Pflaster",
"fr": "Avec ou sans revêtement podotactile",
"nl": "Met of zonder voelbare bestrating",
"pl": "Z lub bez wypustek dla niewidomych",
"ca": "Amb o sense superfícies podotàctils",
"cs": "S nebo bez hmatové dlažby"
}
},
{
"question": {
"en": "With tactile paving",
"de": "Mit taktilem Pflaster",
"fr": "Avec revêtement podotactile",
"nl": "Met voelbare bestrating",
"pl": "Z wypustkami dla niewidomych",
"ca": "Amb paviments superfícies podotàctils",
"cs": "S hmatovou dlažbou"
},
"osmTags": "tactile_paving=yes"
},
{
"question": {
"en": "Without tactile paving",
"de": "Ohne taktiles Pflaster",
"fr": "Sans revêtement podotactile",
"nl": "Zonder voelbare bestrating",
"pl": "Bez wypustek dla niewidomych",
"ca": "Sense superfície podotàctil",
"cs": "Bez hmatové dlažby"
},
"osmTags": "tactile_paving=no"
},
{
"osmTags": "tactile_paving=",
"question": {
"en": "No information about tactile paving",
"de": "Keine Informationen über taktiles Pflaster",
"fr": "Sans information sur le revêtement podotactile",
"nl": "Geen informatie over voelbare bestrating",
"pl": "Brak informacji o wypustkach dla niewidomych",
"ca": "No hi ha informació sobre superfícies podotàctils",
"cs": "Žádné informace o hmatové dlažbě"
}
}
]
},
{
"id": "has_organic",
"options": [
{
"osmTags": {
"or": [
"organic=yes",
"organic=only"
]
},
"question": {
"en": "Has organic options",
"de": "Bio-Produkte im Angebot",
"nl": "Heeft biologische opties",
"ca": "Té opcions orgàniques",
"cs": "Má bio možnosti"
}
}
]
},
{
"id": "free",
"options": [
{
"question": {
"en": "Free to use",
"nl": "Gratis toegankelijk",
"de": "Nutzung kostenlos",
"fr": "Utilisation gratuite",
"da": "Gratis at bruge",
"ca": "Ús gratuït",
"cs": "Použití zdarma"
},
"osmTags": {
"or": [
"fee=no",
"fee=0",
"charge=0"
]
}
}
]
},
{
"id": "dogs",
"options": [
{
"question": {
"en": "No preference towards dogs",
"de": "Keine Bevorzugung von Hunden",
"cs": "Bez preference psů"
}
},
{
"question": {
"en": "Dogs allowed",
"de": "Hunde erlaubt",
"cs": "Psi povoleny"
},
"osmTags": {
"or": [
"dog=unleashed",
"dog=yes"
]
}
},
{
"question": {
"en": "No dogs allowed",
"de": "Keine Hunde erlaubt",
"cs": "Psi nejsou povoleni"
},
"osmTags": "dog=no"
}
]
},
{
"id": "has_internet",
"options": [
{
"question": {
"en": "Offers internet",
"de": "Internetzugang vorhanden",
"cs": "Nabízí internet"
},
"osmTags": {
"or": [
"internet_access=wlan",
"internet_access=yes",
"internet_access=wired"
]
}
}
]
},
{
"id": "has_electricity",
"options": [
{
"question": {
"en": "Offers electricity",
"de": "Stromanschluss vorhanden",
"cs": "Nabízí elektřinu"
},
"osmTags": "service:electricity=yes"
}
]
},
{
"id": "sugar_free",
"options": [
{
"question": {
"en": "Has a sugar-free offering",
"cs": "Má nabídku bez cukru",
"de": "Hat zuckerfreie Angebote"
},
"osmTags": {
"or": [
"diet:sugar_free=yes",
"diet:sugar_free=only",
"diet:sugar_free=limited"
]
}
}
]
},
{
"id": "gluten_free",
"options": [
{
"question": {
"en": "Has a gluten free offering",
"cs": "Má bezlepkovou nabídku",
"de": "Hat glutenfreie Angebote"
},
"osmTags": {
"or": [
"diet:gluten_free=yes",
"diet:gluten_free=only",
"diet:gluten_free=limited"
]
}
}
]
},
{
"id": "lactose_free",
"options": [
{
"question": {
"en": "Has a lactose free offering",
"cs": "Má nabídku bez laktózy",
"de": "Hat laktosefreie Angebote"
},
"osmTags": {
"or": [
"diet:lactose_free=yes",
"diet:lactose_free=only",
"diet:lactose_free=limited"
]
}
}
]
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": []
}

View file

@ -0,0 +1,764 @@
{
"id": "fire_station",
"name": {
"en": "Map of fire stations",
"ja": "消防署の地図",
"nb_NO": "Kart over brannstasjoner",
"it": "Mappa delle caserme dei vigili del fuoco",
"ru": "Карта пожарных частей",
"fr": "Couche des stations de pompiers",
"de": "Feuerwachen",
"nl": "Kaart van de brandweerstations",
"es": "Mapa de parques de bomberos",
"ca": "Mapa de parcs de bombers",
"cs": "Mapa požárních stanic"
},
"description": {
"en": "Map layer to show fire stations.",
"ja": "消防署を表示するためのマップレイヤ。",
"it": "Livello che mostra le caserme dei vigili del fuoco.",
"ru": "Слой карты, отображающий пожарные части.",
"fr": "Couche des stations de pompiers.",
"de": "Kartenebene zur Darstellung von Feuerwachen.",
"nl": "Kaartlaag die de brandweerstations toont.",
"es": "Capa del mapa que muestra parques de bomberos.",
"ca": "Capa del mapa que mostra els parcs de bombers.",
"cs": "Vrstva mapy zobrazující požární stanice."
},
"source": {
"osmTags": {
"and": [
"amenity=fire_station"
]
}
},
"minzoom": 12,
"title": {
"render": {
"en": "Fire Station",
"ja": "消防署",
"ru": "Пожарная часть",
"nb_NO": "Brannstasjon",
"it": "Caserma dei vigili del fuoco",
"fr": "Station de pompiers",
"de": "Feuerwache",
"nl": "Brandweerstation",
"es": "Parque de bomberos",
"ca": "Parc de bombers",
"cs": "Hasičská stanice"
}
},
"pointRendering": [
{
"iconSize": "35,35",
"location": [
"point",
"centroid"
],
"anchor": "center",
"marker": [
{
"icon": {
"render": "./assets/themes/hailhydrant/Twemoji12_1f692.svg",
"id": "assetsthemeshailhydrantTwemoji121f692svg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"color": "#c22",
"width": "1"
}
],
"presets": [
{
"tags": [
"amenity=fire_station"
],
"title": {
"en": "a fire station",
"ja": "消防署",
"ru": "пожарная часть",
"fr": "une caserne de pompiers",
"de": "eine Feuerwache",
"it": "una caserma dei vigili del fuoco",
"nb_NO": "en brannstasjon",
"nl": "een brandweerstation",
"es": "un parque de bomberos",
"ca": "un parc de bombers",
"cs": "požární stanice"
},
"description": {
"en": "A fire station is a place where the fire trucks and firefighters are located when not in operation.",
"ja": "消防署は、運転していないときに消防車や消防士がいる場所です。",
"fr": "Une caserne de pompiers est un lieu où les pompiers et leur équipements sont situés en dehors des missions.",
"de": "Eine Feuerwache ist ein Ort, an dem Feuerwehrfahrzeuge und Feuerwehrleute untergebracht sind, wenn sie nicht im Einsatz sind.",
"it": "Una caserma dei pompieri è un luogo dove si trovano i mezzi antincendio e i pompieri tra una missione e laltra.",
"nl": "Een brandweerstation is een plaats waar brandweerwagens en brandweerlieden gebaseerd zijn.",
"es": "Un parque de bomberos es donde los bomberos y los camiones de incendios se encuentran cuando no están en uso.",
"ca": "Un parc de bombers és on els bombers i els camions es troben quan no estan en ús.",
"cs": "Hasičská zbrojnice je místo, kde se nacházejí hasičská vozidla a hasiči."
}
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "station-name",
"freeform": {
"key": "name",
"inline": true
},
"question": {
"en": "What is the name of this fire station?",
"ja": "この消防署の名前は何ですか?",
"ru": "Как называется эта пожарная часть?",
"it": "Come si chiama questa caserma dei vigili del fuoco?",
"fr": "Quel est le nom de la station ?",
"de": "Wie ist der Name der Feuerwache?",
"nl": "Wat is de naam van dit brandweerstation?",
"es": "¿Cual es el nombre de este parque de bomberos?",
"ca": "Quin és el nom d'aquest parc de bombers?",
"cs": "Jak se jmenuje tato požární stanice?"
},
"render": {
"en": "This station is called {name}.",
"ja": "このステーションの名前は{name}です。",
"it": "Questa caserma si chiama {name}.",
"ru": "Эта часть называется {name}.",
"fr": "Cette station sappelle {name}.",
"nb_NO": "Denne stasjonen heter {name}.",
"nl": "Dit station heet {name}.",
"de": "Der Name der Feuerwache ist {name}.",
"es": "Este parque de bomberos se llama {name}.",
"ca": "Aquest parc de bombers es diu {name}.",
"cs": "Tato stanice se jmenuje {name}."
}
},
{
"id": "station-street",
"freeform": {
"key": "addr:street",
"inline": true
},
"question": {
"en": " What is the street name where the station located?",
"ja": " 救急ステーションの所在地はどこですか?",
"it": " Qual è il nome della via in cui si trova la caserma?",
"ru": " По какому адресу расположена эта часть?",
"fr": " Quel est le nom de la rue dans lequel elle se situe ?",
"nl": " Aan welke straat ligt dit station?",
"de": " In welcher Straße ist die Feuerwache?",
"ca": " Quin és el nom del carrer on es troba aquesta estació?",
"cs": " Jak se jmenuje ulice, kde se stanice nachází?"
},
"render": {
"en": "This station is along a highway called {addr:street}.",
"ja": "{addr:street} 沿いにあります。",
"ru": "Часть расположена вдоль шоссе {addr:street}.",
"fr": "La station fait partie de la {addr:street}.",
"it": "La stazione si trova in una strada chiamata {addr:street}.",
"nl": "Dit station ligt aan {addr:street}.",
"de": "Die Feuerwache liegt an der Straße namens {addr:street}.",
"ca": "Aquesta estació es troba al llarg d'una carretera anomenada {addr:street}.",
"cs": "Tato stanice je podél dálnice s názvem {addr:street}."
}
},
{
"id": "station-place",
"question": {
"en": "Where is the station located? (e.g. name of neighborhood, villlage, or town)",
"ja": "このステーションの住所は?(例: 地区、村、または町の名称)",
"ru": "Где расположена часть? (напр., название населённого пункта)",
"fr": "Dans quelle localité la station est-elle située (p.ex. nom du quartier, village ou ville) ?",
"it": "In che località si trova la stazione? (ad es. quartiere, paese o città)",
"nl": "Waar is dit station gelegen? (v.b. naam van de buurt, dorp of stad)",
"de": "Wo befindet sich die Station? (z. B. Name des Viertels, des Dorfes oder der Stadt)",
"ca": "On es troba aquesta estació? (p.e. nom del barri, poble o ciutat)",
"cs": "Kde se stanice nachází? (např. název čtvrti, obce nebo města)"
},
"freeform": {
"key": "addr:place",
"inline": true
},
"render": {
"en": "This station is found within {addr:place}.",
"ja": "このステーションは{addr:place}にあります。",
"ru": "Эта часть расположена в {addr:place}.",
"fr": "La station fait partie de {addr:place}.",
"it": "La stazione si trova a {addr:place}.",
"nl": "Dit station ligt in {addr:place}.",
"de": "Diese Station befindet sich innerhalb von {addr:place}.",
"ca": "Aquesta estació es troba dins de {addr:place}.",
"cs": "Tato stanice se nachází v {addr:place}."
}
},
{
"id": "station-agency",
"question": {
"en": "What agency operates this station?",
"ja": "このステーションを運営しているのはどこですか?",
"fr": "Quel est lexploitant de la station ?",
"it": "Quale agenzia gestisce questa stazione?",
"nl": "Welk agentschap beheert dit station?",
"de": "Welche Organisation betreibt diese Station?",
"es": "¿Que agencia opera este parque?",
"ca": "Quina agència opera aquesta estació?",
"cs": "Jaká agentura provozuje tuto stanici?"
},
"render": {
"en": "This station is operated by {operator}.",
"ja": "このステーションは{operator}によって運営されています。",
"fr": "Cette station est opérée par {operator}.",
"it": "Questa stazione è gestita da {operator}.",
"nl": "Dit station wordt beheerd door {operator}.",
"de": "Diese Station wird betrieben von {operator}.",
"es": "Este parque lo opera {operator}.",
"ca": "{operator} opera aquest parc.",
"cs": "Tuto stanici provozuje společnost {operator}."
},
"freeform": {
"key": "operator",
"inline": true
},
"mappings": [
{
"if": {
"and": [
"operator=Bureau of Fire Protection",
"operator:type=government"
]
},
"then": {
"en": "Bureau of Fire Protection",
"ja": "消防局(消防庁)",
"fr": "Brigade de Protection du Feu",
"de": "Brandschutzbehörde",
"it": "Servizio antincendio governativo",
"nl": "Brandveiligheidsbureau",
"ca": "Bureau of Fire Protection (Filipines)",
"cs": "Úřad požární ochrany"
}
}
]
},
{
"id": "station-operator",
"question": {
"en": "How is the station operator classified?",
"ja": "ステーションの運営の分類は?",
"fr": "Quel est le type dexploitant ?",
"it": "Comè classificato il gestore di questa stazione?",
"nl": "Wat voor soort beheerder beheert dit station?",
"de": "Wie kann der Betreiber der Feuerwache eingestuft werden?",
"ca": "Com es classifica l'operador de l'estació?",
"cs": "Jak je klasifikován provozovatel stanice?"
},
"render": {
"en": "The operator is a(n) {operator:type} entity.",
"ja": "運営者は、{operator:type} です。",
"fr": "Lexploitant est de type {operator:type}.",
"it": "Il gestore è un ente {operator:type}.",
"nl": "De beheerder is een organisatie van type {operator:type} .",
"de": "Der Betreiber ist {operator:type}.",
"ca": "Aquest operador és una entitat {operator:type}.",
"cs": "Provozovatel je {operator:type} subjekt."
},
"freeform": {
"key": "operator:type",
"inline": true
},
"mappings": [
{
"if": {
"and": [
"operator:type=government"
]
},
"then": {
"en": "The station is operated by the government.",
"ja": "ステーションは自治体が運営する。",
"fr": "La station est opérée par le gouvernement.",
"it": "Questa stazione è gestita dal governo.",
"nb_NO": "Stasjonen drives av myndighetene.",
"nl": "Dit station wordt beheerd door de overheid.",
"de": "Die Station wird von einer Behörde betrieben.",
"es": "Este parque de bomberos lo opera el gobierno.",
"ca": "Aquest parc l'opera el govern.",
"cs": "Provozovatelem stanice je vláda."
}
},
{
"if": {
"and": [
"operator:type=community"
]
},
"then": {
"en": "The station is operated by a community-based, or informal organization.",
"ja": "任意団体やコミュニティが運営しているステーションである。",
"fr": "La station est opérée par une organisation informelle.",
"it": "Questa stazione è gestita dalla comunità oppure unassociazione informale.",
"nl": "Dit station wordt beheerd door een informele of gemeenschapsorganisatie.",
"de": "Die Feuerwache wird von einer gemeinnützigen Organisation betrieben.",
"ca": "Aquesta estació l'opera una comunitat o organització informal.",
"cs": "Provozovatelem stanice je komunitní nebo neformální organizace."
}
},
{
"if": {
"and": [
"operator:type=ngo"
]
},
"then": {
"en": "The station is operated by a formal group of volunteers.",
"ja": "公益団体が運営しているステーションである。",
"fr": "La station est opérée par un groupe officiel de bénévoles.",
"it": "Questa stazione è gestita da un gruppo di volontari ufficiale.",
"nl": "Dit station wordt beheerd door een formele groep vrijwilligers.",
"de": "Die Feuerwache wird von einer Freiwilligenorganisation betrieben.",
"ca": "Aquest operació l'opera un grup formal de voluntaris.",
"cs": "Stanice je provozována formální skupinou dobrovolníků."
}
},
{
"if": {
"and": [
"operator:type=private"
]
},
"then": {
"en": "The station is privately operated.",
"ja": "個人が運営しているステーションである。",
"fr": "La station est opérée par un groupe privé.",
"it": "Questa stazione è gestita da privati.",
"nl": "Dit station wordt door private organisatie beheerd.",
"de": "Die Feuerwache wird von einer privaten Organisation betrieben.",
"ca": "Aquesta estació l'opera una entitat privada.",
"cs": "Stanice je provozována soukromě."
}
}
]
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "./assets/themes/hailhydrant/Twemoji12_1f692.svg"
}
]
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,514 @@
{
"id": "fixme",
"name": {
"en": "OSM objects with FIXME tags",
"de": "OSM-Objekte mit FIXME-Tags",
"pl": "Obiekty OSM z znacznikami FIXME",
"ca": "Objectes d'OSM amb etiquetes FIXME",
"cs": "Objekty OSM se značkami FIXME"
},
"description": {
"en": "OSM objects that likely need to be fixed, based on a FIXME tag.",
"de": "OSM-Objekte, die wahrscheinlich korrigiert werden müssen, basierend auf einem FIXME-Tag.",
"ca": "Objectes OSM que probablement s'han de solucionar, basats en una etiqueta FIXME.",
"cs": "Objekty OSM, které je pravděpodobně nutné opravit na základě značky FIXME."
},
"source": {
"osmTags": {
"and": [
{
"or": [
"fixme~*",
"FIXME~*"
]
}
]
}
},
"minzoom": 16,
"title": {
"render": {
"en": "OSM object with FIXME tag",
"de": "OSM-Objekt mit FIXME-Tags",
"pl": "Obiekt OSM z znacznikiem FIXME",
"ca": "Objecte OSM amb etiqueta FIXME",
"cs": "Objekt OSM s tagem FIXME"
}
},
"pointRendering": [
{
"location": [
"centroid",
"point"
],
"label": "<div class='bg-white rounded p-2'>{fixme}</div>",
"marker": [
{
"icon": {
"render": "./assets/svg/bug.svg",
"id": "assetssvgbugsvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"color": "#ff0000",
"dashArray": "5,5",
"width": 2
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "fixme",
"freeform": {
"key": "fixme",
"type": "text",
"inline": true
},
"question": {
"en": "What is wrong with this feature?",
"de": "Was stimmt mit diesem Objekt nicht?",
"pl": "Co jest nie tak z tym obiektem?",
"ca": "Que hi ha mal amb aquest element?",
"cs": "Co je na této funkci špatného?"
},
"mappings": [
{
"if": "fixme=",
"then": {
"en": "This issue has been resolved",
"de": "Dieses Problem wurde behoben",
"pl": "Ten problem został rozwiązany",
"ca": "Aquest problema s'ha resolt",
"cs": "Tento problém byl vyřešen"
}
}
],
"render": {
"en": "Fixme Text: {fixme}",
"de": "Fixme Text: {fixme}",
"ca": "Text Fixme: {fixme}",
"cs": "Fixme Text: {fixme}"
}
},
{
"id": "note",
"condition": "note~*",
"render": {
"en": "Note Text: {note}",
"de": "Notiz Text: {note}",
"fr": "Texte de la note : {note}",
"pl": "Tekst notatki: {note}",
"ca": "Text de la nota: {note}",
"cs": "Text poznámky: {note}"
}
},
{
"id": "all_tags",
"description": "Shows a table with all the tags of the feature",
"render": {
"*": "{all_tags()}"
}
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
}
],
"syncSelection": "theme-only",
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "./assets/svg/bug.svg"
}
]
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,904 @@
{
"id": "food_courts",
"name": {
"en": "Food Courts"
},
"description": {
"en": "Food courts with a variety of food options."
},
"source": {
"osmTags": {
"and": [
"amenity=food_court"
]
}
},
"minzoom": 12,
"title": {
"render": {
"en": "Food Court"
},
"mappings": [
{
"if": "name~*",
"then": "{name}"
}
]
},
"pointRendering": [
{
"location": [
"point",
"centroid"
],
"marker": [
{
"icon": {
"render": "./assets/layers/food_courts/food_court.svg",
"id": "assetslayersfoodcourtsfoodcourtsvg"
}
}
],
"label": {
"mappings": [
{
"if": "name~*",
"then": "<div style='background: white; padding: 0.25em; border-radius:0.5em'>{name}</div>"
}
]
},
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"color": "#C77400",
"fillColor": "#C774004D"
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "name",
"question": {
"en": "What is the name of this food court?"
},
"freeform": {
"key": "name",
"type": "string",
"placeholder": {
"en": "Name of the food court"
},
"inline": true
},
"render": {
"en": "This food court is called <b>{name}</b>."
}
},
{
"id": "reviews",
"description": "Shows the reviews module (including the possibility to leave a review)",
"render": {
"*": "{create_review()}{list_reviews()}"
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "opening_hours",
"question": {
"en": "What are the opening hours of {title()}?",
"fr": "Quelles sont les horaires d'ouverture de {title()} ?",
"de": "Wie lauten die Öffnungszeiten von {title()}?",
"nl": "Wat zijn de openingstijden van {title()}?",
"nb_NO": "Hva er åpningstidene for {title()})",
"ru": "Какое время работы у {title()}?",
"zh_Hant": "{title()} 的開放時間是什麼?",
"it": "Quali sono gli orari di apertura di {title()}?",
"pt_BR": "Qual o horário de funcionamento de {title()}?",
"pl": "Jakie są godziny otwarcia {title()}?",
"sv": "Vilka är öppettiderna för {title()}?",
"pt": "Qual é o horário de funcionamento de {title()}?",
"hu": "Mikor van nyitva ez: {title()}?",
"ca": "Quin és l'horari d'obertura de {title()}?",
"ja": "{title()}の営業時間は?",
"sl": "Kakšen odpiralni čas ima {title()}?",
"fil": "Anong oras nagbubukas ang {title()}?",
"es": "¿Cuales son las horas de apertura de {title()}?",
"zh_Hans": "{title()} 的开放时间为何?",
"da": "Hvad er åbningstiderne for {title()}?",
"id": "Kapan jam buka {title()}?",
"cs": "Jaká je otevírací doba {title()}?"
},
"render": {
"de": "<h3>Öffnungszeiten</h3>{opening_hours_table(opening_hours)}",
"fr": "<h3>Horaires d'ouverture</h3>{opening_hours_table(opening_hours)}",
"en": "<h3>Opening hours</h3>{opening_hours_table(opening_hours)}",
"nl": "<h3>Openingstijden</h3>{opening_hours_table(opening_hours)}",
"nb_NO": "<h3>Åpningstider</h3>{opening_hours_table(opening_hours)}",
"ru": "<h3>Часы работы</h3>{opening_hours_table(opening_hours)}",
"zh_Hant": "<h3>開放時間</h3>{opening_hours_table(opening_hours)}",
"it": "<h3>Orari di apertura</h3>{opening_hours_table(opening_hours)}",
"pl": "<h3> Godziny otwarcia</h3>{opening_hours_table(opening_hours)}",
"pt_BR": "<h3>Horário de funcionamento</h3>{opening_hours_table(opening_hours)}",
"sv": "<h3>Öppettider</h3> {opening_hours_table(opening_hours)}",
"pt": "<h3>Horário de funcionamento</h3>{opening_hours_table(opening_hours)}",
"eo": "<h3>Malfermitaj horoj</h3>{opening_hours_table(opening_hours)}",
"hu": "<h3>Nyitva tartás</h3>{opening_hours_table(opening_hours)}",
"ca": "<h3>Horari d'obertura</h3>{opening_hours_table(opening_hours)}",
"ja": "<h3>営業時間</h3>{opening_hours_table(opening_hours)}",
"sl": "<h3>Odpiralni čas</h3>{opening_hours_table(opening_hours)}",
"fil": "<h3>Mga oras na bukas</h3>{opening_hours_table(opening_hours)}",
"es": "<h3>Horas de apertura</h3>{opening_hours_table(opening_hours)}",
"zh_Hans": "<h3>开放时间</h3> {opening_hours_table(opening_hours)}",
"da": "<h3> Åbningstider</h3>{opening_hours_table(opening_hours)}",
"id": "<h3>Jam buka</h3>{opening_hours_table(opening_hours)}",
"pa_PK": "<h3>کھُلھے گھنٹے</h3>{opening_hours_table(opening_hours)}",
"cs": "<h3>Otevírací hodiny</h3>{opening_hours_table(opening_hours)}"
},
"freeform": {
"key": "opening_hours",
"type": "opening_hours",
"inline": false
},
"mappings": [
{
"#": "Just here to be able to handle those ~5000 incorrect 'opening_hours=closed' elements.",
"if": "opening_hours=closed",
"then": {
"en": "Marked as closed for an unspecified time",
"nl": "Gesloten voor onbepaalde duur",
"de": "Als geschlossen für eine unbestimmte Zeit markiert"
},
"hideInAnswer": true
}
]
},
{
"id": "wheelchair-access",
"question": {
"nl": "Is deze plaats rolstoeltoegankelijk?",
"en": "Is this place accessible with a wheelchair?",
"pt": "Este lugar é acessível a utilizadores de cadeiras de rodas?",
"pt_BR": "Este lugar é acessível com uma cadeira de rodas?",
"de": "Ist der Ort rollstuhlzugänglich?",
"fr": "Est-ce que cet endroit est accessible en chaise roulante ?",
"hu": "Akadálymentes-e ez a hely?",
"it": "Questo luogo è accessibile con una sedia a rotelle?",
"nb_NO": "Er dette stedet tilgjengelig for rullestoler?",
"ca": "Aquest lloc és accessible amb cadira de rodes?",
"sv": "Är det här stället tillgängligt med en rullstol?",
"zh_Hant": "這個地方可以坐輪椅到達嗎?",
"pl": "Czy to miejsce jest dostępne dla osób na wózkach inwalidzkich?",
"ja": "車いすでのアクセスは可能ですか?",
"fil": "Kaya bang abutin ang lugar na ito ng naka-wheelchair?",
"es": "¿Este lugar es accesible con una silla de ruedas?",
"da": "Er stedet tilgængeligt med en kørestol?",
"id": "Apakah tempat ini dapat diakses dengan kursi roda?",
"cs": "Je toto místo přístupné pro vozíčkáře?"
},
"mappings": [
{
"if": {
"and": [
"wheelchair=designated"
]
},
"then": {
"nl": "Deze plaats is speciaal aangepast voor gebruikers van een rolstoel",
"en": "This place is specially adapted for wheelchair users",
"pt": "Este lugar está especialmente adaptado para utilizadores de cadeira de rodas",
"pt_BR": "Este lugar é especialmente adaptado para usuários de cadeira de rodas",
"de": "Der Ort ist speziell für Rollstuhlfahrer gestaltet",
"hu": "Ez a hely kifejezetten kerekesszékeseknek lett kialakítva",
"it": "Questo luogo è stato adattato per favorire le persone in sedia a rotelle",
"nb_NO": "Dette stedet er spesielt tilpasset rullestolsbrukere",
"fr": "Cet endroit est spécialement adapté pour les usagers de fauteuils roulants",
"ca": "Aquest lloc està especialment adaptat per a les cadires de rodes",
"sv": "Det här stället är speciellt anpassat för rullstolsburna användare",
"zh_Hant": "這個地方有特別設計給輪椅使用者",
"ru": "Это место подходит для людей на инвалидной коляске",
"pl": "W tym miejscu zainstalowane zostały udogodnienia dla osób na wózkach inwalidzkich",
"ja": "この場所は、車椅子の方のための特別仕様になっています",
"fil": "Ang lugar na ito ay angkop sa mga gumagamit ng wheelchair",
"es": "Este lugar está especialmente adaptado para usuarios en sillas de ruedas",
"da": "Dette sted er specielt indrettet til kørestolsbrugere",
"id": "Tempat ini dirancang khusus untuk pengguna kursi roda",
"cs": "Toto místo je speciálně upraveno pro vozíčkáře"
}
},
{
"if": {
"and": [
"wheelchair=yes"
]
},
"then": {
"nl": "Deze plaats is vlot bereikbaar met een rolstoel",
"en": "This place is easily reachable with a wheelchair",
"pt": "Este lugar é de fácil acesso com uma cadeira de rodas",
"pt_BR": "Este lugar é facilmente acessível com uma cadeira de rodas",
"de": "Der Ort ist rollstuhlzugänglich gestaltet",
"hu": "Ez a hely könnyedén elérhető kerekesszékkel",
"it": "Questo luogo è facilmente raggiungibile con una sedia a rotelle",
"nb_NO": "Dette stedet kan enkelt besøkes med rullestol",
"fr": "Cet endroit est facilement accessible avec un fauteuil roulant",
"ca": "És facilment arribable amb cadira de rodes",
"sv": "Denna plats är lätt att nå med rullstol",
"zh_Hant": "這個地方坐輪椅很容易到達",
"ru": "До этого места легко добраться на инвалидной коляске",
"pl": "To miejsce jest łatwo dostępne dla osób na wózkach inwalidzkich",
"ja": "この場所は、車いすで簡単に行くことができます",
"fil": "Ang lugar na ito ay kayang abutin ng mga naka-wheelchair",
"es": "Este lugar es fácilmente accesible con una silla de ruedas",
"da": "Dette sted er let tilgængeligt med en kørestol",
"id": "Tempat ini mudah dijangkau dengan kursi roda",
"cs": "Toto místo je snadno dosažitelné s invalidním vozíkem"
}
},
{
"if": {
"and": [
"wheelchair=limited"
]
},
"then": {
"nl": "Deze plaats is bereikbaar met een rolstoel, maar het is niet makkelijk",
"en": "It is possible to reach this place in a wheelchair, but it is not easy",
"pt": "É possível chegar a este local em cadeira de rodas, mas não é fácil",
"pt_BR": "É possível chegar a esse local em uma cadeira de rodas, mas não é fácil",
"de": "Der Ort ist nur eingeschränkt rollstuhlzugänglich",
"fr": "Il est possible d'accéder à cet endroit en chaise roulante, mais ce n'est pas facile",
"hu": "Ez a hely ugyan elérhető kerekesszékkel, de nehezen",
"it": "È possibile raggiungere questo luogo con una sedia a rotella ma non è semplice",
"nb_NO": "Det er mulig å besøke dette stedet i rullestol, men det er ikke lett",
"ca": "És possible fer servir cadira de rodes a aquest lloc però no és fàcil",
"sv": "Det är möjligt att nå den här platsen i en rullstol, men det är inte lätt",
"zh_Hant": "這個地方可以坐輪椅到達,但並不容易",
"ru": "До этого места можно добраться, но не просто",
"pl": "To miejsce jest dostępne dla osób na wózkach inwalidzkich, ale z pewnymi trudnościami",
"ja": "車いすでこの場所まで行くことは可能ですが、簡単ではありません",
"fil": "Kayang abutin ang lugar na ito ng mga naka-wheelchair, pero hindi madali",
"es": "Es posible llegar a este lugar con una silla de ruedas, pero no es fácil",
"da": "Det er muligt at komme til dette sted med en kørestol, men det er ikke let",
"id": "Dimungkinkan untuk mencapai tempat ini dengan kursi roda, tetapi tidak mudah",
"cs": "Na toto místo je možné se dostat na invalidním vozíku, ale není to snadné"
}
},
{
"if": {
"and": [
"wheelchair=no"
]
},
"then": {
"nl": "Niet rolstoeltoegankelijk",
"en": "This place is not reachable with a wheelchair",
"pt": "Este lugar não é acessível com uma cadeira de rodas",
"pt_BR": "Este lugar não é alcançável com uma cadeira de rodas",
"de": "Der Ort ist nicht rollstuhlzugänglich",
"fr": "Cet endroit n'est pas accessible en chaise roulante",
"hu": "Ez a hely kerekesszékkel elérhetetlen",
"it": "Questo luogo non è accessibile con una sedia a rotelle",
"nb_NO": "Dette stedet er ikke tilgjengelig for besøk med rullestol",
"ca": "Aquest lloc no és accessible amb cadira de rodes",
"sv": "Den här platsen kan inte nås med en rullstol",
"zh_Hant": "輪椅無法到達這個地方",
"pl": "To miejsce jest niedostępne dla osób na wózkach inwalidzkich",
"ja": "この場所は車いすでは行けません",
"fil": "Ang lugar na ito ay hindi kayang abutin ng naka-wheelchair",
"es": "No es posible llegar a este lugar con una silla de ruedas",
"da": "Dette sted er ikke tilgængeligt med kørestol",
"id": "Tempat ini tidak bisa dijangkau dengan kursi roda",
"cs": "Na toto místo se nelze dostat s invalidním vozíkem"
}
}
]
},
{
"id": "website",
"labels": [
"contact"
],
"icon": "./assets/layers/icons/website.svg",
"question": {
"en": "What is the website of {title()}?",
"nl": "Wat is de website van {title()}?",
"fr": "Quel est le site web de {title()} ?",
"gl": "Cal é a páxina web de {title()}?",
"nb_NO": "Hva er nettsiden til {title()}?",
"ru": "Какой сайт у {title()}?",
"id": "Apa situs web dari {title()}?",
"zh_Hant": "{title()} 網址是什麼?",
"it": "Qual è il sito web di {title()}?",
"de": "Wie lautet die Webseite von {title()}?",
"pt_BR": "Qual o site de {title()}?",
"pl": "Jaka jest strona internetowa {title()}?",
"sv": "Vad är webbplatsen för {title()}?",
"pt": "Qual é o sítio web de {title()}?",
"eo": "Kie estas la retejo de {title()}?",
"hu": "Mi a weboldala ennek: {title()}?",
"ca": "Quina és la web de {title()}?",
"ja": "{title()}のウェブサイトは?",
"fil": "Ano ang website ng {title()}?",
"es": "¿Cual es el sitio web de {title()}?",
"zh_Hans": "{title()} 的网站为何?",
"da": "Hvad er webstedet for {title()}?",
"cs": "Jaká je webová stránka {title()}?"
},
"render": {
"*": "<a href='{website}' rel='nofollow noopener noreferrer' target='_blank'>{website}</a>"
},
"freeform": {
"key": "website",
"type": "url",
"addExtraTags": [
"contact:website="
]
},
"mappings": [
{
"if": "contact:website~*",
"then": "<a href='{contact:website}' rel='nofollow noopener noreferrer' target='_blank'>{contact:website}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/icons/website.svg"
}
],
"editButtonAriaLabel": {
"en": "Edit website",
"nl": "Pas website aan",
"de": "Webseite bearbeiten"
}
},
{
"id": "phone",
"labels": [
"contact"
],
"question": {
"en": "What is the phone number of {title()}?",
"nl": "Wat is het telefoonnummer van {title()}?",
"fr": "Quel est le numéro de téléphone de {title()} ?",
"de": "Wie lautet die Telefonnummer von {title()}?",
"nb_NO": "Hva er telefonnummeret til {title()}?",
"ru": "Какой номер телефона у {title()}?",
"sv": "Vad är telefonnumret till {title()}?",
"zh_Hant": "{title()} 的電話號碼是什麼?",
"it": "Qual è il numero di telefono di {title()}?",
"pt_BR": "Qual o número de telefone de {title()}?",
"id": "Berapa nomor telepon dari {title()}?",
"pl": "Jaki jest numer telefonu do {title()}?",
"pt": "Qual é o número de telefone de {title()}?",
"eo": "Kio estas la telefonnumero de {title()}?",
"hu": "Mi a telefonszáma ennek: {title()}?",
"ca": "Quin és el telèfon de {title()}?",
"ja": "{title()}の電話番号は?",
"sl": "Kakšno telefonsko številko ima {title()}?",
"fil": "Ano ang telepono ng {title()}?",
"es": "¿Cuál es el número de teléfono de {title()}?",
"zh_Hans": "{title()} 的电话号码为何?",
"da": "Hvad er telefonnummeret til {title()}?",
"cs": "Jaké je telefonní číslo {title()}?"
},
"render": {
"*": "<a href='tel:{phone}'>{phone}</a>"
},
"icon": "./assets/layers/questions/phone.svg",
"mappings": [
{
"if": "contact:phone~*",
"then": "<a href='tel:{contact:phone}'>{contact:phone}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/questions/phone.svg"
}
],
"freeform": {
"key": "phone",
"type": "phone",
"addExtraTags": [
"contact:phone="
]
},
"editButtonAriaLabel": {
"en": "Edit phone number",
"nl": "Pas telefoonnummer aan",
"de": "Telefonnummer bearbeiten"
}
},
{
"id": "smoking",
"question": {
"en": "Is smoking allowed at {title()}?",
"de": "Ist das Rauchen in {title()} erlaubt?",
"es": "¿Está permitido fumar en {title()}?",
"fr": "Est-ce autorisé de fumer à {title()} ?",
"pt": "É permitido fumar em {title()}?",
"nb_NO": "Tillates røyking på {title()}?",
"da": "Er det tilladt at ryge på {title()}?",
"id": "Apa diizinkan untuk merokok di {title()}?",
"nl": "Is roken toegestaan bij {title()}?",
"cs": "Je na {title()} povoleno kouřit?",
"ca": "Està permés fumar a {title()}?",
"pl": "Czy w {title()} wolno palić?"
},
"#condition": "Based on https://en.wikipedia.org/wiki/List_of_smoking_bans",
"condition": "_country!~al|be",
"mappings": [
{
"if": "smoking=yes",
"icon": {
"path": "./assets/layers/questions/smoking.svg",
"size": "small"
},
"then": {
"en": "Smoking is <b>allowed</b>",
"de": "Rauchen ist <b>erlaubt</b>",
"es": "Está <b>permitido</b> fumar",
"fr": "Il est <b>autorisé</b> de fumer",
"pt": "<b>É permitido</b> fumar",
"nb_NO": "Røyking er <b>tillatt</b>",
"da": "Rygning er <b>tilladt</b>",
"id": "Merokok <b>diizinkan</b>",
"nl": "Roken is <b>toegestaan</b>",
"cs": "Kouření je <b>povoleno</b>",
"pa_PK": "سِگرٹ پیݨ دی <b>‬؜اِجازت‬‫</b> ؜اے",
"ca": "Està <b>permès</b> fumar",
"pl": "Palenie jest <b>dozwolone</b>"
}
},
{
"if": "smoking=no",
"icon": {
"path": "./assets/layers/questions/no_smoking.svg",
"size": "small"
},
"then": {
"en": "Smoking is <b>not allowed</b>",
"de": "Rauchen ist <b>nicht erlaubt</b>",
"es": "<b>No</b> está permitido fumar",
"fr": "Il est <b>interdit</b> de fumer",
"pt": "<b>Não é permitido</b> fumar",
"nb_NO": "Røyking <b>forbudt</b>",
"da": "Rygning er <b>ikke tilladt</b>",
"id": "Merokok <b>dilarang</b>",
"nl": "Roken is <b>niet toegestaan</b>",
"cs": "Kouření <b>není povoleno</b>",
"ca": "<b>No</b> està permés fumar",
"pl": "Palenie jest <b>zakazane</b>"
}
},
{
"if": "smoking=outside",
"then": {
"en": "Smoking is <b>allowed outside</b>.",
"de": "Rauchen ist <b> draußen erlaubt</b>.",
"es": "Está permitido fumar <b>en el exterior</b>.",
"fr": "Il est autorisé de fumer <b>à l'extérieur</b>.",
"pt": "É permitido fumar <b>no exterior</b>.",
"nb_NO": "Røyking <b>tillates på utsiden</b>.",
"da": "Rygning er <b>tilladt udenfor</b>.",
"id": "Merokok <b>diizinkan di luar ruangan</b>.",
"nl": "Roken is <b>buiten toegestaan</b>.",
"cs": "Kouření je <b>povoleno venku</b>.",
"ca": "Està permés fumar <b>a l'exterior</b>.",
"pl": "Palenie jest <b>dozwolone na zewnątrz</b>."
}
}
]
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "./assets/layers/food_courts/food_court.svg"
}
]
}

View file

@ -0,0 +1,760 @@
{
"id": "ghost_bike",
"name": {
"en": "Ghost bikes",
"nl": "Witte Fietsen",
"de": "Geisterräder",
"it": "Bici fantasma",
"fr": "Vélos fantômes",
"eo": "Fantombiciklo",
"es": "Bicicletas blanca",
"fi": "Haamupyörä",
"gl": "Bicicleta pantasma",
"hu": "Emlékkerékpárok",
"ja": "ゴーストバイク",
"nb_NO": "Spøkelsessykler",
"pl": "Duch roweru",
"pt_BR": "Bicicleta fantasma",
"ru": "Велосипед ghost",
"sv": "Spökcykel",
"zh_Hant": "幽靈單車",
"pt": "Bicicleta fantasma",
"ca": "Bicicleta fantasma",
"cs": "Kola duchů"
},
"description": {
"en": "A layer showing memorials for cyclists, killed in road accidents",
"nl": "Een laag die herdenkingsplaatsen voor verongelukte fietsers toont",
"de": "Eine Ebene mit Gedenkstätten für Radfahrer, die bei Verkehrsunfällen ums Leben gekommen sind",
"fr": "Une couche affichant les mémoriaux en l'hommage de cyclistes tuées lors d'accidents de la route",
"pl": "Warstwa pokazujące miejsca upamiętnienia rowerzystów, którzy zginęli w wypadkach drogowych",
"ca": "Una capa que mostra monuments commemoratius als ciclistes morts en accidents de trànsit",
"cs": "Vrstva zobrazující pomníky pro cyklisty zabité při dopravních nehodách"
},
"source": {
"osmTags": {
"and": [
"memorial=ghost_bike"
]
}
},
"minzoom": 0,
"title": {
"render": {
"en": "Ghost bike",
"nl": "Witte Fiets",
"de": "Geisterrad",
"it": "Bici fantasma",
"fr": "Vélo fantôme",
"eo": "Fantombiciklo",
"es": "Bicicleta blanca",
"fi": "Haamupyörä",
"gl": "Bicicleta pantasma",
"hu": "Emlékkerékpár",
"ja": "ゴーストバイク",
"nb_NO": "Spøkelsessykler",
"pl": "Duch roweru",
"pt_BR": "Bicicleta fantasma",
"ru": "Велосипед Ghost",
"sv": "Spökcykel",
"zh_Hant": "幽靈單車",
"pt": "Bicicleta fantasma",
"ca": "Bicicleta blanca",
"cs": "Kolo duchů"
},
"mappings": [
{
"if": "subject~*",
"then": {
"en": "Ghost bike in the remembrance of {subject}",
"nl": "Witte fiets ter nagedachtenis van {subject}",
"de": "Geisterrad im Gedenken an {subject}",
"it": "Bici fantasma in ricordo di {subject}",
"fr": "Vélo fantôme en souvenir de {subject}",
"ca": "Bicicleta fantasma en el record de {subject}",
"cs": "Kolo duchů na památku {subject}"
}
},
{
"if": "name~*",
"then": {
"en": "Ghost bike in the remembrance of {name}",
"nl": "Witte fiets ter nagedachtenis van {name}",
"de": "Geisterrad im Gedenken an {name}",
"it": "Bici fantasma in ricordo di {name}",
"fr": "Vélo fantôme en souvenir de {name}",
"ca": "Bicicleta fantasma en el record de {name}",
"cs": "Kolo duchů na památku {name}"
}
}
]
},
"pointRendering": [
{
"iconSize": "40,40",
"location": [
"point",
"centroid"
],
"anchor": "bottom",
"marker": [
{
"icon": {
"render": "./assets/layers/ghost_bike/ghost_bike.svg",
"id": "assetslayersghostbikeghostbikesvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [],
"presets": [
{
"title": {
"en": "a ghost bike",
"nl": "een witte fiets",
"de": "ein Geisterrad",
"it": "una bici fantasma",
"fr": "une vélo fantôme",
"eo": "Fantombiciklo",
"es": "una bicicleta blanca",
"fi": "Haamupyörä",
"gl": "Bicicleta pantasma",
"hu": "Emlékkerékpár",
"ja": "ゴーストバイク",
"nb_NO": "en spøkelsessykler",
"pl": "Duch roweru",
"pt": "uma bicicleta fantasma",
"pt_BR": "uma bicicleta fantasma",
"ru": "Велосипед ghost",
"sv": "Spökcykel",
"zh_Hant": "幽靈單車",
"ca": "una bicicleta fantasma",
"cs": "kola duchů"
},
"tags": [
"historic=memorial",
"memorial=ghost_bike"
]
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "ghost-bike-explanation",
"render": {
"en": "A <b>ghost bike</b> is a memorial for a cyclist who died in a traffic accident, in the form of a white bicycle placed permanently near the accident location.",
"nl": "Een <b>Witte Fiets</b> (of Spookfiets) is een aandenken aan een fietser die bij een verkeersongeval om het leven kwam. Het gaat over een witgeschilderde fiets die geplaatst werd in de buurt van het ongeval.",
"de": "Ein <b>Geisterrad</b> ist ein Denkmal für einen Radfahrer, der bei einem Verkehrsunfall ums Leben kam, in Form eines weißen Fahrrades, das dauerhaft in der Nähe des Unfallortes aufgestellt wird.",
"it": "Una <b>bici fantasma</b> è il memoriale di un ciclista che è morto in un incidente stradale e che ha la forma di una bicicletta bianca piazzata in maniera stabile vicino al luogo dellincidente.",
"fr": "Un <b>vélo fantôme</b> est un monument commémoratif pour un cycliste décédé dans un accident de la route, sous la forme d'un vélo blanc placé en permanence près du lieu de l'accident.",
"ca": "Una <b>bicicleta fantasma</b> és un memorial per a un ciclista que va morir en un accident de trànsit, en forma de bicicleta blanca col·locada permanentment a prop del lloc de l'accident.",
"cs": "<b>kolo duchů</b> je památník cyklisty, který zemřel při dopravní nehodě, v podobě bílého kola umístěného trvale v blízkosti místa nehody."
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"question": {
"en": "Whom is remembered by this ghost bike?",
"nl": "Aan wie is deze witte fiets een eerbetoon?",
"de": "An wen erinnert dieses Geisterrad?",
"it": "A chi è dedicata questa bici fantasma?",
"fr": "À qui est dédié ce vélo fantôme ?",
"ca": "A qui recorda aquesta bicicleta fantasma?",
"cs": "Na koho vzpomíná toto kolo duchů?"
},
"render": {
"en": "In remembrance of {subject}",
"nl": "Ter nagedachtenis van {subject}",
"de": "Im Gedenken an {subject}",
"it": "In ricordo di {subject}",
"fr": "En souvenir de {subject}",
"ru": "В знак памяти о {subject}",
"ca": "En record de {subject}",
"cs": "Na památku {subject}"
},
"freeform": {
"key": "subject",
"addExtraTags": [
"noname=",
"name="
],
"inline": true
},
"mappings": [
{
"if": "name~*",
"then": {
"en": "In remembrance of {name}",
"nl": "Ter nagedachtenis van {name}",
"de": "Im Gedenken an {name}",
"it": "In ricordo di {name}",
"fr": "En souvenir de {name}",
"ru": "В знак памяти о {name}",
"ca": "En record de {name}",
"pl": "Ku pamięci {name}",
"cs": "Na památku {name}"
},
"hideInAnswer": true
},
{
"if": "noname=yes",
"then": {
"en": "No name is marked on the bike",
"nl": "De naam is niet aangeduid op de fiets",
"de": "Am Fahrrad ist kein Name angegeben",
"it": "Nessun nome scritto sulla bici",
"fr": "Aucun nom n'est marqué sur le vélo",
"ca": "No hi ha cap nom marcat a la bicicleta",
"cs": "Na kole není vyznačeno žádné jméno"
},
"addExtraTags": [
"name=",
"subject="
]
}
],
"id": "ghost_bike-name",
"questionHint": {
"en": "Please respect privacy - only fill out the name if it is widely published or marked on the cycle. Opt to leave out the family name.",
"nl": "Respecteer privacy - voeg enkel een naam toe indien die op de fiets staat of gepubliceerd is. Eventueel voeg je enkel de voornaam toe.",
"de": "Bitte respektieren Sie die Privatsphäre - geben Sie den Namen nur an, wenn er weit verbreitet oder auf dem Fahrrad markiert ist. Den Familiennamen können Sie weglassen.",
"it": "Rispetta la privacy (compila solo il nome se questo è stato ampiamente pubblicato o se è scritto sulla bici). Decidi se è il caso di non inserire il cognome.",
"fr": "Veuillez respecter la vie privée ajoutez le nom seulement s'il est largement publié ou marqué sur le vélo. Choisissez de ne pas indiquer le nom de famille ",
"ca": "Si us plau, respecteu la privadesa: només ompliu el nom si està àmpliament publicat o marcat a la bicicleta. Opta per deixar de banda el cognom.",
"cs": "Respektujte prosím soukromí jméno vyplňte pouze v případě, že je široce publikováno nebo označeno na cyklu. Rozhodněte se vynechat příjmení."
}
},
{
"question": {
"en": "On what webpage can one find more info about the ghost bike or the accident?",
"nl": "Op welke website kan men meer informatie vinden over de Witte fiets of over het ongeval?",
"de": "Auf welcher Webseite kann man mehr Informationen über das Geisterrad oder den Unfall finden?",
"it": "In quale pagina web si possono trovare informazioni sulla bici fantasma o lincidente?",
"fr": "Sur quelle page web peut-on trouver plus d'informations sur le Vélo fantôme ou l'accident ?",
"ca": "En quina pàgina web es pot trobar més informació sobre la bicicleta blanca o l'accident?",
"cs": "Na jakém webu lze najít více informací o kole ducha nebo nehodě?"
},
"render": {
"ca": "{link(Més informació disponible,&LBRACEsource&RBRACE,,,)}",
"cs": "{link(Více informací k dispozici,&LBRACEsource&RBRACE,,,)}",
"de": "{link(Mehr Informationen,&LBRACEsource&RBRACE,,,)}",
"en": "{link(More info available,&LBRACEsource&RBRACE,,,)}",
"fr": "{link(Plus d'informations sont disponibles,&LBRACEsource&RBRACE,,,)}",
"id": "{link(Informasi lanjut tersedia,&LBRACEsource&RBRACE,,,)}",
"it": "{link(Sono disponibili ulteriori informazioni,&LBRACEsource&RBRACE,,,)}",
"nl": "{link(Meer informatie,&LBRACEsource&RBRACE,,,)}",
"ru": "{link(Доступна более подробная информация,&LBRACEsource&RBRACE,,,)}"
},
"freeform": {
"type": "url",
"key": "source",
"inline": true
},
"id": "ghost_bike-source"
},
{
"question": {
"en": "What is the inscription on this Ghost bike?",
"nl": "Wat is het opschrift op deze witte fiets?",
"de": "Wie lautet die Inschrift auf diesem Geisterrad?",
"it": "Che cosa è scritto sulla bici fantasma?",
"fr": "Quelle est l'inscription sur ce vélo fantôme ?",
"ca": "Quina és la inscripció d'aquesta bicicleta fantasma?",
"cs": "Jaký je nápis na tomto kole duchů?"
},
"render": {
"en": "<i>{inscription}</i>",
"nl": "<i>{inscription}</i>",
"de": "<i>{inscription}</i>",
"ca": "<i>{inscription}</i>",
"fr": "<i>{inscription}</i>",
"it": "<i>{inscription}</i>",
"ru": "<i>{inscription}</i>",
"id": "<i>{inscription}</i>",
"cs": "<i>{inscription}</i>"
},
"freeform": {
"key": "inscription",
"inline": true
},
"id": "ghost_bike-inscription"
},
{
"question": {
"nl": "Wanneer werd deze witte fiets geplaatst?",
"en": "When was this Ghost bike installed?",
"it": "Quando è stata installata questa bici fantasma?",
"fr": "Quand ce vélo fantôme a-t-il été installée ?",
"de": "Wann wurde dieses Geisterrad aufgestellt?",
"ca": "Quan es va instal·lar aquesta bicicleta Ghost?",
"cs": "Kdy bylo toto kolo duchů nainstalováno?"
},
"render": {
"nl": "Geplaatst op {start_date}",
"en": "Placed on {start_date}",
"it": "Piazzata in data {start_date}",
"fr": "Placé le {start_date}",
"ru": "Установлен {start_date}",
"de": "Aufgestellt am {start_date}",
"ca": "Col·locat el {start_date}",
"cs": "Umístěno {start_date}"
},
"freeform": {
"key": "start_date",
"type": "date",
"inline": true
},
"id": "ghost_bike-start_date"
},
{
"id": "wikidata",
"render": {
"de": "<h3>Wikipedia-Seite über die verstorbene Person</h3>{wikipedia(subject:wikidata)}",
"en": "<h3>Wikipedia page about the deceased person</h3>{wikipedia(subject:wikidata)}"
},
"condition": "subject:wikidata~*"
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "move-button",
"render": {
"*": "{move_button()}"
}
},
{
"id": "delete-button",
"render": {
"*": "{delete_button()}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"deletion": {
"softDeletionTags": {
"and": [
"razed:memorial:=ghost_bike",
"memorial="
]
},
"neededChangesets": 50
},
"allowMove": {
"enableRelocation": false,
"enableImproveAccuracy": true
},
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "./assets/layers/ghost_bike/ghost_bike.svg"
}
]
}

View file

@ -0,0 +1,695 @@
{
"id": "governments",
"name": {
"en": "governments",
"de": "Öffentliche Verwaltung",
"nl": "Overheidsdiensten",
"pa_PK": "سرکارسں",
"ca": "Governs",
"cs": "vlády"
},
"description": {
"en": "This layer show governmental buildings. It was setup as commissioned layer for the client of OSOC '22",
"de": "Diese Ebene zeigt Gebäude der öffentlichen Verwaltung. Sie wurde im Auftrag für den Kunden von OSOC '22 erstellt",
"nl": "Deze laag toont overheidsgebouwen. Opgezet voor OSOC '22",
"ca": "Aquesta capa mostra edificis governamentals. Es va configurar com a capa encarregada per al client d'OSOC '22",
"cs": "Tato vrstva zobrazuje vládní budovy. Byla nastavena jako zprovozněná vrstva pro klienta OSOC '22"
},
"source": {
"osmTags": {
"and": [
{
"or": [
"office=government"
]
}
]
}
},
"minzoom": 13,
"title": {
"render": {
"en": "Governmental Office {name}",
"de": "Behörde {name}",
"nl": "Overheidsdienst {name}",
"ca": "Oficina governamental {name}",
"cs": "Vládní úřad {name}"
}
},
"pointRendering": [
{
"iconSize": "40,40",
"location": [
"point",
"centroid"
],
"anchor": "center",
"marker": [
{
"icon": {
"render": "circle",
"id": "circle"
},
"color": "white"
},
{
"icon": {
"render": "./assets/layers/governments/government.svg",
"id": "assetslayersgovernmentsgovernmentsvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [],
"presets": [
{
"title": {
"en": "a Governmental Office",
"de": "ein Büro der öffentlichen Verwaltung",
"nl": "een overheidsdienst",
"ca": "una oficina Governamental",
"cs": "vládní úřad"
},
"tags": [
"office=government"
]
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "phone",
"labels": [
"contact"
],
"question": {
"en": "What is the phone number of {title()}?",
"nl": "Wat is het telefoonnummer van {title()}?",
"fr": "Quel est le numéro de téléphone de {title()} ?",
"de": "Wie lautet die Telefonnummer von {title()}?",
"nb_NO": "Hva er telefonnummeret til {title()}?",
"ru": "Какой номер телефона у {title()}?",
"sv": "Vad är telefonnumret till {title()}?",
"zh_Hant": "{title()} 的電話號碼是什麼?",
"it": "Qual è il numero di telefono di {title()}?",
"pt_BR": "Qual o número de telefone de {title()}?",
"id": "Berapa nomor telepon dari {title()}?",
"pl": "Jaki jest numer telefonu do {title()}?",
"pt": "Qual é o número de telefone de {title()}?",
"eo": "Kio estas la telefonnumero de {title()}?",
"hu": "Mi a telefonszáma ennek: {title()}?",
"ca": "Quin és el telèfon de {title()}?",
"ja": "{title()}の電話番号は?",
"sl": "Kakšno telefonsko številko ima {title()}?",
"fil": "Ano ang telepono ng {title()}?",
"es": "¿Cuál es el número de teléfono de {title()}?",
"zh_Hans": "{title()} 的电话号码为何?",
"da": "Hvad er telefonnummeret til {title()}?",
"cs": "Jaké je telefonní číslo {title()}?"
},
"render": {
"*": "<a href='tel:{phone}'>{phone}</a>"
},
"icon": "./assets/layers/questions/phone.svg",
"mappings": [
{
"if": "contact:phone~*",
"then": "<a href='tel:{contact:phone}'>{contact:phone}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/questions/phone.svg"
}
],
"freeform": {
"key": "phone",
"type": "phone",
"addExtraTags": [
"contact:phone="
]
},
"editButtonAriaLabel": {
"en": "Edit phone number",
"nl": "Pas telefoonnummer aan",
"de": "Telefonnummer bearbeiten"
}
},
{
"id": "email",
"render": {
"*": "<a href='mailto:{email}' target='_blank' rel='noopener'>{email}</a>"
},
"icon": "./assets/svg/envelope.svg",
"labels": [
"contact"
],
"question": {
"nl": "Wat is het e-mailadres van {title()}?",
"fr": "Quelle est l'adresse courriel de {title()} ?",
"en": "What is the email address of {title()}?",
"nb_NO": "Hva er e-postadressen til {title()}?",
"ru": "Какой адрес электронной почты у {title()}?",
"id": "Apa alamat surel dari {title()}?",
"zh_Hant": "{title()} 的電子郵件地址是什麼?",
"it": "Qual è l'indirizzo email di {title()}?",
"de": "Wie lautet die Mail-Adresse von {title()}?",
"pt_BR": "Qual o endereço de e-mail de {title()}?",
"pl": "Jaki jest adres e-mail do {title()}?",
"sv": "Vad är e-postadressen till {title()}?",
"pt": "Qual é o endereço de e-mail de {title()}?",
"eo": "Kio estas la retpoŝta adreso de {title()}?",
"hu": "Mi a(z) {title()} e-mail címe?",
"ca": "Quina és l'adreça de correu electrònic de {title()}?",
"ja": "{title()}のEメールアドレスは何ですか",
"sl": "Kakšen naslov elektronske pošte ima {title()}?",
"fil": "Ano ang email address ng {title()}?",
"es": "¿Cuál es la dirección de correo electrónico de {title()}?",
"zh_Hans": "{title()} 的电子邮箱地址为何?",
"da": "Hvad er mailadressen på {title()}?",
"cs": "Jaká je e-mailová adresa {title()}?"
},
"mappings": [
{
"if": "contact:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{contact:email}' target='_blank' rel='noopener'>{contact:email}</a>",
"hideInAnswer": true
},
{
"if": "operator:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{operator:email}' target='_blank' rel='noopener'>{operator:email}</a>",
"hideInAnswer": true
}
],
"freeform": {
"key": "email",
"type": "email",
"addExtraTags": [
"contact:email="
]
},
"editButtonAriaLabel": {
"en": "Edit email address",
"nl": "Pas emailadres aan",
"de": "E-Mail Adresse bearbeiten"
}
},
{
"id": "website",
"labels": [
"contact"
],
"icon": "./assets/layers/icons/website.svg",
"question": {
"en": "What is the website of {title()}?",
"nl": "Wat is de website van {title()}?",
"fr": "Quel est le site web de {title()} ?",
"gl": "Cal é a páxina web de {title()}?",
"nb_NO": "Hva er nettsiden til {title()}?",
"ru": "Какой сайт у {title()}?",
"id": "Apa situs web dari {title()}?",
"zh_Hant": "{title()} 網址是什麼?",
"it": "Qual è il sito web di {title()}?",
"de": "Wie lautet die Webseite von {title()}?",
"pt_BR": "Qual o site de {title()}?",
"pl": "Jaka jest strona internetowa {title()}?",
"sv": "Vad är webbplatsen för {title()}?",
"pt": "Qual é o sítio web de {title()}?",
"eo": "Kie estas la retejo de {title()}?",
"hu": "Mi a weboldala ennek: {title()}?",
"ca": "Quina és la web de {title()}?",
"ja": "{title()}のウェブサイトは?",
"fil": "Ano ang website ng {title()}?",
"es": "¿Cual es el sitio web de {title()}?",
"zh_Hans": "{title()} 的网站为何?",
"da": "Hvad er webstedet for {title()}?",
"cs": "Jaká je webová stránka {title()}?"
},
"render": {
"*": "<a href='{website}' rel='nofollow noopener noreferrer' target='_blank'>{website}</a>"
},
"freeform": {
"key": "website",
"type": "url",
"addExtraTags": [
"contact:website="
]
},
"mappings": [
{
"if": "contact:website~*",
"then": "<a href='{contact:website}' rel='nofollow noopener noreferrer' target='_blank'>{contact:website}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/icons/website.svg"
}
],
"editButtonAriaLabel": {
"en": "Edit website",
"nl": "Pas website aan",
"de": "Webseite bearbeiten"
}
},
{
"question": {
"en": "What is the name of this Governmental Office?",
"de": "Wie lautet der Name dieser Behörde?",
"nl": "Wat is de naam van deze overheidsdienst?",
"ca": "Quin és el nom d'aquesta oficina gornavental?",
"cs": "Jak se jmenuje tento úřad vlády?"
},
"render": {
"en": "This Governmental Office is called {name}",
"de": "Der Name der Behörde lautet {name}",
"nl": "Deze overheidsdienst heet {name}",
"ca": "Aquesta Oficina Governamental s'anomena {name}",
"cs": "Tento vládní úřad se jmenuje {name}"
},
"freeform": {
"key": "name",
"inline": true
},
"id": "name"
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "circle",
"color": "white"
},
{
"icon": "./assets/layers/governments/government.svg"
}
]
}

View file

@ -0,0 +1,339 @@
{
"id": "gps_location",
"description": "Meta layer showing the current location of the user. Add this to your theme and override the icon to change the appearance of the current location. The object will always have `id=gps` and will have _all_ the properties included in the [`Coordinates`-object](https://developer.mozilla.org/en-US/docs/Web/API/GeolocationCoordinates) (except latitude and longitude) returned by the browser, such as `speed`, `altitude`, `heading`, ....",
"source": "special",
"minzoom": 0,
"pointRendering": [
{
"marker": [
{
"icon": {
"render": "crosshair",
"mappings": [
{
"if": "speed>2",
"then": "gps_arrow"
}
]
},
"color": "--catch-detail-color"
}
],
"iconSize": "40,40",
"pitchAlignment": "map",
"rotation": {
"render": "0deg",
"mappings": [
{
"if": {
"and": [
"speed>2",
"heading!=NaN"
]
},
"then": "{heading}deg"
}
]
},
"location": [
"point",
"centroid"
],
"anchor": "center"
},
{
"marker": [
{
"icon": {
"render": "direction",
"id": "direction"
},
"color": "--catch-detail-color"
}
],
"iconSize": {
"render": "0,0",
"mappings": [
{
"if": "alpha~*",
"then": "40,40"
}
]
},
"pitchAlignment": "map",
"rotation": "{alpha}deg",
"location": [
"point",
"centroid"
],
"anchor": "center"
}
],
"lineRendering": [],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "crosshair",
"color": "--catch-detail-color"
}
]
}

View file

@ -0,0 +1,294 @@
{
"id": "gps_location_history",
"name": null,
"description": "Meta layer which contains the previous locations of the user as single points. This is mainly for technical reasons, e.g. to keep match the distance to the modified object",
"source": "special",
"minzoom": 1,
"shownByDefault": false,
"pointRendering": [
{
"location": [
"point",
"centroid"
],
"iconSize": "5,5",
"anchor": "center",
"marker": [
{
"icon": {
"render": "square",
"id": "square"
},
"color": "red"
}
]
}
],
"lineRendering": [],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "square",
"color": "red"
}
]
}

View file

@ -0,0 +1,355 @@
{
"id": "gps_track",
"name": {
"en": "Your travelled track",
"nl": "Jouw afgelegde route",
"de": "Zurückgelegte Strecke",
"fr": "Votre chemin parcouru",
"da": "Dit tilbagelagte spor",
"ca": "La teva traça recorreguda",
"cs": "Vaše procestovaná trasa"
},
"description": "Meta layer showing the previous locations of the user as single line with controls, e.g. to erase, upload or download this track. Add this to your theme and override the maprendering to change the appearance of the travelled track.",
"source": "special",
"minzoom": 0,
"shownByDefault": false,
"title": {
"render": {
"en": "Your travelled path",
"nl": "Jouw traject",
"de": "Deine zurückgelegte Strecke",
"ca": "El teu camí recorregut",
"fr": "Votre chemin",
"cs": "Ujetá cesta"
}
},
"pointRendering": [
{
"location": [
"start"
],
"marker": [
{
"icon": {
"render": "circle",
"id": "circle"
},
"color": "#bb000077"
}
],
"iconSize": "10,10",
"pitchAlignment": "map",
"rotationAlignment": "map"
}
],
"lineRendering": [
{
"width": 3,
"color": "#bb000077"
}
],
"tagRenderings": [
{
"id": "Privacy notice",
"render": {
"en": "This is the path you've travelled since this website is opened. Don't worry - this is only visible to you and no one else. Your location data is never sent off-device.",
"nl": "Dit is waar je was sinds je deze website hebt geopend. Dit is enkel zichtbaar voor jou en niemand anders. Je locatie wordt niet verstuurd buiten je apparaat.",
"de": "Dies ist der Weg, den Sie seit dem Besuch dieser Webseite zurückgelegt haben. Keine Sorge - diese Daten sind nur für Sie sichtbar und für niemanden sonst. Ihre Standortdaten werden niemals an ein anderes Gerät gesendet.",
"fr": "C'est le chemin que vous avez parcouru depuis l'ouverture de ce site. Ne vous inquiétez pas - ceci n'est visible que pour vous et personne d'autre. Vos données de localisation ne sont jamais envoyées hors de l'appareil.",
"ca": "Aquest és el camí que heu recorregut des que s'ha obert aquest lloc web. No et preocupis: això només és visible per a tu i ningú més. Les vostres dades d'ubicació mai s'envien fora del dispositiu.",
"cs": "To je cesta, kterou jste urazili od otevření těchto webových stránek. Nemějte obavy - je viditelná pouze pro vás a pro nikoho jiného. Údaje o vaší poloze nejsou nikdy odesílány mimo zařízení."
}
},
{
"id": "export_as_gpx",
"description": "Shows a button to export this feature as GPX. Especially useful for route relations",
"render": {
"*": "{export_as_gpx()}"
}
},
{
"id": "export_as_geojson",
"description": "Shows a button to export this feature as geojson. Especially useful for debugging or using this in other programs",
"render": {
"*": "{export_as_geojson()}"
}
},
{
"id": "upload_to_osm",
"render": "{upload_to_osm()}"
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "delete",
"render": "{clear_location_history()}"
}
],
"syncSelection": "global",
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": []
}

View file

@ -0,0 +1,551 @@
{
"id": "guidepost",
"name": {
"en": "Guideposts",
"cs": "Rozcestníky",
"de": "Wegweiser"
},
"description": {
"en": "Guideposts (also known as fingerposts or finger posts) are often found along official hiking/cycling/riding/skiing routes to indicate the directions to different destinations",
"cs": "Podél oficiálních turistických/cyklistických/jezdeckých/lyžařských tras se často nacházejí rozcestníky (také známé jako ukazatel směru nebo značky), které ukazují směry k různým cílům",
"de": "Wegweiser (auch als Wegzeiger oder Fingerschilder bekannt) sind entlang offizieller Wander-, Radfahr-, Reit- oder Skirouten oft zu finden, um die Richtungen zu verschiedenen Zielen anzuzeigen"
},
"source": {
"osmTags": {
"and": [
"information=guidepost"
]
}
},
"minzoom": 14,
"title": {
"en": "Guideposts",
"cs": "Rozcestník",
"de": "Wegweiser"
},
"pointRendering": [
{
"location": [
"centroid",
"point"
],
"marker": [
{
"icon": {
"render": "./assets/layers/guidepost/guidepost.svg",
"id": "assetslayersguidepostguidepostsvg"
}
}
],
"anchor": "bottom",
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"presets": [
{
"title": {
"en": "a guidepost",
"cs": "rozcestník",
"de": "ein Wegweiser"
},
"tags": [
"information=guidepost",
"tourism=information"
],
"description": {
"en": "A guidepost (also known as fingerpost) is often found along official hiking/cycling/riding/skiing routes to indicate the directions to different destinations",
"cs": "Rozcestník (také známý jako ukazatel směru) se často nachází podél oficiálních turistických / cyklistických / jezdeckých / lyžařských tras, které ukazují směry k různým destinacím",
"de": "Ein Wegweiser (auch bekannt als Fingerschild) wird oft entlang offizieller Wander-, Radfahr-, Reit- oder Skirouten gefunden, um die Richtungen zu verschiedenen Zielen anzuzeigen"
},
"exampleImages": [
"./assets/layers/guidepost/guidepost_example.jpg"
]
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "type",
"question": {
"en": "What kind of routes are shown on this guidepost?",
"de": "Welche Arten von Routen werden auf diesem Wegweiser angezeigt?"
},
"multiAnswer": true,
"mappings": [
{
"if": "bicycle=yes",
"ifnot": "bicycle=",
"then": {
"en": "This guidepost shows bicycle routes",
"de": "Dieser Wegweiser zeigt Fahrradrouten"
}
},
{
"if": "hiking=yes",
"ifnot": "hiking=",
"then": {
"en": "This guidepost shows hiking routes",
"de": "Dieser Wegweiser zeigt Wanderwege"
}
},
{
"if": "mtb=yes",
"ifnot": "mtb=",
"then": {
"en": "This guidepost shows mountain bike routes",
"de": "Dieser Wegweiser zeigt Mountainbike-Routen"
}
},
{
"if": "horse=yes",
"ifnot": "horse=",
"then": {
"en": "This guidepost shows horse riding routes",
"de": "Dieser Wegweiser zeigt Reitwege"
}
},
{
"if": "ski=yes",
"ifnot": "ski=",
"then": {
"en": "This guidepost shows ski routes",
"de": "Dieser Wegweiser zeigt Skirouten"
}
}
]
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "move-button",
"render": {
"*": "{move_button()}"
}
},
{
"id": "delete-button",
"render": {
"*": "{delete_button()}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"deletion": {},
"allowMove": {
"enableImproveAccuracy": true,
"enableRelocation": false
},
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "./assets/layers/guidepost/guidepost.svg"
}
]
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,300 @@
{
"id": "home_location",
"description": "Meta layer showing the home location of the user. The home location can be set in the [profile settings](https://www.openstreetmap.org/profile/edit) of OpenStreetMap.",
"source": "special",
"minzoom": 0,
"pointRendering": [
{
"iconSize": "20,20",
"location": [
"point",
"centroid"
],
"marker": [
{
"icon": {
"render": "circle",
"id": "circle"
},
"color": "white"
},
{
"icon": {
"render": "./assets/svg/home.svg",
"id": "assetssvghomesvg"
}
}
]
}
],
"lineRendering": [],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "circle",
"color": "white"
},
{
"icon": "./assets/svg/home.svg"
}
]
}

View file

@ -0,0 +1,751 @@
{
"id": "hospital",
"name": {
"en": "Hospitals",
"de": "Krankenhäuser",
"nl": "Ziekenhuizen",
"pa_PK": "ہسپتال",
"ca": "Hospitals",
"ru": "Больницы",
"cs": "Nemocnice"
},
"description": {
"en": "A layer showing hospital grounds",
"de": "Eine Ebene mit Krankenhäusern",
"nl": "Een laag die ziekehuizen toont",
"ca": "Una capa que mostra els terrenys de l'hospital",
"cs": "Vrstva zobrazující areál nemocnice"
},
"source": {
"osmTags": {
"and": [
{
"or": [
"amenity=hospital",
"amenity=clinic"
]
}
]
}
},
"minzoom": 12,
"title": {
"render": {
"en": "Hospital",
"de": "Krankenhaus",
"nl": "Ziekenhuis",
"pa_PK": "ہسپتال",
"ru": "Больница",
"ca": "Hospital",
"cs": "Nemocnice"
},
"mappings": [
{
"if": "name~*",
"then": "{name}"
}
]
},
"pointRendering": [
{
"iconSize": "40,40",
"location": [
"point",
"centroid"
],
"anchor": "center",
"marker": [
{
"icon": {
"render": "circle",
"id": "circle"
},
"color": "white"
},
{
"icon": {
"render": "./assets/layers/hospital/hospital.svg",
"id": "assetslayershospitalhospitalsvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"color": "#fcd862",
"width": 1
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "name",
"render": {
"en": "This hospital is called {name}",
"ca": "Aquest hospital s'anomena {name}",
"de": "Der Name des Krankenhauses lautet {name}",
"nl": "Dit ziekenhuis heet {name}",
"ru": "Эта больница называется {name}",
"cs": "Tato nemocnice se jmenuje {name}"
},
"question": {
"en": "What is the name of this hospital?",
"de": "Wie lautet der Name des Krankenhauses?",
"nl": "Wat is de naam van dit ziekenhuis?",
"ca": "Quin és el nom d'aquest hospital?",
"ru": "Как называется эта больница?",
"cs": "Jak se jmenuje tato nemocnice?"
},
"freeform": {
"key": "name",
"inline": true
}
},
{
"id": "inpatient",
"question": {
"en": "Does this facility admit inpatients?",
"de": "Nimmt die Einrichtung stationäre Patienten auf?",
"ca": "Aquesta instal·lació admet hospitalitzacions?",
"cs": "Přijímá toto zařízení pacienty na lůžko?"
},
"mappings": [
{
"if": "amenity=clinic",
"then": {
"en": "This is a clinic - patients can not stay overnight",
"de": "Dies ist ein Medizinisches Versorgungszentrum - Patienten können nicht über Nacht bleiben",
"ca": "Açò és una clínica: els pacients no poden passar la nit",
"cs": "Toto je klinika - pacienti nemohou zůstat přes noc"
}
},
{
"if": "amenity=hospital",
"then": {
"en": "This is a hospital - patients can be admitted here for multiple days",
"de": "Dies ist ein Krankenhaus - Patienten können hier für mehrere Tage aufgenommen werden",
"ca": "Es tracta d'un hospital: els pacients poden estar ingressats aquí durant diversos dies",
"cs": "Jedná se o nemocnici pacienti zde mohou být přijímáni na více dní"
}
}
],
"questionHint": {
"en": "An inpatient is a patient which stays for multiple days in the facility",
"de": "Ein stationärer Patient ist ein Patient, der mehrere Tage in der Einrichtung bleibt",
"ca": "Un pacient hospitalitzat és un pacient que roman diversos dies a la instal·lació",
"cs": "Hospitalizovaný pacient je pacient, který v zařízení pobývá více dní"
}
},
{
"id": "phone",
"labels": [
"contact"
],
"question": {
"en": "What is the phone number of {title()}?",
"nl": "Wat is het telefoonnummer van {title()}?",
"fr": "Quel est le numéro de téléphone de {title()} ?",
"de": "Wie lautet die Telefonnummer von {title()}?",
"nb_NO": "Hva er telefonnummeret til {title()}?",
"ru": "Какой номер телефона у {title()}?",
"sv": "Vad är telefonnumret till {title()}?",
"zh_Hant": "{title()} 的電話號碼是什麼?",
"it": "Qual è il numero di telefono di {title()}?",
"pt_BR": "Qual o número de telefone de {title()}?",
"id": "Berapa nomor telepon dari {title()}?",
"pl": "Jaki jest numer telefonu do {title()}?",
"pt": "Qual é o número de telefone de {title()}?",
"eo": "Kio estas la telefonnumero de {title()}?",
"hu": "Mi a telefonszáma ennek: {title()}?",
"ca": "Quin és el telèfon de {title()}?",
"ja": "{title()}の電話番号は?",
"sl": "Kakšno telefonsko številko ima {title()}?",
"fil": "Ano ang telepono ng {title()}?",
"es": "¿Cuál es el número de teléfono de {title()}?",
"zh_Hans": "{title()} 的电话号码为何?",
"da": "Hvad er telefonnummeret til {title()}?",
"cs": "Jaké je telefonní číslo {title()}?"
},
"render": {
"*": "<a href='tel:{phone}'>{phone}</a>"
},
"icon": "./assets/layers/questions/phone.svg",
"mappings": [
{
"if": "contact:phone~*",
"then": "<a href='tel:{contact:phone}'>{contact:phone}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/questions/phone.svg"
}
],
"freeform": {
"key": "phone",
"type": "phone",
"addExtraTags": [
"contact:phone="
]
},
"editButtonAriaLabel": {
"en": "Edit phone number",
"nl": "Pas telefoonnummer aan",
"de": "Telefonnummer bearbeiten"
}
},
{
"id": "email",
"render": {
"*": "<a href='mailto:{email}' target='_blank' rel='noopener'>{email}</a>"
},
"icon": "./assets/svg/envelope.svg",
"labels": [
"contact"
],
"question": {
"nl": "Wat is het e-mailadres van {title()}?",
"fr": "Quelle est l'adresse courriel de {title()} ?",
"en": "What is the email address of {title()}?",
"nb_NO": "Hva er e-postadressen til {title()}?",
"ru": "Какой адрес электронной почты у {title()}?",
"id": "Apa alamat surel dari {title()}?",
"zh_Hant": "{title()} 的電子郵件地址是什麼?",
"it": "Qual è l'indirizzo email di {title()}?",
"de": "Wie lautet die Mail-Adresse von {title()}?",
"pt_BR": "Qual o endereço de e-mail de {title()}?",
"pl": "Jaki jest adres e-mail do {title()}?",
"sv": "Vad är e-postadressen till {title()}?",
"pt": "Qual é o endereço de e-mail de {title()}?",
"eo": "Kio estas la retpoŝta adreso de {title()}?",
"hu": "Mi a(z) {title()} e-mail címe?",
"ca": "Quina és l'adreça de correu electrònic de {title()}?",
"ja": "{title()}のEメールアドレスは何ですか",
"sl": "Kakšen naslov elektronske pošte ima {title()}?",
"fil": "Ano ang email address ng {title()}?",
"es": "¿Cuál es la dirección de correo electrónico de {title()}?",
"zh_Hans": "{title()} 的电子邮箱地址为何?",
"da": "Hvad er mailadressen på {title()}?",
"cs": "Jaká je e-mailová adresa {title()}?"
},
"mappings": [
{
"if": "contact:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{contact:email}' target='_blank' rel='noopener'>{contact:email}</a>",
"hideInAnswer": true
},
{
"if": "operator:email~*",
"icon": "./assets/svg/envelope.svg",
"then": "<a href='mailto:{operator:email}' target='_blank' rel='noopener'>{operator:email}</a>",
"hideInAnswer": true
}
],
"freeform": {
"key": "email",
"type": "email",
"addExtraTags": [
"contact:email="
]
},
"editButtonAriaLabel": {
"en": "Edit email address",
"nl": "Pas emailadres aan",
"de": "E-Mail Adresse bearbeiten"
}
},
{
"id": "website",
"labels": [
"contact"
],
"icon": "./assets/layers/icons/website.svg",
"question": {
"en": "What is the website of {title()}?",
"nl": "Wat is de website van {title()}?",
"fr": "Quel est le site web de {title()} ?",
"gl": "Cal é a páxina web de {title()}?",
"nb_NO": "Hva er nettsiden til {title()}?",
"ru": "Какой сайт у {title()}?",
"id": "Apa situs web dari {title()}?",
"zh_Hant": "{title()} 網址是什麼?",
"it": "Qual è il sito web di {title()}?",
"de": "Wie lautet die Webseite von {title()}?",
"pt_BR": "Qual o site de {title()}?",
"pl": "Jaka jest strona internetowa {title()}?",
"sv": "Vad är webbplatsen för {title()}?",
"pt": "Qual é o sítio web de {title()}?",
"eo": "Kie estas la retejo de {title()}?",
"hu": "Mi a weboldala ennek: {title()}?",
"ca": "Quina és la web de {title()}?",
"ja": "{title()}のウェブサイトは?",
"fil": "Ano ang website ng {title()}?",
"es": "¿Cual es el sitio web de {title()}?",
"zh_Hans": "{title()} 的网站为何?",
"da": "Hvad er webstedet for {title()}?",
"cs": "Jaká je webová stránka {title()}?"
},
"render": {
"*": "<a href='{website}' rel='nofollow noopener noreferrer' target='_blank'>{website}</a>"
},
"freeform": {
"key": "website",
"type": "url",
"addExtraTags": [
"contact:website="
]
},
"mappings": [
{
"if": "contact:website~*",
"then": "<a href='{contact:website}' rel='nofollow noopener noreferrer' target='_blank'>{contact:website}</a>",
"hideInAnswer": true,
"icon": "./assets/layers/icons/website.svg"
}
],
"editButtonAriaLabel": {
"en": "Edit website",
"nl": "Pas website aan",
"de": "Webseite bearbeiten"
}
},
{
"id": "oh-visitor",
"question": {
"en": "When are visitors allowed to visit?",
"de": "Wann ist der Besuch für Besucher gestattet?",
"ca": "Quan poden anar els visitants?",
"cs": "Kdy je povolena návštěva?"
},
"questionHint": {
"en": "These are the regular visitor hours. Some wands have different visitor hours or might allow visitors in emergencies",
"de": "Dies sind die regulären Besuchszeiten. Einige Stationen haben andere Besuchszeiten oder erlauben Besucher in Notfällen",
"ca": "Aquests són els horaris habituals dels visitants. Algunes plantes tenen diferents horaris de visita o poden permetre els visitants en cas d'emergència",
"cs": "Jedná se o pravidelné návštěvní hodiny. Některé oddělení mají jiné návštěvní hodiny nebo mohou povolit návštěvy v naléhavých případech"
},
"freeform": {
"key": "opening_hours:visitors",
"type": "opening_hours",
"inline": false
},
"render": {
"en": "<h3>Opening hours for visitors</h3>Regular visitors are allowed at the following moments: {opening_hours_table(opening_hours:visitors)}<p class='subtle'>Some wands might have different opening hours. Many hospitals allow visits during emergencies too.</p>",
"de": "<h3>Öffnungszeiten für Besucher</h3>Regelmäßige Besucher sind zu den folgenden Zeiten zugelassen: {opening_hours_table(opening_hours:visitors)}<p class='subtle'>Einige Krankenhäuser haben möglicherweise andere Öffnungszeiten. Viele Krankenhäuser erlauben Besuche auch in Notfällen.</p>",
"ca": "<h3>Horari d'obertura per a visitants</h3>S'admeten visitants habituals en els moments següents: {opening_hours_table(opening_hours:visitors)}<p class='subtle'>Algunes palntes poden tenir un horari d'obertura diferent. Molts hospitals també permeten visites en cas d'emergència.</p>",
"cs": "<h3>Otevírací doba pro návštěvníky</h3>Běžným návštěvníkům je vstup povolen v následujících časech: {opening_hours_table(opening_hours:visitors)}<p class='subtle'>Některá oddělení mohou mít jinou otevírací dobu. Mnohé nemocnice povolují návštěvy i v době pohotovosti.</p>"
}
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "circle",
"color": "white"
},
{
"icon": "./assets/layers/hospital/hospital.svg"
}
]
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,996 @@
{
"id": "hydrant",
"name": {
"en": "Map of hydrants",
"ja": "消火栓の地図",
"zh_Hant": "消防栓地圖",
"nb_NO": "Kart over brannhydranter",
"ru": "Карта пожарных гидрантов",
"fr": "Carte des bornes incendie",
"de": "Hydranten",
"it": "Mappa degli idranti",
"nl": "Kaart van brandkranen",
"es": "Mapa de bocas de incendios",
"ca": "Mapa d'hidrants",
"cs": "Mapa hydrantů"
},
"description": {
"en": "Map layer to show fire hydrants.",
"ja": "消火栓を表示するマップレイヤ。",
"zh_Hant": "顯示消防栓的地圖圖層。",
"nb_NO": "Kartlag for å vise brannhydranter.",
"ru": "Слой карты, отображающий пожарные гидранты.",
"fr": "Couche des bornes incendie.",
"de": "Kartenebene zur Anzeige von Hydranten.",
"it": "Livello della mappa che mostra gli idranti antincendio.",
"nl": "Kaartlaag met brandkranen.",
"es": "Un mapa que muestra bocas de incendios.",
"ca": "Una capa que mostra hidrants.",
"cs": "Mapová vrstva zobrazující požární hydranty."
},
"source": {
"osmTags": {
"and": [
"emergency=fire_hydrant"
]
}
},
"minzoom": 14,
"title": {
"render": {
"en": "Hydrant",
"ru": "Гидрант",
"ja": "消火栓",
"nb_NO": "Brannhydrant",
"fr": "Bornes incendie",
"de": "Hydrant",
"it": "Idrante",
"nl": "Brandkraan",
"ca": "Hidrant",
"es": "Boca de incendios",
"pa_PK": "ہائڈرنٹ",
"cs": "Hydrant"
}
},
"pointRendering": [
{
"iconSize": "20,20",
"location": [
"point",
"centroid"
],
"anchor": "center",
"marker": [
{
"icon": {
"render": "./assets/themes/hailhydrant/hydrant.svg",
"id": "assetsthemeshailhydranthydrantsvg"
}
}
],
"iconBadges": [
{
"if": "_favourite=yes",
"then": "circle:white;heart:red"
}
]
}
],
"lineRendering": [
{
"color": "#00f",
"width": "8"
}
],
"presets": [
{
"tags": [
"emergency=fire_hydrant"
],
"title": {
"en": "a fire hydrant",
"ru": "Пожарный гидрант",
"ja": "消火栓",
"nb_NO": "en brannhydrant",
"fr": "une borne incendie",
"de": "einen Hydranten",
"it": "una idrante antincendio",
"nl": "een brandkraan",
"es": "una boca de incendios",
"ca": "un hidrant",
"cs": "požární hydrant"
},
"description": {
"en": "A hydrant is a connection point where firefighters can tap water. It might be located underground.",
"ja": "消火栓は消防士が水を汲み上げることができる接続点です。地下にあるかもしれません。",
"fr": "Une borne incendie est un point où les pompiers peuvent salimenter en eau. Elle peut être enterrée.",
"de": "Ein Hydrant ist ein Anschlusspunkt, an dem die Feuerwehr Wasser zapfen kann. Er kann sich unterirdisch befinden.",
"it": "Un idrante è un punto di collegamento dove i pompieri possono estrarre acqua. Potrebbe trovarsi sottoterra.",
"nl": "Een brandkraan is een kraan waar brandweerlieden een brandslang kunnen aansluiten. Soms zit deze ondergronds.",
"es": "Una boca de incendios es un punto de conexión en el que los bomberos pueden conseguir agua. Puede situarse bajo tierra.",
"ca": "Un hidrant és un punt de connexió on els bombers poden aconseguir aigua. Pot estar baix terra.",
"ru": "Гидрант приспособление, с помощью которого пожарные могут подключаться к водопроводу. Гидранты могут быть под землёй.",
"cs": "Hydrant je přípojné místo, odkud mohou hasiči čerpat vodu. Může být umístěn pod zemí."
}
}
],
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "hydrant-color",
"question": {
"en": "What color is the hydrant?",
"ja": "消火栓の色は何色ですか?",
"nb_NO": "Hvilken farge har brannhydranten?",
"ru": "Какого цвета гидрант?",
"fr": "Quelle est la couleur de la borne ?",
"de": "Welche Farbe hat der Hydrant?",
"it": "Qual è il colore dellidrante?",
"nl": "Welke kleur heeft de brandkraan?",
"es": "¿De que color es la boca de incendios?",
"ca": "De quin color es l'hidrant?",
"cs": "Jakou barvu má hydrant?"
},
"render": {
"en": "The hydrant color is {colour}",
"ja": "消火栓の色は{colour}です",
"nb_NO": "Brannhydranter er {colour}",
"ru": "Цвет гидранта {colour}",
"fr": "La borne est {colour}",
"de": "Der Hydrant hat die Farbe {colour}",
"it": "Il colore dellidrante è {colour}",
"nl": "De brandkraan is {colour}",
"es": "La boca de incendios es de color {colour}",
"ca": "L'hidrant és de color {colour}",
"cs": "Barva hydrantu je {colour}"
},
"freeform": {
"key": "colour",
"inline": true
},
"mappings": [
{
"if": {
"and": [
"colour=yellow"
]
},
"then": {
"en": "The hydrant color is yellow.",
"ja": "消火栓の色は黄色です。",
"ru": "Гидрант жёлтого цвета.",
"fr": "La borne est jaune.",
"de": "Die Farbe des Hydranten ist gelb.",
"it": "Il colore dellidrante è giallo.",
"nl": "De brandkraan is geel.",
"es": "La boca de incendios es amarilla.",
"ca": "L'hidrant és de color groc.",
"cs": "Barva hydrantu je žlutá."
}
},
{
"if": {
"and": [
"colour=red"
]
},
"then": {
"en": "The hydrant color is red.",
"ja": "消火栓の色は赤です。",
"it": "L'idrante è rosso.",
"ru": "Гидрант красного цвета.",
"fr": "La borne est rouge.",
"de": "Die Farbe des Hydranten ist rot.",
"nl": "De brandkraan is rood.",
"ca": "L'hidrant és de color roig.",
"es": "La boca de incendios es roja.",
"cs": "Barva hydrantu je červená."
}
}
]
},
{
"id": "hydrant-type",
"question": {
"en": "What type of hydrant is it?",
"ja": "どんな消火栓なんですか?",
"it": "Di che tipo è questo idrante?",
"ru": "Какого вида этот гидрант?",
"fr": "De quel type de borne sagit-il ?",
"de": "Welche Bauform hat der Hydrant?",
"nl": "Wat voor soort brandkraan is dit?",
"es": "¿De qué tipo es esta boca de incendios?",
"ca": "Quin tipus d'hidrant és?",
"cs": "O jaký typ hydrantu se jedná?"
},
"freeform": {
"key": "fire_hydrant:type",
"inline": true
},
"render": {
"en": " Hydrant type: {fire_hydrant:type}",
"ru": " Вид гидранта: {fire_hydrant:type}",
"ja": " 消火栓のタイプ:{fire_hydrant:type}",
"it": " Tipo di idrante: {fire_hydrant:type}",
"fr": " Type de borne : {fire_hydrant:type}",
"de": " Hydranten-Typ: {fire_hydrant:type}",
"nl": " Het type brandkraan is {fire_hydrant:type}",
"es": " Tipo de boca de incendios: {fire_hydrant:type}",
"ca": " Tipus d'hidrants: {fire_hydrant:type}",
"cs": " Typ hydrantu: {fire_hydrant:type}"
},
"mappings": [
{
"if": {
"and": [
"fire_hydrant:type=pillar"
]
},
"then": {
"en": "Pillar type.",
"ja": "ピラー型。",
"fr": "Pilier.",
"de": "Überflurhydrant.",
"it": "Soprasuolo.",
"nl": "Pillaar type.",
"es": "De pilar.",
"ca": "De pilar.",
"ru": "Наземный.",
"cs": "Typ sloupek."
},
"icon": {
"path": "./assets/themes/hailhydrant/hydrant_pillar.svg",
"class": "small"
}
},
{
"if": {
"and": [
"fire_hydrant:type=pipe"
]
},
"then": {
"en": "Pipe type.",
"ja": "パイプ型。",
"fr": "Tuyau.",
"de": "Druckloses Rohr.",
"it": "Tubo.",
"nl": "Buis type.",
"es": "De tubería.",
"ca": "De tuberia.",
"ru": "Труба.",
"cs": "Typ potrubí."
},
"icon": {
"path": "./assets/themes/hailhydrant/hydrant_unknown.svg",
"class": "small"
}
},
{
"if": {
"and": [
"fire_hydrant:type=wall"
]
},
"then": {
"en": "Wall type.",
"id": "Jenis dinding.",
"ru": "Настенный.",
"ja": "壁型。",
"fr": "Mural.",
"de": "Wandhydrant.",
"it": "A muro.",
"nl": "Muur type.",
"es": "De pared.",
"ca": "De paret.",
"cs": "Nástěnný typ."
},
"icon": {
"path": "./assets/themes/hailhydrant/hydrant_unknown.svg",
"class": "small"
}
},
{
"if": {
"and": [
"fire_hydrant:type=underground"
]
},
"then": {
"en": "Underground type.",
"ja": "地下式。",
"fr": "Enterré.",
"de": "Unterflurhydrant.",
"it": "Sottosuolo.",
"nl": "Ondergronds type.",
"ca": "Subterrani.",
"es": "Bajo tierra.",
"ru": "Подземный.",
"cs": "Podzemní typ."
},
"icon": {
"path": "./assets/themes/hailhydrant/hydrant_underground.svg",
"class": "small"
}
}
]
},
{
"id": "hydrant-state",
"question": {
"en": "Is this hydrant still working?",
"ja": "消火栓のライフサイクルステータスを更新します。",
"fr": "Cette borne incendie est-elle toujours en bon état de fonctionnement ?",
"de": "Ist dieser Hydrant noch in Betrieb?",
"it": "Aggiorna lo stato di funzionamento dellidrante.",
"nl": "Werkt deze brandkraan nog?",
"es": "¿Todavía funciona esta boca de incendios?",
"ca": "Encara funciona aquest hidrant?",
"ru": "Этот гидрант в рабочем состоянии?",
"cs": "Je tento hydrant stále funkční?"
},
"mappings": [
{
"if": {
"and": [
"emergency=fire_hydrant"
]
},
"then": {
"en": "The hydrant is (fully or partially) working",
"ja": "消火栓は(完全にまたは部分的に)機能しています。",
"ru": "Гидрант (полностью или частично) в рабочем состоянии",
"fr": "La borne est en état (ou partiellement en état) de fonctionner",
"de": "Der Hydrant ist (ganz oder teilweise) in Betrieb",
"it": "Lidrante è (parzialmente o completamente) funzionante.",
"nl": "De brandkraan werkt (minstens gedeeltelijk)",
"es": "La boca de incendios funciona (total o parcialmente)",
"ca": "L'hidrant funciona (total o parcialment)",
"cs": "Hydrant je (plně nebo částečně) funkční"
}
},
{
"if": {
"and": [
"disused:emergency=fire_hydrant",
"emergency="
]
},
"then": {
"en": "The hydrant is unavailable",
"ja": "消火栓は使用できません。",
"fr": "La borne est hors-service",
"de": "Der Hydrant ist nicht mehr in Betrieb",
"it": "Lidrante è fuori servizio.",
"nl": "De brandkraan is niet beschikbaar",
"es": "La boca de incendios no está disponible",
"ca": "L'hidrant no està disponible",
"ru": "К гидранту нет доступа",
"cs": "Hydrant je nedostupný"
}
},
{
"if": {
"and": [
"removed:emergency=fire_hydrant",
"emergency="
]
},
"then": {
"en": "The hydrant has been removed",
"ja": "消火栓が撤去されました。",
"ru": "Гидрант демонтирован",
"fr": "La borne a été retirée",
"de": "Der Hydrant wurde entfernt",
"it": "Lidrante è stato rimosso.",
"nl": "Deze brandkraan is verwijderd",
"es": "La boca de incendios se ha retirado",
"ca": "L'hidrant s'ha retirat",
"cs": "Hydrant byl odstraněn"
}
}
]
},
{
"id": "hydrant-diameter",
"question": {
"en": "What is the pipe diameter of this hydrant?",
"de": "Was ist der Rohrdurchmesser dieses Hydranten?",
"nl": "Wat is de pijpdiameter van deze hydrant?",
"ca": "Quin és el diàmetre d'aquest hidrant?",
"ru": "Какой диаметр трубы у этого гидранта?",
"fr": "Quel est le diamètre du tuyau de cette bouche d'incendie ?",
"cs": "Jaký je průměr trubky tohoto hydrantu?"
},
"freeform": {
"key": "fire_hydrant:diameter",
"placeholder": {
"en": "Pipe diameter",
"de": "Rohrdurchmesser",
"nl": "Pijpdiameter",
"ru": "Диаметр трубы",
"ca": "Diàmetre de la canonada",
"cs": "Průměr trubky"
},
"type": "int",
"inline": false
},
"render": {
"en": "Pipe diameter: {canonical(fire_hydrant:diameter)}",
"de": "Rohrdurchmesser: {canonical(fire_hydrant:diameter)}",
"nl": "Pijpdiameter:{canonical(fire_hydrant:diameter)}",
"ru": "Диаметр трубы: {canonical(fire_hydrant:diameter)}",
"ca": "Diàmetre de la canonada: {canonical(fire_hydrant:diameter)}",
"cs": "Průměr trubky: {canonical(fire_hydrant:diameter)}"
}
},
{
"id": "hydrant-number-of-couplings",
"question": {
"en": "How many couplings does this fire hydrant have?",
"de": "Wie viele Kupplungen hat dieser Hydrant?",
"nl": "Hoe veel koppelingen bezit deze brandkraan?",
"ca": "Quants acoblaments té aquest hidrant?",
"fr": "Combien de raccords a cette bouche d'incendie ?",
"cs": "Kolik spojek má tento požární hydrant?"
},
"freeform": {
"key": "couplings",
"placeholder": {
"en": "Number of couplings",
"de": "Anzahl der Kupplungen",
"nl": "Aantal koppelingen",
"ca": "Nombre d'acoblaments",
"cs": "Počet spojek"
},
"type": "int",
"inline": true
},
"render": {
"en": "Number of couplings: {couplings}",
"de": "Anzahl der Kupplungen: {couplings}",
"nl": "Aantal koppelingen: {couplings}",
"ca": "Nombre d'acoblaments: {couplings}",
"cs": "Počet spojek: {couplings}"
}
},
{
"id": "hydrant-couplings",
"question": {
"en": "What kind of couplings does this hydrant have?",
"de": "Welche Art von Kupplungen hat dieser Hydrant?",
"nl": "Welke soort koppeling heeft deze hydrant?",
"ca": "Quin tipus dacoblament té aquest hidrant?",
"ru": "Какого вида соединительные головки у этого гидранта?",
"cs": "Jaký typ spojky má tento hydrant?"
},
"freeform": {
"key": "couplings:type",
"placeholder": {
"en": "Coupling type",
"de": "Art der Kupplung",
"nl": "Soort koppeling",
"ru": "Тип соединительной головки",
"ca": "Tipus d'acoblament",
"cs": "Typ spoje"
},
"type": "string",
"inline": true
},
"mappings": [
{
"if": "couplings:type=Storz",
"then": {
"en": "Storz coupling",
"de": "Storz-Kupplung",
"nl": "Storz-koppeling",
"ca": "Acoblament Storz",
"ru": "Головка типа Storz",
"cs": "Spojka Storz"
},
"icon": {
"path": "./assets/layers/hydrant/storz.jpg",
"class": "large"
}
},
{
"if": "couplings:type=UNI",
"then": {
"en": "UNI coupling",
"de": "UNI-Kupplung",
"nl": "UNI-koppeling",
"ca": "Acoblament UNI",
"ru": "Головка типа UNI",
"cs": "Spojka UNI"
}
},
{
"if": "couplings:type=Barcelona",
"then": {
"en": "Barcelona coupling",
"de": "Barcelona-Kupplung",
"nl": "Barcelona-koppeling",
"ca": "Acoblament Barcelona",
"ru": "Головка типа Barcelona",
"cs": "Spojka Barcelona"
},
"icon": {
"path": "./assets/layers/hydrant/barcelona.jpg",
"class": "large"
}
}
],
"multiAnswer": true,
"render": {
"en": "Couplings: {couplings:type}",
"de": "Kupplungen: {couplings:type}",
"nl": "Koppelingen:{couplings:type}",
"ru": "Соединительные головки: {couplings:type}",
"ca": "Acoblaments: {couplings:type}",
"cs": "Spojky: {couplings:type}"
}
},
{
"id": "hydrant-couplings-diameters",
"question": {
"en": "What diameter are the couplings of this hydrant?",
"de": "Welchen Durchmesser haben die Kupplungen dieses Hydranten?",
"nl": "Welke diameter hebben de koppelingen van deze hydrant?",
"ca": "Quin és el diàmetre dels acoblaments d'aquest hidrant?",
"ru": "Какой диаметр соединительных головок у этого гидранта?",
"cs": "Jaký průměr mají spojky tohoto hydrantu?"
},
"freeform": {
"key": "couplings:diameters",
"placeholder": {
"en": "Coupling diameters",
"de": "Kupplungsdurchmesser",
"nl": "Koppeldiameters",
"ru": "Диаметры соединительных головок",
"ca": "Diàmetres d'acoblament",
"cs": "Průměr spojek"
},
"inline": true
},
"render": {
"en": "Coupling diameters: {couplings:diameters}",
"de": "Kupplungsdurchmesser: {couplings:diameters}",
"nl": "Koppelingdiameters:{couplings:diameters}",
"ru": "Диаметр соединительных головок: {couplings:diameters}",
"ca": "Diàmetres d'acoblament: {couplings:diameters}",
"cs": "Průměry spojek: {couplings:diameters}"
}
},
{
"id": "images",
"description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images",
"render": {
"*": "{image_carousel()}{image_upload()}{nearby_images():my-4}"
},
"classes": "my-4"
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "move-button",
"render": {
"*": "{move_button()}"
}
},
{
"id": "last_edit",
"labels": [
"added_by_default"
],
"description": "Gives some metainfo about the last edit and who did edit it - rendering only",
"condition": {
"and": [
"_last_edit:contributor~*",
"_last_edit:changeset~*"
]
},
"metacondition": {
"or": [
"__featureSwitchIsTesting=true",
"__featureSwitchIsDebugging=true",
"mapcomplete-show_debug=yes",
"_csCount>=10"
]
},
"render": {
"ca": "{link(Darrera edició el &LBRACE_last_edit:timestamp&RBRACE per &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"cs": "{link(Naposledy upravil &LBRACE_last_edit:timestamp&RBRACE &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"de": "{link(Zuletzt bearbeitet am &LBRACE_last_edit:timestamp&RBRACE von &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"en": "{link(Last edited on &LBRACE_last_edit:timestamp&RBRACE by &LBRACE_last_edit:contributor&RBRACE,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}",
"nl": "{link(Laatst gewijzigd op &LBRACE_last_edit:timestamp&RBRACE door &LBRACE_last_edit:contributor&RBRACE ,&LBRACE_backend&RBRACE/changeset/&LBRACE_last_edit:changeset&RBRACE,subtle font-small,,)}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"allowMove": {
"enableRelocation": false,
"enableImproveAccuracy": true
},
"units": [
{
"fire_hydrant:diameter": {
"quantity": "distance",
"denominations": [
"mm"
]
}
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": [
{
"icon": "./assets/themes/hailhydrant/hydrant.svg"
}
]
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,683 @@
{
"id": "icons",
"description": {
"en": "A layer acting as library for icon-tagrenderings, especially to show as badge next to a POI",
"de": "Eine Ebene, die als Bibliothek für Symbol-Tag-Renderings dient, insbesondere um als Abzeichen neben einem POI angezeigt zu werden",
"ca": "Una capa que actua com a biblioteca per a les icones d'etiquetes, especialment per mostrar-se com a insígnia al costat d'un PDI",
"cs": "Vrstva sloužící jako knihovna pro ikony-značky, zejména pro zobrazení jako odznak vedle bodu zájmu"
},
"source": "special:library",
"title": null,
"pointRendering": null,
"lineRendering": null,
"tagRenderings": [
{
"id": "just_created",
"labels": [
"added_by_default"
],
"description": "This element shows a 'thank you' that the contributor has recently created this element",
"classes": "rounded-xl thanks",
"mappings": [
{
"if": "id~*",
"icon": "./assets/svg/party.svg",
"then": {
"ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.",
"de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.",
"en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.",
"fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.",
"nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen.",
"cs": "Tento prvek jste právě vytvořili! Díky za sdílení těchto informací se světem a pomoc lidem po celém světě."
}
}
],
"condition": {
"and": [
"_backend~*",
"_last_edit:passed_time<300",
{
"or": [
"_version_number=",
"_version_number=1"
]
}
]
},
"metacondition": {
"and": [
{
"#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet",
"or": [
"_last_edit:contributor:uid:={_uid}",
"_last_edit:contributor:uid="
]
}
]
}
},
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "isOpen",
"#": "Shows a coloured clock if opening hours are parsed. Uses the metatagging, suitable to use as a (badged) overlay",
"mappings": [
{
"if": "_isOpen=yes",
"then": "clock:#0f0;ring:#0f0"
},
{
"if": "_isOpen=no",
"then": "circle:#f00;clock:#fff"
},
{
"#": "Still loading the country",
"if": {
"and": [
"_isOpen=",
"opening_hours~*"
]
},
"then": "clock:#ff0;ring:#ff0"
},
{
"#": "Still loading the country",
"if": {
"and": [
"_isOpen=parse_error",
"opening_hours~*"
]
},
"then": "circle:#f0f;clock:#fff"
}
],
"metacondition": "__showTimeSensitiveIcons!=no"
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
},
{
"id": "favourite_icon",
"description": "Only for rendering",
"condition": "_favourite=yes",
"icon": "circle:white;heart:red",
"metacondition": "__showTimeSensitiveIcons!=no"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "leftover-questions",
"render": {
"*": "{questions( ,)}"
}
},
{
"id": "lod",
"labels": [
"added_by_default"
],
"render": {
"*": "{linked_data_from_website()}"
}
},
{
"id": "minimap",
"description": "Shows a small map with the feature. Added by default to every popup",
"render": {
"*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}"
}
},
{
"id": "favourite_status",
"render": {
"*": "{favourite_status()}"
}
},
{
"id": "qr_code",
"labels": [
"added_by_default"
],
"classes": "flex items-center gap-x-2",
"render": {
"de": "{qr_code()}Scannen Sie den Code, um diesen Ort auf einem anderen Gerät zu öffnen",
"en": "{qr_code()}Scan this code to open this location on another device",
"nl": "{qr_code()}Scan deze code om deze locatie op een ander apparaat te zien",
"sl": "{qr_code()}Skenirajte to kodo, da odprete ta kraj na drugi napravi"
}
},
{
"id": "share",
"labels": [
"added_by_default"
],
"metacondition": "_supports_sharing=yes",
"render": {
"de": "{share_link(,Standort teilen)}",
"en": "{share_link(,Share this location)}",
"nl": "{share_link(,Deel deze locatie)}"
}
},
{
"id": "all-tags",
"render": {
"*": "{all_tags()}"
},
"metacondition": {
"or": [
"__featureSwitchIsDebugging=true",
"mapcomplete-show_tags=full",
"mapcomplete-show_debug=yes"
]
}
}
],
"titleIcons": [
{
"id": "wikipedialink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"condition": {
"or": [
"wikipedia~*",
"wikidata~*"
]
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
]
},
{
"id": "open_until",
"labels": [
"defaults",
"in_favourite"
],
"#": "Titleicon showing e.g. 'open until 17:00'",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{opening_hours_state()}",
"condition": {
"or": [
"opening_hours~*",
{
"or": [
{
"and": [
"seasonal~.*winter.*",
"_now:date~....-(12|01|02)-.."
]
},
{
"and": [
"seasonal~.*spring.*",
"_now:date~....-(03|04|05)-.."
]
},
{
"and": [
"seasonal~.*summer.*",
"_now:date~....-(06|07|08)-.."
]
},
{
"and": [
"seasonal~.*autumn.*",
"_now:date~....-(09|10|11)-.."
]
}
]
}
]
}
},
{
"id": "phonelink",
"labels": [
"defaults",
"in_favourite"
],
"render": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEphone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.render"
},
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:phone~*",
"then": {
"de": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefon)}",
"en": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,phone)}",
"nl": "{link(<img textmode='📞' alt='phone' src='./assets/layers/questions/phone.svg'/>,tel:&LBRACEcontact:phone&RBRACE,,,Telefoneer)}",
"_context": "layers:icons.tagRenderings.phonelink.mappings.0.then"
}
}
],
"condition": {
"or": [
"phone~*",
"contact:phone~*"
]
}
},
{
"id": "emaillink",
"labels": [
"defaults",
"in_favourite"
],
"render": "<a href='mailto:{email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>",
"mappings": [
{
"#": "ignore-image-in-then",
"if": "contact:email~*",
"then": "<a href='mailto:{contact:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:email~*",
"then": "<a href='mailto:{operator:email}'><img textmode='✉️' alt='email' src='./assets/layers/questions/send_email.svg'/></a>"
}
],
"condition": {
"or": [
"email~*",
"contact:email~*",
"operator:email~*"
]
}
},
{
"id": "websitelink",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "website~*",
"then": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "operator:website~*",
"then": "<a href='{operator:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
},
{
"#": "ignore-image-in-then",
"if": "context:website~*",
"then": "<a href='{contact:website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>"
}
]
},
{
"id": "smokingicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"#": "ignore-image-in-then",
"if": "smoking=no",
"then": "<img textmode='🚭️' alt='no smoking' src='./assets/layers/questions/no_smoking.svg'/>"
},
{
"#": "ignore-image-in-then",
"if": "smoking=yes",
"then": "<img textmode='🚬️' alt='smoking allowed' src='./assets/layers/questions/smoking.svg'/>"
}
]
},
{
"id": "dogicon",
"labels": [
"defaults",
"in_favourite"
],
"mappings": [
{
"if": "dog=no",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕 ⃠' alt='no_dogs' src='./assets/layers/questions/no_dogs.svg'>"
},
{
"if": "dog=leashed",
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed but leashed' src='./assets/layers/questions/dogs_leashed.svg'>"
},
{
"if": {
"or": [
"dog=yes",
"dog=unleashed"
]
},
"#": "ignore-image-in-then",
"then": "<img textmode='🐕' alt='dogs are allowed' src='./assets/layers/questions/dogs_allowed.svg'>"
}
]
},
{
"id": "sharelink",
"labels": [
"defaults"
],
"render": "{share_link()}",
"metacondition": "_supports_sharing=yes"
},
{
"id": "favourite_title_icon",
"labels": [
"defaults"
],
"render": {
"*": "{favourite_icon()}"
},
"metacondition": "_loggedIn=true"
},
{
"id": "osmlink",
"labels": [
"defaults"
],
"render": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,https://openstreetmap.org/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.render"
},
"mappings": [
{
"if": "id~.*/-.*",
"then": ""
},
{
"#": "ignore-image-in-then",
"if": "_backend~*",
"then": {
"de": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Auf openstreetmap.org öffnen)}",
"en": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Open on openstreetmap.org)}",
"nl": "{link(<img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/>,&LBRACE_backend&RBRACE/&LBRACEid&RBRACE,,,Bekijk op openstreetmap.org)}",
"_context": "layers:icons.tagRenderings.osmlink.mappings.1.then"
}
}
],
"condition": "id~(node|way|relation)/[0-9]*"
},
{
"id": "direction",
"labels": [
"defaults",
"in_favourite"
],
"render": "{direction_indicator()}"
},
{
"id": "rating",
"icon": {
"class": "w-20 mx-1 flex items-center"
},
"render": "{rating()}"
}
],
"_layerIcon": []
}

File diff suppressed because it is too large Load diff

Some files were not shown because too many files have changed in this diff Show more