Merge branch 'develop' into filter-free

This commit is contained in:
Pieter Vander Vennet 2025-08-25 11:11:16 +00:00
commit 734955876e
169 changed files with 5916 additions and 1183 deletions

View file

@ -2,6 +2,42 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
### [0.55.5](https://source.mapcomplete.org/MapComplete/MapComplete/compare/v0.55.4...v0.55.5) (2025-08-19)
### Bug Fixes
* fix rendering of 'scissors' icon when splitting way ([4a63ca8](https://source.mapcomplete.org/MapComplete/MapComplete/commits/4a63ca8cb63a7a556f745edcf50382722238b8a6))
* fix small background crashes ([a073b9d](https://source.mapcomplete.org/MapComplete/MapComplete/commits/a073b9de94bb0295a5828224c3b6a5fb59e69fa4))
### Theme improvements
* **food:** collapsable group now has icons of supported diets ([2475567](https://source.mapcomplete.org/MapComplete/MapComplete/commits/24755670cc1576ae0477fff8655cfc824ecd2071))
* **pets:** attempt to fix build ([b74c0d2](https://source.mapcomplete.org/MapComplete/MapComplete/commits/b74c0d2768288e0039b45b3be3198b7baebd454c))
* **rolling_stock:** add snap to 'railway' function ([06da7a0](https://source.mapcomplete.org/MapComplete/MapComplete/commits/06da7a0cf48976ae6df5cf5e9d941c55f10d6328))
* **width:** add more editing options ([01e713b](https://source.mapcomplete.org/MapComplete/MapComplete/commits/01e713b1e5ab074aecb5a9d02d3a5f78dcbb2b4b))
### [0.55.4](https://source.mapcomplete.org/MapComplete/MapComplete/compare/v0.55.3...v0.55.4) (2025-08-19)
### [0.55.3](https://source.mapcomplete.org/MapComplete/MapComplete/compare/v0.55.2...v0.55.3) (2025-08-19)
### Bug Fixes
* fix crash in collection times picker ([e2fc678](https://source.mapcomplete.org/MapComplete/MapComplete/commits/e2fc678ec9e694578927f0c7aeab86a0298041d4))
* fix statistics ([b61bc6d](https://source.mapcomplete.org/MapComplete/MapComplete/commits/b61bc6de7cb66fa5fdadb21067f80fb29cd5ecc9))
* fix studio ([db9c5b2](https://source.mapcomplete.org/MapComplete/MapComplete/commits/db9c5b233fbea764a1055e98c800ae29a51e5a53))
### [0.55.2](https://source.mapcomplete.org/MapComplete/MapComplete/compare/v0.55.1...v0.55.2) (2025-08-15)
### Bug Fixes
* fix [#2495](https://source.mapcomplete.org/MapComplete/MapComplete/issues/2495) ([0452c84](https://source.mapcomplete.org/MapComplete/MapComplete/commits/0452c84520e564a18164726faee0e5447ec7b602))
* fix crash in collection times picker ([e2fc678](https://source.mapcomplete.org/MapComplete/MapComplete/commits/e2fc678ec9e694578927f0c7aeab86a0298041d4))
* fix statistics ([b61bc6d](https://source.mapcomplete.org/MapComplete/MapComplete/commits/b61bc6de7cb66fa5fdadb21067f80fb29cd5ecc9))
### [0.55.1](https://source.mapcomplete.org/MapComplete/MapComplete/compare/v0.54.7...v0.55.1) (2025-08-13)

View file

@ -103,6 +103,7 @@
- postboxes
- postoffices
- public_bookcase
- railway
- rainbow_crossings
- reception_desk
- recycling

File diff suppressed because one or more lines are too long

View file

@ -90,6 +90,7 @@ A layer showing cafés and pubs where one can gather around a drink. The layer a
- [cafes_and_pubs](https://mapcomplete.org/cafes_and_pubs)
- [onwheels](https://mapcomplete.org/onwheels)
- [personal](https://mapcomplete.org/personal)
- [pets](https://mapcomplete.org/pets)
- [stations](https://mapcomplete.org/stations)
## Presets

View file

@ -0,0 +1,890 @@
[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources)
# cafe_pub_dog_friendly
This layer is based on [cafe_pub](../Layers/cafe_pub.md)
A layer showing cafés and pubs where one can gather around a drink. The layer asks for some relevant questions
- This layer is shown at zoomlevel **12** and higher
- This layer will automatically load [toilet](./toilet.md) into the layout as it depends on it: tagrendering has_toilets needs this layer (has_toilets)
## Table of contents
1. [Themes using this layer](#themes-using-this-layer)
2. [Basic tags for this layer](#basic-tags-for-this-layer)
3. [Supported attributes](#supported-attributes)
4. [Featureview elements and TagRenderings](#featureview-elements-and-tagrenderings)
- [images](#images)
- [reviews](#reviews)
- [Name](#name)
- [Classification](#classification)
- [opening_hours](#opening_hours)
- [website](#website)
- [email](#email)
- [phone](#phone)
- [payment-options](#payment-options)
- [repeated](#repeated)
- [single_level](#single_level)
- [smoking](#smoking)
- [wheelchair-access](#wheelchair-access)
- [pub_reusable_packaging](#pub_reusable_packaging)
- [service:electricity](#serviceelectricity)
- [seating](#seating)
- [dog-access](#dog-access)
- [internet](#internet)
- [internet-fee](#internet-fee)
- [internet-ssid](#internet-ssid)
- [toilets-group](#toilets-group)
- [grouptitle](#grouptitle)
- [has_toilets](#has_toilets)
- [images_toilet](#images_toilet)
- [toilets_repeated](#toilets_repeated)
- [toilets_single_level](#toilets_single_level)
- [toilets_toilet-access](#toilets_toilet-access)
- [toilets_toilets-fee](#toilets_toilets-fee)
- [toilets_toilet-charge](#toilets_toilet-charge)
- [toilets_payment-options-split](#toilets_payment-options-split)
- [toilets_gender_segregated](#toilets_gender_segregated)
- [toilets_toilet-supervised](#toilets_toilet-supervised)
- [toilets_description](#toilets_description)
- [toilets_toilets-wheelchair](#toilets_toilets-wheelchair)
- [toilets-type](#toilets-type)
- [toilets-disposal](#toilets-disposal)
- [menstrual_products](#menstrual_products)
- [menstrual_products_location](#menstrual_products_location)
- [toilets-changing-table](#toilets-changing-table)
- [toilet-changing_table:location](#toilet-changing_tablelocation)
- [toilet-has-paper](#toilet-has-paper)
- [toilet-handwashing](#toilet-handwashing)
- [handwashing-soap](#handwashing-soap)
- [toilet-drying](#toilet-drying)
- [wheelchair-group](#wheelchair-group)
- [wheelchair-picture-carousel](#wheelchair-picture-carousel)
- [wheelchair-picture](#wheelchair-picture)
- [wheelchair-title](#wheelchair-title)
- [toilet-wheelchair-access](#toilet-wheelchair-access)
- [toilets_wheelchair_has_grab_rail_lr](#toilets_wheelchair_has_grab_rail_lr)
- [toilets_wheelchair_has_grab_rail_behind](#toilets_wheelchair_has_grab_rail_behind)
- [toilets_wheelchair_is_foldable_left](#toilets_wheelchair_is_foldable_left)
- [toilets_wheelchair_is_foldable_right](#toilets_wheelchair_is_foldable_right)
- [wheelchair-door-width](#wheelchair-door-width)
- [questions-wheelchair](#questions-wheelchair)
- [adult_changing_table_title](#adult_changing_table_title)
- [adult-changing-table](#adult-changing-table)
- [changing_table_adult_height](#changing_table_adult_height)
- [changing_table_adult_adult-changing-table-min_height](#changing_table_adult_adult-changing-table-min_height)
- [changing_table_adult_adult-changing-table-max_height](#changing_table_adult_adult-changing-table-max_height)
- [changing_table_adult_adult-changing-table-mechanism](#changing_table_adult_adult-changing-table-mechanism)
- [changing_table_adult_adult-changing-table-support](#changing_table_adult_adult-changing-table-support)
- [questions-adult-changing-table](#questions-adult-changing-table)
- [toilet-question-box](#toilet-question-box)
- [leftover-questions](#leftover-questions)
- [move-button](#move-button)
- [delete-button](#delete-button)
- [lod](#lod)
- [spacer](#spacer)
5. [Filters](#filters)
## Themes using this layer
- [pets](https://mapcomplete.org/pets)
## Basic tags for this layer
Elements must match **all** of the following expressions:
0. <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbar' target='_blank'>bar</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dpub' target='_blank'>pub</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dcafe' target='_blank'>cafe</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbiergarten' target='_blank'>biergarten</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dnightclub' target='_blank'>nightclub</a>
1. <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dunleashed' target='_blank'>unleashed</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dleashed' target='_blank'>leashed</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dyes' target='_blank'>yes</a>
[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22amenity%22%3D%22bar%22%5D%5B%22dog%22%3D%22unleashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22bar%22%5D%5B%22dog%22%3D%22leashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22bar%22%5D%5B%22dog%22%3D%22yes%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22pub%22%5D%5B%22dog%22%3D%22unleashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22pub%22%5D%5B%22dog%22%3D%22leashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22pub%22%5D%5B%22dog%22%3D%22yes%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22cafe%22%5D%5B%22dog%22%3D%22unleashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22cafe%22%5D%5B%22dog%22%3D%22leashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22cafe%22%5D%5B%22dog%22%3D%22yes%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22biergarten%22%5D%5B%22dog%22%3D%22unleashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22biergarten%22%5D%5B%22dog%22%3D%22leashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22biergarten%22%5D%5B%22dog%22%3D%22yes%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22nightclub%22%5D%5B%22dog%22%3D%22unleashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22nightclub%22%5D%5B%22dog%22%3D%22leashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22nightclub%22%5D%5B%22dog%22%3D%22yes%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B)
## Supported attributes
**Warning:**: this quick overview is incomplete
| attribute | type | values which are supported by this layer |
-----|-----|----- |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/name#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/name/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/amenity#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/amenity/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [amenity](https://wiki.openstreetmap.org/wiki/Key:amenity) | Multiple choice | [amenity=pub](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dpub) [amenity=bar](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbar) [amenity=cafe](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dcafe) [amenity=restaurant](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Drestaurant) [amenity=biergarten](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbiergarten) [amenity=nightclub](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dnightclub) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/opening_hours#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/opening_hours/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/website#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/website/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/email#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/email/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/phone#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/phone/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/level#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/level/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [level](https://wiki.openstreetmap.org/wiki/Key:level) | [float](../SpecialInputElements.md#float) | [level=0](https://wiki.openstreetmap.org/wiki/Tag:level%3D0) [level=1](https://wiki.openstreetmap.org/wiki/Tag:level%3D1) [level=-1](https://wiki.openstreetmap.org/wiki/Tag:level%3D-1) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/smoking#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/smoking/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [smoking](https://wiki.openstreetmap.org/wiki/Key:smoking) | Multiple choice | [smoking=yes](https://wiki.openstreetmap.org/wiki/Tag:smoking%3Dyes) [smoking=no](https://wiki.openstreetmap.org/wiki/Tag:smoking%3Dno) [smoking=outside](https://wiki.openstreetmap.org/wiki/Tag:smoking%3Doutside) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/wheelchair#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/wheelchair/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [wheelchair=designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [wheelchair=yes](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes) [wheelchair=limited](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited) [wheelchair=no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/reusable_packaging:accept#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/reusable_packaging%3Aaccept/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [reusable_packaging:accept](https://wiki.openstreetmap.org/wiki/Key:reusable_packaging:accept) | Multiple choice | [reusable_packaging:accept=yes](https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Dyes) [reusable_packaging:accept=no](https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Dno) [reusable_packaging:accept=only](https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Donly) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/service:electricity#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/service%3Aelectricity/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [service:electricity](https://wiki.openstreetmap.org/wiki/Key:service:electricity) | Multiple choice | [service:electricity=yes](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dyes) [service:electricity=limited](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dlimited) [service:electricity=ask](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dask) [service:electricity=no](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/dog#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/dog/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [dog](https://wiki.openstreetmap.org/wiki/Key:dog) | Multiple choice | [dog=yes](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dyes) [dog=no](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dno) [dog=leashed](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dleashed) [dog=unleashed](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dunleashed) [dog=outside](https://wiki.openstreetmap.org/wiki/Tag:dog%3Doutside) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/internet_access#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/internet_access/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [internet_access](https://wiki.openstreetmap.org/wiki/Key:internet_access) | Multiple choice | [internet_access=wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwlan) [internet_access=no](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dno) [internet_access=terminal](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal) [internet_access=wired](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwired) [internet_access=terminal;wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal;wlan) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/internet_access:fee#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/internet_access%3Afee/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [internet_access:fee](https://wiki.openstreetmap.org/wiki/Key:internet_access:fee) | Multiple choice | [internet_access:fee=yes](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dyes) [internet_access:fee=no](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dno) [internet_access:fee=customers](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dcustomers) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/internet_access:ssid#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/internet_access%3Assid/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) | [string](../SpecialInputElements.md#string) | [internet_access:ssid=Telekom](https://wiki.openstreetmap.org/wiki/Tag:internet_access:ssid%3DTelekom) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets](https://wiki.openstreetmap.org/wiki/Key:toilets) | Multiple choice | [toilets=no](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets](https://wiki.openstreetmap.org/wiki/Key:toilets) | Multiple choice | [toilets=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes) [toilets=no](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno) [toilets=separate](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dseparate) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:level#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Alevel/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:level](https://wiki.openstreetmap.org/wiki/Key:toilets:level) | [float](../SpecialInputElements.md#float) | [toilets:level=0](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D0) [toilets:level=1](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D1) [toilets:level=-1](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D-1) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:access#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Aaccess/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:access](https://wiki.openstreetmap.org/wiki/Key:toilets:access) | [string](../SpecialInputElements.md#string) | [toilets:access=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dyes) [toilets:access=customers](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dcustomers) [toilets:access=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dno) [toilets:access=key](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dkey) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:fee#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Afee/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:fee](https://wiki.openstreetmap.org/wiki/Key:toilets:fee) | Multiple choice | [toilets:fee=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dyes) [toilets:fee=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:charge#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Acharge/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:charge](https://wiki.openstreetmap.org/wiki/Key:toilets:charge) | [string](../SpecialInputElements.md#string) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:gender_segregated#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Agender_segregated/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:gender_segregated](https://wiki.openstreetmap.org/wiki/Key:toilets:gender_segregated) | Multiple choice | [toilets:gender_segregated=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:gender_segregated%3Dyes) [toilets:gender_segregated=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:gender_segregated%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:supervised#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Asupervised/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:supervised](https://wiki.openstreetmap.org/wiki/Key:toilets:supervised) | Multiple choice | [toilets:supervised=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dyes) [toilets:supervised=interval](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dinterval) [toilets:supervised=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:description#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Adescription/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:description](https://wiki.openstreetmap.org/wiki/Key:toilets:description) | [text](../SpecialInputElements.md#text) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:wheelchair#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Awheelchair/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:wheelchair](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair) | Multiple choice | [toilets:wheelchair=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes) [toilets:wheelchair=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dno) [toilets:wheelchair=designated](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Ddesignated) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:position#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Aposition/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:position](https://wiki.openstreetmap.org/wiki/Key:toilets:position) | Multiple choice | [toilets:position=seated](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated) [toilets:position=urinal](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Durinal) [toilets:position=squat](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dsquat) [toilets:position=seated;urinal](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated;urinal) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:disposal#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Adisposal/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:disposal](https://wiki.openstreetmap.org/wiki/Key:toilets:disposal) | Multiple choice | [toilets:disposal=flush](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dflush) [toilets:disposal=pitlatrine](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dpitlatrine) [toilets:disposal=bucket](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dbucket) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:menstrual_products#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Amenstrual_products/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:menstrual_products](https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products) | Multiple choice | [toilets:menstrual_products=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dyes) [toilets:menstrual_products=limited](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dlimited) [toilets:menstrual_products=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:menstrual_products:location#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Amenstrual_products%3Alocation/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:menstrual_products:location](https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products:location) | [string](../SpecialInputElements.md#string) | [toilets:menstrual_products:location=female_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dfemale_toilet) [toilets:menstrual_products:location=male_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dmale_toilet) [toilets:menstrual_products:location=wheelchair_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dwheelchair_toilet) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/changing_table#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/changing_table/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [changing_table](https://wiki.openstreetmap.org/wiki/Key:changing_table) | Multiple choice | [changing_table=yes](https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dyes) [changing_table=no](https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/changing_table:location#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/changing_table%3Alocation/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [changing_table:location](https://wiki.openstreetmap.org/wiki/Key:changing_table:location) | [string](../SpecialInputElements.md#string) | [changing_table:location=female_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dfemale_toilet) [changing_table:location=male_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dmale_toilet) [changing_table:location=wheelchair_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dwheelchair_toilet) [changing_table:location=dedicated_room](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Ddedicated_room) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:paper_supplied#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Apaper_supplied/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:paper_supplied](https://wiki.openstreetmap.org/wiki/Key:toilets:paper_supplied) | Multiple choice | [toilets:paper_supplied=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dyes) [toilets:paper_supplied=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:handwashing#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Ahandwashing/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:handwashing](https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing) | Multiple choice | [toilets:handwashing=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dyes) [toilets:handwashing=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/handwashing:soap#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/handwashing%3Asoap/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [handwashing:soap](https://wiki.openstreetmap.org/wiki/Key:handwashing:soap) | Multiple choice | [handwashing:soap=yes](https://wiki.openstreetmap.org/wiki/Tag:handwashing:soap%3Dyes) [handwashing:soap=no](https://wiki.openstreetmap.org/wiki/Tag:handwashing:soap%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:hands_drying#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Ahands_drying/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:hands_drying](https://wiki.openstreetmap.org/wiki/Key:toilets:hands_drying) | Multiple choice | [toilets:hands_drying=electric_hand_dryer](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Delectric_hand_dryer) [toilets:hands_drying=paper_towel](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dpaper_towel) [toilets:hands_drying=towel_cabinet](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dtowel_cabinet) [toilets:hands_drying=towel](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dtowel) [toilets:hands_drying=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/wheelchair#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/wheelchair/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [wheelchair=designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [wheelchair=no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:wheelchair:grab_rail:left#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Awheelchair%3Agrab_rail%3Aleft/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:wheelchair:grab_rail:left](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:left) | Multiple choice | [toilets:wheelchair:grab_rail:left=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes) [toilets:wheelchair:grab_rail:left=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes) [toilets:wheelchair:grab_rail:left=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dno) [toilets:wheelchair:grab_rail:left=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:wheelchair:grab_rail:behind#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Awheelchair%3Agrab_rail%3Abehind/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:wheelchair:grab_rail:behind](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:behind) | Multiple choice | [toilets:wheelchair:grab_rail:behind=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:behind%3Dyes) [toilets:wheelchair:grab_rail:behind=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:behind%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:wheelchair:grab_rail:foldable:left#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Awheelchair%3Agrab_rail%3Afoldable%3Aleft/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:wheelchair:grab_rail:foldable:left](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:foldable:left) | Multiple choice | [toilets:wheelchair:grab_rail:foldable:left=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:foldable:left%3Dyes) [toilets:wheelchair:grab_rail:foldable:left=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:foldable:left%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:wheelchair:grab_rail:foldable:right#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Awheelchair%3Agrab_rail%3Afoldable%3Aright/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:wheelchair:grab_rail:foldable:right](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:foldable:right) | Multiple choice | [toilets:wheelchair:grab_rail:foldable:right=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:foldable:right%3Dyes) [toilets:wheelchair:grab_rail:foldable:right=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:foldable:right%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/door:width#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/door%3Awidth/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [door:width](https://wiki.openstreetmap.org/wiki/Key:door:width) | [pfloat](../SpecialInputElements.md#pfloat) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/changing_table:adult#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/changing_table%3Aadult/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [changing_table:adult](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult) | Multiple choice | [changing_table:adult=yes](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes) [changing_table:adult=no](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/changing_table:adult:height#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/changing_table%3Aadult%3Aheight/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [changing_table:adult:height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height) | [pfloat](../SpecialInputElements.md#pfloat) | [changing_table:adult:height=adjustable](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height%3Dadjustable) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/changing_table:adult:min_height#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/changing_table%3Aadult%3Amin_height/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [changing_table:adult:min_height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:min_height) | [pfloat](../SpecialInputElements.md#pfloat) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/changing_table:adult:max_height#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/changing_table%3Aadult%3Amax_height/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [changing_table:adult:max_height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:max_height) | [pfloat](../SpecialInputElements.md#pfloat) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/changing_table:adult:height:mechanism#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/changing_table%3Aadult%3Aheight%3Amechanism/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [changing_table:adult:height:mechanism](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height:mechanism) | Multiple choice | [changing_table:adult:height:mechanism=manual](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height:mechanism%3Dmanual) [changing_table:adult:height:mechanism=electric](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height:mechanism%3Delectric) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/changing_table:adult:support#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/changing_table%3Aadult%3Asupport/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [changing_table:adult:support](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:support) | Multiple choice | [changing_table:adult:support=wall_mounted](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dwall_mounted) [changing_table:adult:support=legs](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dlegs) [changing_table:adult:support=wheels](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dwheels) |
## Featureview elements and TagRenderings
| id | question | labels | freeform key |
-----|-----|-----|----- |
| [images](#images) <br/> _(Original in [questions](./BuiltinQuestions.md#images))_ | _{image_carousel()}{image_upload()}_ | | _Multiple choice only_ |
| [reviews](#reviews) <br/> _(Original in [questions](./BuiltinQuestions.md#reviews))_ | _{create_review()}{list_reviews()}_ | | _Multiple choice only_ |
| [Name](#Name) | What is the name of this business?<br/>_This business is named {name}_ | | *[name](https://wiki.osm.org/wiki/Key:name)* ([string](../SpecialInputElements.md#string)) |
| [Classification](#Classification) | What kind of cafe is this?<br/>6 options | | _Multiple choice only_ |
| [opening_hours](#opening_hours) <br/> _(Original in [questions](./BuiltinQuestions.md#opening_hours))_ | What are the opening hours of ?<br/>_<h3>Opening hours</h3>{opening_hours_table(opening_hours)}_<br/>1 options | | *[opening_hours](https://wiki.osm.org/wiki/Key:opening_hours)* ([opening_hours](../SpecialInputElements.md#opening_hours)) |
| [website](#website) <br/> _(Original in [questions](./BuiltinQuestions.md#website))_ | What is the website of ?<br/>_<a href='{website}' rel='nofollow noopener noreferrer' target='_blank'>{website}</a>_<br/>1 options | contact | *[website](https://wiki.osm.org/wiki/Key:website)* ([url](../SpecialInputElements.md#url)) |
| [email](#email) <br/> _(Original in [questions](./BuiltinQuestions.md#email))_ | What is the email address of ?<br/>_<a href='mailto:{email}' target='_blank' rel='noopener'>{email}</a>_<br/>2 options | contact | *[email](https://wiki.osm.org/wiki/Key:email)* ([email](../SpecialInputElements.md#email)) |
| [phone](#phone) <br/> _(Original in [questions](./BuiltinQuestions.md#phone))_ | What is the phone number of ?<br/>_{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}_<br/>1 options | contact | *[phone](https://wiki.osm.org/wiki/Key:phone)* ([phone](../SpecialInputElements.md#phone)) |
| [payment-options](#payment-options) <br/> _(Original in [questions](./BuiltinQuestions.md#payment-options))_ | Which methods of payment are accepted here?<br/>3 options | | _Multiple choice only_ |
| [repeated](#repeated) <br/> _(Original in [questions](./BuiltinQuestions.md#repeated))_ | _Multiple, identical objects can be found on floors {repeat_on}._ | level | _Multiple choice only_ |
| [single_level](#single_level) <br/> _(Original in [questions](./BuiltinQuestions.md#single_level))_ | On what level is this feature located?<br/>_Located on the {level}th floor_<br/>5 options | level | *[level](https://wiki.osm.org/wiki/Key:level)* ([float](../SpecialInputElements.md#float)) |
| [smoking](#smoking) <br/> _(Original in [questions](./BuiltinQuestions.md#smoking))_ | Is smoking allowed at ?<br/>3 options | | _Multiple choice only_ |
| [wheelchair-access](#wheelchair-access) <br/> _(Original in [questions](./BuiltinQuestions.md#wheelchair-access))_ | Is this place accessible with a wheelchair?<br/>4 options | | _Multiple choice only_ |
| [pub_reusable_packaging](#pub_reusable_packaging) | Does accept bring-your-own reusable cups?<br/>3 options | | _Multiple choice only_ |
| [service:electricity](#service:electricity) <br/> _(Original in [questions](./BuiltinQuestions.md#service:electricity))_ | Does this amenity have electrical outlets, available to customers when they are inside?<br/>4 options | | _Multiple choice only_ |
| [seating](#seating) <br/> _(Original in [questions](./BuiltinQuestions.md#seating))_ | What kind of seating does have?<br/>2 options | | _Multiple choice only_ |
| [dog-access](#dog-access) <br/> _(Original in [questions](./BuiltinQuestions.md#dog-access))_ | Are dogs allowed in this business?<br/>5 options | | _Multiple choice only_ |
| [internet](#internet) <br/> _(Original in [questions](./BuiltinQuestions.md#internet))_ | Does this place offer internet access?<br/>6 options | internet-all | _Multiple choice only_ |
| [internet-fee](#internet-fee) <br/> _(Original in [questions](./BuiltinQuestions.md#internet-fee))_ | Is there a fee for internet access?<br/>3 options | internet-all | _Multiple choice only_ |
| [internet-ssid](#internet-ssid) <br/> _(Original in [questions](./BuiltinQuestions.md#internet-ssid))_ | What is the network name for the wireless internet access?<br/>_The network name is <b>{internet_access:ssid}</b>_<br/>1 options | internet-all | *[internet_access:ssid](https://wiki.osm.org/wiki/Key:internet_access:ssid)* ([string](../SpecialInputElements.md#string)) |
| [toilets-group](#toilets-group) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-group))_ | _{group(grouptitle,toilet-questions,wheelchair;wheelchair-title;adult-changing-table)}_ | all | _Multiple choice only_ |
| [grouptitle](#grouptitle) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#grouptitle))_ | _Toilet information_<br/>1 options | all, hidden | _Multiple choice only_ |
| [has_toilets](#has_toilets) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#has_toilets))_ | Has toilets?<br/>3 options | toilet-questions, hidden, all | _Multiple choice only_ |
| [images_toilet](#images_toilet) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#images_toilet))_ | _{image_carousel(toilets:panoramax;toilets:mapillary;toilets:images)}{image_upload(toilets:panoramax,Add a picture of the toilets,)}_ | relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_repeated](#toilets_repeated) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_repeated))_ | _Multiple, identical objects can be found on floors {toilets:repeat_on}._ | level, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_single_level](#toilets_single_level) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_single_level))_ | On what level is this feature located?<br/>_Located on the {toilets:level}th floor_<br/>5 options | level, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | *[toilets:level](https://wiki.osm.org/wiki/Key:toilets:level)* ([float](../SpecialInputElements.md#float)) |
| [toilets_toilet-access](#toilets_toilet-access) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilet-access))_ | Are these toilets publicly accessible?<br/>_Access is {toilets:access}_<br/>4 options | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | *[toilets:access](https://wiki.osm.org/wiki/Key:toilets:access)* ([string](../SpecialInputElements.md#string)) |
| [toilets_toilets-fee](#toilets_toilets-fee) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilets-fee))_ | Are these toilets free to use?<br/>2 options | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_toilet-charge](#toilets_toilet-charge) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilet-charge))_ | How much does one have to pay for these toilets?<br/>_The fee is {toilets:charge}_ | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | *[toilets:charge](https://wiki.osm.org/wiki/Key:toilets:charge)* ([string](../SpecialInputElements.md#string)) |
| [toilets_payment-options-split](#toilets_payment-options-split) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_payment-options-split))_ | Which methods of payment are accepted here?<br/>7 options | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_gender_segregated](#toilets_gender_segregated) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_gender_segregated))_ | Are these toilets gender-segregated?<br/>2 options | relevant-questions, no-prefix, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_toilet-supervised](#toilets_toilet-supervised) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilet-supervised))_ | Is this toilets supervised by a person?<br/>3 options | relevant-questions, no-prefix, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_description](#toilets_description) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_description))_ | Is there still some relevant info that the previous questions did not cover? Feel free to add it here.<br/>_{toilets:description}_ | amenity-no-prefix, no-prefix, relevant-questions, relevant_questions, toilet-questions, hidden, all | *[toilets:description](https://wiki.osm.org/wiki/Key:toilets:description)* ([text](../SpecialInputElements.md#text)) |
| [toilets_toilets-wheelchair](#toilets_toilets-wheelchair) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilets-wheelchair))_ | Is there a dedicated toilet for wheelchair users?<br/>3 options | relevant-questions, wheelchair, hidden, no-prefix, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets-type](#toilets-type) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-type))_ | Which kind of toilets are these?<br/>4 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets-disposal](#toilets-disposal) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-disposal))_ | How is the waste handled?<br/>3 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [menstrual_products](#menstrual_products) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#menstrual_products))_ | Are free, menstrual products distributed here?<br/>3 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [menstrual_products_location](#menstrual_products_location) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#menstrual_products_location))_ | Where are the free menstrual products located?<br/>_The menstrual products are located in {toilets:menstrual_products:location}_<br/>3 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[toilets:menstrual_products:location](https://wiki.osm.org/wiki/Key:toilets:menstrual_products:location)* ([string](../SpecialInputElements.md#string)) |
| [toilets-changing-table](#toilets-changing-table) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-changing-table))_ | Is a changing table (to change diapers) available?<br/>2 options | relevant-questions, no-prefix, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilet-changing_table:location](#toilet-changing_table:location) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-changing_table:location))_ | Where is the changing table located?<br/>_A changing table is located at {changing_table:location}_<br/>4 options | relevant-questions, no-prefix, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:location](https://wiki.osm.org/wiki/Key:changing_table:location)* ([string](../SpecialInputElements.md#string)) |
| [toilet-has-paper](#toilet-has-paper) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-has-paper))_ | Does one have to bring their own toilet paper to this toilet?<br/>2 options | relevant-questions, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilet-handwashing](#toilet-handwashing) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-handwashing))_ | Do these toilets have a sink to wash your hands?<br/>2 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [handwashing-soap](#handwashing-soap) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#handwashing-soap))_ | Is soap for handwashing provided?<br/>2 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilet-drying](#toilet-drying) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-drying))_ | Do these toilets have a device to dry your hands?<br/>5 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [wheelchair-group](#wheelchair-group) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-group))_ | _{group(wheelchair-title,wheelchair;adult-changing-table,)}_ | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [wheelchair-picture-carousel](#wheelchair-picture-carousel) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-picture-carousel))_ | _{image_carousel(toilets:wheelchair:panoramax;toilets:wheelchair:image;toilets:wheelchair:mapillary)}_ | wheelchair, hidden, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [wheelchair-picture](#wheelchair-picture) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-picture))_ | _{image_upload(toilets:wheelchair:panoramax,Add a picture of the wheelchair accessible toilet,)}_ | wheelchair, hidden, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [wheelchair-title](#wheelchair-title) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-title))_ | _Wheelchair accessible toilet_<br/>2 options | hidden, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilet-wheelchair-access](#toilet-wheelchair-access) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-wheelchair-access))_ | Is the wheelchair-accessible toilet locked?<br/>5 options | hidden, wheelchair, relevant-questions, prefixed, amenity-prefixed, hidden, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_wheelchair_has_grab_rail_lr](#toilets_wheelchair_has_grab_rail_lr) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_has_grab_rail_lr))_ | Is there a grab rail?<br/>4 options | wheelchair, relevant-questions, prefixed, amenity-prefixed, hidden, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_wheelchair_has_grab_rail_behind](#toilets_wheelchair_has_grab_rail_behind) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_has_grab_rail_behind))_ | Does the toilet have a grab rail behind the toilet?<br/>2 options | wheelchair, relevant-questions, prefixed, amenity-prefixed, hidden, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_wheelchair_is_foldable_left](#toilets_wheelchair_is_foldable_left) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_is_foldable_left))_ | Is the left grab rail foldable?<br/>2 options | generic_questions, wheelchair, relevant-questions, prefixed, amenity-prefixed, hidden, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_wheelchair_is_foldable_right](#toilets_wheelchair_is_foldable_right) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_is_foldable_right))_ | Is the right grab rail foldable?<br/>2 options | generic_questions, wheelchair, relevant-questions, prefixed, amenity-prefixed, hidden, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [wheelchair-door-width](#wheelchair-door-width) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-door-width))_ | What is the width of the door to the wheelchair accessible toilet?<br/>_The door to the wheelchair-accessible toilet is {canonical(door:width)} wide_ | relevant-questions, wheelchair, hidden, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[door:width](https://wiki.osm.org/wiki/Key:door:width)* ([pfloat](../SpecialInputElements.md#pfloat)) |
| [questions-wheelchair](#questions-wheelchair) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#questions-wheelchair))_ | _{questions(wheelchair,,)}_ | wheelchair, hidden, relevant-questions, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [adult_changing_table_title](#adult_changing_table_title) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#adult_changing_table_title))_ | _Adult changing table_ | hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [adult-changing-table](#adult-changing-table) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#adult-changing-table))_ | Does this toilet have an adult changing table?<br/>2 options | prefixed, hidden, relevant-questions, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [changing_table_adult_height](#changing_table_adult_height) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_height))_ | What is the height of the adult changing table?<br/>_The changing table is {canonical(changing_table:adult:height)} high_<br/>1 options | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:adult:height](https://wiki.osm.org/wiki/Key:changing_table:adult:height)* ([pfloat](../SpecialInputElements.md#pfloat)) |
| [changing_table_adult_adult-changing-table-min_height](#changing_table_adult_adult-changing-table-min_height) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-min_height))_ | What is the lowest height the adult changing table can be moved to?<br/>_The lowest height of the adult changing table is {canonical(changing_table:adult:min_height)}_ | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:adult:min_height](https://wiki.osm.org/wiki/Key:changing_table:adult:min_height)* ([pfloat](../SpecialInputElements.md#pfloat)) |
| [changing_table_adult_adult-changing-table-max_height](#changing_table_adult_adult-changing-table-max_height) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-max_height))_ | What is the highest height the adult changing table can be moved to?<br/>_The highest height of the adult changing table is {canonical(changing_table:adult:max_height)}_ | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:adult:max_height](https://wiki.osm.org/wiki/Key:changing_table:adult:max_height)* ([pfloat](../SpecialInputElements.md#pfloat)) |
| [changing_table_adult_adult-changing-table-mechanism](#changing_table_adult_adult-changing-table-mechanism) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-mechanism))_ | How is the height of the changing table adjusted?<br/>2 options | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [changing_table_adult_adult-changing-table-support](#changing_table_adult_adult-changing-table-support) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-support))_ | How is the adult changing table supported?<br/>3 options | relevant_questions, hidden, prefixed, adult-changing-table, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [questions-adult-changing-table](#questions-adult-changing-table) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#questions-adult-changing-table))_ | _{questions(adult-changing-table,,yes)}_ | hidden, relevant-questions, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilet-question-box](#toilet-question-box) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-question-box))_ | _{questions(toilet-questions,wheelchair;adult-changing-table,)}_ | toilet-questions, all, hidden | _Multiple choice only_ |
| [leftover-questions](#leftover-questions) | _{questions( ,hidden;wheelchair;adult-changing-table;toilet-questions)}_ | ignore-docs, added_by_default | _Multiple choice only_ |
| [move-button](#move-button) | _{move_button()}_ | | _Multiple choice only_ |
| [delete-button](#delete-button) | _{delete_button()}_ | | _Multiple choice only_ |
| [lod](#lod) <br/> _(Original in [questions](./BuiltinQuestions.md#lod))_ | _{linked_data_from_website()}_ | added_by_default | _Multiple choice only_ |
| [spacer](#spacer) | _<div class='m-4'/>_ | | _Multiple choice only_ |
### images
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
_This tagrendering has no question and is thus read-only_
*{image_carousel()}{image_upload()}*
### reviews
Shows the reviews module (including the possibility to leave a review)
_This tagrendering has no question and is thus read-only_
*{create_review()}{list_reviews()}*
### Name
The question is `What is the name of this business?`
*This business is named {name}* is shown if `name` is set.
### Classification
The question is `What kind of cafe is this?`
- *A pub, mostly for drinking beers in a warm, relaxed interior* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dpub' target='_blank'>pub</a>
- *A more modern and commercial <b>bar</b>, possibly with a music and light installation* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbar' target='_blank'>bar</a>
- *A <b>cafe</b> to drink tea, coffee or an alcoholical bevarage in a quiet environment* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dcafe' target='_blank'>cafe</a>
- *A <b>restaurant</b> where one can get a proper meal* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Drestaurant' target='_blank'>restaurant</a>
- *An open space where beer is served, typically seen in Germany* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbiergarten' target='_blank'>biergarten</a>
- *This is a <b>nightclub</b> or disco with a focus on dancing, music by a DJ with accompanying light show and a bar to get (alcoholic) drinks* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dnightclub' target='_blank'>nightclub</a>
### opening_hours
The question is `What are the opening hours of {title()}?`
*<h3>Opening hours</h3>{opening_hours_table(opening_hours)}* is shown if `opening_hours` is set.
- *Marked as closed for an unspecified time* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:opening_hours' target='_blank'>opening_hours</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3Dclosed' target='_blank'>closed</a>. _This option cannot be chosen as answer_
### website
The question is `What is the website of {title()}?`
*<a href='{website}' rel='nofollow noopener noreferrer' target='_blank'>{website}</a>* is shown if `website` is set.
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/icons/website.svg'> *<a href='{contact:website}' rel='nofollow noopener noreferrer' target='_blank'>{contact:website}</a>* is shown if with contact:website~.+. _This option cannot be chosen as answer_
This tagrendering has labels `contact`
### email
The question is `What is the email address of {title()}?`
*<a href='mailto:{email}' target='_blank' rel='noopener'>{email}</a>* is shown if `email` is set.
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/svg/envelope.svg'> *<a href='mailto:{contact:email}' target='_blank' rel='noopener'>{contact:email}</a>* is shown if with contact:email~.+. _This option cannot be chosen as answer_
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/svg/envelope.svg'> *<a href='mailto:{operator:email}' target='_blank' rel='noopener'>{operator:email}</a>* is shown if with operator:email~.+. _This option cannot be chosen as answer_
This tagrendering has labels `contact`
### phone
The question is `What is the phone number of {title()}?`
*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set.
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/phone.svg'> *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_
This tagrendering has labels `contact`
### payment-options
The question is `Which methods of payment are accepted here?`
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/cash.svg'> *Cash is accepted here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dno' target='_blank'>no</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/payment_card.svg'> *Payment cards are accepted here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dno' target='_blank'>no</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/qrcode.svg'> *Payment by QR-code is possible here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:qr_code' target='_blank'>payment:qr_code</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:qr_code%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:qr_code' target='_blank'>payment:qr_code</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:qr_code%3Dno' target='_blank'>no</a>
### repeated
_This tagrendering has no question and is thus read-only_
*Multiple, identical objects can be found on floors {repeat_on}.*
This tagrendering is only visible in the popup if the following condition is met: repeat_on~.+
This tagrendering has labels `level`
### single_level
The question is `On what level is this feature located?`
*Located on the {level}th floor* is shown if `level` is set.
- *Located underground* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:location' target='_blank'>location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:location%3Dunderground' target='_blank'>underground</a>. _This option cannot be chosen as answer_
- *Located on the ground floor* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D0' target='_blank'>0</a>
- *Located on the ground floor* is shown if with level=. _This option cannot be chosen as answer_
- *Located on the first floor* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D1' target='_blank'>1</a>
- *Located on the first basement level* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D-1' target='_blank'>-1</a>
This tagrendering has labels `level`
### smoking
The question is `Is smoking allowed at {title()}?`
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/smoking.svg'> *Smoking is <b>allowed</b>* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:smoking' target='_blank'>smoking</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:smoking%3Dyes' target='_blank'>yes</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/no_smoking.svg'> *Smoking is <b>not allowed</b>* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:smoking' target='_blank'>smoking</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:smoking%3Dno' target='_blank'>no</a>
- *Smoking is <b>allowed outside</b>.* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:smoking' target='_blank'>smoking</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:smoking%3Doutside' target='_blank'>outside</a>
### wheelchair-access
The question is `Is this place accessible with a wheelchair?`
- *This place is specially adapted for wheelchair users* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated' target='_blank'>designated</a>
- *This place is easily reachable with a wheelchair* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>
- *It is possible to reach this place in a wheelchair, but it is not easy* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited' target='_blank'>limited</a>
- *This place is not reachable with a wheelchair* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno' target='_blank'>no</a>
### pub_reusable_packaging
The question is `Does {title()} accept bring-your-own reusable cups?`
- *Accepts reusable cups* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:reusable_packaging:accept' target='_blank'>reusable_packaging:accept</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Dyes' target='_blank'>yes</a>
- *Does not accept reusable cups* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:reusable_packaging:accept' target='_blank'>reusable_packaging:accept</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Dno' target='_blank'>no</a>
- *<b>Only</b> serves to people who bring reusable cups* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:reusable_packaging:accept' target='_blank'>reusable_packaging:accept</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Donly' target='_blank'>only</a>
### service:electricity
The question is `Does this amenity have electrical outlets, available to customers when they are inside?`
- *There are plenty of domestic sockets available to customers seated indoors, where they can charge their electronics* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dyes' target='_blank'>yes</a>
- *There are a few domestic sockets available to customers seated indoors, where they can charge their electronics* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dlimited' target='_blank'>limited</a>
- *There are no sockets available indoors to customers, but charging might be possible if the staff is asked* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dask' target='_blank'>ask</a>
- *There are a no domestic sockets available to customers seated indoors* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dno' target='_blank'>no</a>
### seating
The question is `What kind of seating does {title()} have?`
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/outdoor_seating/outdoor_seating.svg'> *This place has outdoor seating* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:outdoor_seating' target='_blank'>outdoor_seating</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:outdoor_seating%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:outdoor_seating' target='_blank'>outdoor_seating</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:outdoor_seating%3Dno' target='_blank'>no</a>
- *This place has indoor seating* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:indoor_seating' target='_blank'>indoor_seating</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:indoor_seating%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:indoor_seating' target='_blank'>indoor_seating</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:indoor_seating%3Dno' target='_blank'>no</a>
### dog-access
The question is `Are dogs allowed in this business?`
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/dogs_allowed.svg'> *Dogs are allowed* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dyes' target='_blank'>yes</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/no_dogs.svg'> *Dogs are <b>not</b> allowed* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dno' target='_blank'>no</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/dogs_leashed.svg'> *Dogs are allowed, but they have to be leashed* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dleashed' target='_blank'>leashed</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/dogs_allowed.svg'> *Dogs are allowed and can run around freely* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dunleashed' target='_blank'>unleashed</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/dogs_outside.svg'> *Dogs are allowed only outside* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Doutside' target='_blank'>outside</a>
### internet
The question is `Does this place offer internet access?`
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/wifi'> *This place offers wireless internet access* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access' target='_blank'>internet_access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwlan' target='_blank'>wlan</a>
- *This place <b>does not</b> offer internet access* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access' target='_blank'>internet_access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dno' target='_blank'>no</a>
- *This place offers internet access* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access' target='_blank'>internet_access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dyes' target='_blank'>yes</a>. _This option cannot be chosen as answer_
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/computer'> *This place offers internet access via a terminal or computer* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access' target='_blank'>internet_access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal' target='_blank'>terminal</a>
- *This place offers wired internet access* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access' target='_blank'>internet_access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwired' target='_blank'>wired</a>
- *This place offers both wireless internet and internet access via a terminal or computer* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access' target='_blank'>internet_access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal;wlan' target='_blank'>terminal;wlan</a>
This tagrendering has labels `internet-all`
### internet-fee
The question is `Is there a fee for internet access?`
- *There is a fee for the internet access at this place* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access:fee' target='_blank'>internet_access:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dyes' target='_blank'>yes</a>
- *Internet access is free at this place* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access:fee' target='_blank'>internet_access:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dno' target='_blank'>no</a>
- *Internet access is free at this place, for customers only* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access:fee' target='_blank'>internet_access:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dcustomers' target='_blank'>customers</a>
This tagrendering is only visible in the popup if the following condition is met: internet_access!=no & internet_access~.+
This tagrendering has labels `internet-all`
### internet-ssid
The question is `What is the network name for the wireless internet access?`
*The network name is <b>{internet_access:ssid}</b>* is shown if `internet_access:ssid` is set.
- *Telekom* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid' target='_blank'>internet_access:ssid</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access:ssid%3DTelekom' target='_blank'>Telekom</a>
This tagrendering is only visible in the popup if the following condition is met: internet_access~^(.*wlan.*)$
This tagrendering has labels `internet-all`
### toilets-group
_This tagrendering has no question and is thus read-only_
*{group(grouptitle,toilet-questions,wheelchair;wheelchair-title;adult-changing-table)}*
This tagrendering has labels `all`
### grouptitle
_This tagrendering has no question and is thus read-only_
*Toilet information*
- *Does not have toilets* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno' target='_blank'>no</a>
This tagrendering has labels `all` `hidden`
### has_toilets
The question is `Has {title()} toilets?`
- *Has toilets* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
- *Has no toilets* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno' target='_blank'>no</a>
- *The toilets are marked separately on the map* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dseparate' target='_blank'>separate</a>
This tagrendering has labels `toilet-questions` `hidden` `all`
### images_toilet
_This tagrendering has no question and is thus read-only_
*{image_carousel(toilets:panoramax;toilets:mapillary;toilets:images)}{image_upload(toilets:panoramax,Add a picture of the toilets,)}*
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_repeated
_This tagrendering has no question and is thus read-only_
*Multiple, identical objects can be found on floors {toilets:repeat_on}.*
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & toilets:repeat_on~.+
This tagrendering has labels `level` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_single_level
The question is `On what level is this feature located?`
*Located on the {toilets:level}th floor* is shown if `toilets:level` is set.
- *Located underground* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:location' target='_blank'>toilets:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:location%3Dunderground' target='_blank'>underground</a>. _This option cannot be chosen as answer_
- *Located on the ground floor* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:level' target='_blank'>toilets:level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D0' target='_blank'>0</a>
- *Located on the ground floor* is shown if with toilets:level=. _This option cannot be chosen as answer_
- *Located on the first floor* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:level' target='_blank'>toilets:level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D1' target='_blank'>1</a>
- *Located on the first basement level* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:level' target='_blank'>toilets:level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D-1' target='_blank'>-1</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & toilets:repeat_on=
This tagrendering has labels `level` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_toilet-access
The question is `Are these toilets publicly accessible?`
*Access is {toilets:access}* is shown if `toilets:access` is set.
- *Public access* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:access' target='_blank'>toilets:access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dyes' target='_blank'>yes</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/key'> *Only access to customers* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:access' target='_blank'>toilets:access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dcustomers' target='_blank'>customers</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/lock'> *Not accessible* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:access' target='_blank'>toilets:access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dno' target='_blank'>no</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/key'> *Accessible, but one has to ask a key to enter* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:access' target='_blank'>toilets:access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dkey' target='_blank'>key</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_toilets-fee
The question is `Are these toilets free to use?`
- *These are paid toilets* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:fee' target='_blank'>toilets:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dyes' target='_blank'>yes</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:fee' target='_blank'>toilets:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & toilets:access!=no
This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_toilet-charge
The question is `How much does one have to pay for these toilets?`
*The fee is {toilets:charge}* is shown if `toilets:charge` is set.
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:fee' target='_blank'>toilets:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_payment-options-split
The question is `Which methods of payment are accepted here?`
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/cash.svg'> *Cash is accepted here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:cash' target='_blank'>toilets:payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:cash%3Dyes' target='_blank'>yes</a>. _This option cannot be chosen as answer_. Unselecting this answer will add toilets:payment:cash=
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/payment_card.svg'> *Payment cards are accepted here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:cards' target='_blank'>toilets:payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:cards%3Dyes' target='_blank'>yes</a>. _This option cannot be chosen as answer_. Unselecting this answer will add toilets:payment:cards=
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/qrcode.svg'> *Payment by QR-code is possible here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:qr_code' target='_blank'>toilets:payment:qr_code</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:qr_code%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:qr_code' target='_blank'>toilets:payment:qr_code</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:qr_code%3Dno' target='_blank'>no</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/coins.svg'> *Coins are accepted here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:coins' target='_blank'>toilets:payment:coins</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:coins%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:coins' target='_blank'>toilets:payment:coins</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:coins%3Dno' target='_blank'>no</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/notes.svg'> *Bank notes are accepted here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:notes' target='_blank'>toilets:payment:notes</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:notes%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:notes' target='_blank'>toilets:payment:notes</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:notes%3Dno' target='_blank'>no</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/payment_card.svg'> *Debit cards are accepted here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:debit_cards' target='_blank'>toilets:payment:debit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:debit_cards%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:debit_cards' target='_blank'>toilets:payment:debit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:debit_cards%3Dno' target='_blank'>no</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/payment_card.svg'> *Credit cards are accepted here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:credit_cards' target='_blank'>toilets:payment:credit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:credit_cards%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:credit_cards' target='_blank'>toilets:payment:credit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:credit_cards%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:fee' target='_blank'>toilets:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_gender_segregated
The question is `Are these toilets gender-segregated?`
- *There is a separate, signposted area for men and women* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:gender_segregated' target='_blank'>toilets:gender_segregated</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:gender_segregated%3Dyes' target='_blank'>yes</a>
- *There is no separate, signposted area for men and women* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:gender_segregated' target='_blank'>toilets:gender_segregated</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:gender_segregated%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & toilets:toilets:position!=urinal
This tagrendering has labels `relevant-questions` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_toilet-supervised
The question is `Is this toilets supervised by a person?`
- *There is a person supervising these toilets during (most of) the opening hours* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:supervised' target='_blank'>toilets:supervised</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dyes' target='_blank'>yes</a>
- *There is a person supervising these toilets, but they are present only during certain times of the opening hours* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:supervised' target='_blank'>toilets:supervised</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dinterval' target='_blank'>interval</a>
- *These toilets are not supervised* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:supervised' target='_blank'>toilets:supervised</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:access' target='_blank'>toilets:access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dyes' target='_blank'>yes</a> | toilets:access=)
This tagrendering has labels `relevant-questions` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_description
The question is `Is there still some relevant info that the previous questions did not cover? Feel free to add it here.`
*{toilets:description}* is shown if `toilets:description` is set.
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `amenity-no-prefix` `no-prefix` `relevant-questions` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_toilets-wheelchair
The question is `Is there a dedicated toilet for wheelchair users?`
- *There is a dedicated toilet for wheelchair users* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes' target='_blank'>yes</a>
- *No wheelchair access* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dno' target='_blank'>no</a>
- *There is only a dedicated toilet for wheelchair users* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Ddesignated' target='_blank'>designated</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `wheelchair` `hidden` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets-type
The question is `Which kind of toilets are these?`
- *There are only seated toilets* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:position' target='_blank'>toilets:position</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated' target='_blank'>seated</a>
- *There are only urinals here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:position' target='_blank'>toilets:position</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Durinal' target='_blank'>urinal</a>
- *There are only squat toilets here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:position' target='_blank'>toilets:position</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dsquat' target='_blank'>squat</a>
- *Both seated toilets and urinals are available here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:position' target='_blank'>toilets:position</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated;urinal' target='_blank'>seated;urinal</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets-disposal
The question is `How is the waste handled?`
- *The waste is moved away by flushing the toilet with water* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:disposal' target='_blank'>toilets:disposal</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dflush' target='_blank'>flush</a>
- *The waste falls into a pit* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:disposal' target='_blank'>toilets:disposal</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dpitlatrine' target='_blank'>pitlatrine</a>
- *The waste is collected in a bucket or similar container, which is regularly removed* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:disposal' target='_blank'>toilets:disposal</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dbucket' target='_blank'>bucket</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### menstrual_products
The question is `Are free, menstrual products distributed here?`
- *Free menstrual products are available to all visitors of these toilets* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products' target='_blank'>toilets:menstrual_products</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dyes' target='_blank'>yes</a>
- *Free menstrual products are available to some visitors of these toilets* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products' target='_blank'>toilets:menstrual_products</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dlimited' target='_blank'>limited</a>
- *No free menstrual products are available here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products' target='_blank'>toilets:menstrual_products</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### menstrual_products_location
The question is `Where are the free menstrual products located?`
*The menstrual products are located in {toilets:menstrual_products:location}* is shown if `toilets:menstrual_products:location` is set.
- *The free, menstrual products are located in the toilet for women* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products:location' target='_blank'>toilets:menstrual_products:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dfemale_toilet' target='_blank'>female_toilet</a>
- *The free, menstrual products are located in the toilet for men* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products:location' target='_blank'>toilets:menstrual_products:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dmale_toilet' target='_blank'>male_toilet</a>
- *The free, menstrual products are located in the toilet for wheelchair users* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products:location' target='_blank'>toilets:menstrual_products:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dwheelchair_toilet' target='_blank'>wheelchair_toilet</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products' target='_blank'>toilets:menstrual_products</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dlimited' target='_blank'>limited</a> | toilets:menstrual_products:location~.+)
This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets-changing-table
The question is `Is a changing table (to change diapers) available?`
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/toilet/baby.svg'> *A changing table is available* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table' target='_blank'>changing_table</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dyes' target='_blank'>yes</a>
- *No changing table is available* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table' target='_blank'>changing_table</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `no-prefix` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### toilet-changing_table:location
The question is `Where is the changing table located?`
*A changing table is located at {changing_table:location}* is shown if `changing_table:location` is set.
- *A changing table is in the toilet for women* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:location' target='_blank'>changing_table:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dfemale_toilet' target='_blank'>female_toilet</a>
- *A changing table is in the toilet for men* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:location' target='_blank'>changing_table:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dmale_toilet' target='_blank'>male_toilet</a>
- *A changing table is in the toilet for wheelchair users* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:location' target='_blank'>changing_table:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dwheelchair_toilet' target='_blank'>wheelchair_toilet</a>
- *A changing table is in a dedicated room* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:location' target='_blank'>changing_table:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Ddedicated_room' target='_blank'>dedicated_room</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table' target='_blank'>changing_table</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `no-prefix` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### toilet-has-paper
The question is `Does one have to bring their own toilet paper to this toilet?`
- *This toilet is equipped with toilet paper* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:paper_supplied' target='_blank'>toilets:paper_supplied</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dyes' target='_blank'>yes</a>
- *You have to bring your own toilet paper to this toilet* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:paper_supplied' target='_blank'>toilets:paper_supplied</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & toilets:position!=urinal
This tagrendering has labels `relevant-questions` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### toilet-handwashing
The question is `Do these toilets have a sink to wash your hands?`
- *These toilets have a sink to wash your hands* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing' target='_blank'>toilets:handwashing</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dyes' target='_blank'>yes</a>
- *These toilets <b>don't</b> have a sink to wash your hands* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing' target='_blank'>toilets:handwashing</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### handwashing-soap
The question is `Is soap for handwashing provided?`
- *Soap for handwashing is provided* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:handwashing:soap' target='_blank'>handwashing:soap</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:handwashing:soap%3Dyes' target='_blank'>yes</a>
- *No soap for handwashing* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:handwashing:soap' target='_blank'>handwashing:soap</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:handwashing:soap%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing' target='_blank'>toilets:handwashing</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### toilet-drying
The question is `Do these toilets have a device to dry your hands?`
- *Electric hand dryers are available for drying hands.* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:hands_drying' target='_blank'>toilets:hands_drying</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Delectric_hand_dryer' target='_blank'>electric_hand_dryer</a>
- *Paper towels are available for drying hands.* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:hands_drying' target='_blank'>toilets:hands_drying</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dpaper_towel' target='_blank'>paper_towel</a>
- *A towel roll cabinet is available for drying hands* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:hands_drying' target='_blank'>toilets:hands_drying</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dtowel_cabinet' target='_blank'>towel_cabinet</a>
- *A fabric towel available to dry your hands.* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:hands_drying' target='_blank'>toilets:hands_drying</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dtowel' target='_blank'>towel</a>
- *There are no hand drying facilities available.* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:hands_drying' target='_blank'>toilets:hands_drying</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing' target='_blank'>toilets:handwashing</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### wheelchair-group
_This tagrendering has no question and is thus read-only_
*{group(wheelchair-title,wheelchair;adult-changing-table,)}*
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### wheelchair-picture-carousel
_This tagrendering has no question and is thus read-only_
*{image_carousel(toilets:wheelchair:panoramax;toilets:wheelchair:image;toilets:wheelchair:mapillary)}*
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes' target='_blank'>yes</a> | (<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dtoilets' target='_blank'>toilets</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>))
This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### wheelchair-picture
_This tagrendering has no question and is thus read-only_
*{image_upload(toilets:wheelchair:panoramax,Add a picture of the wheelchair accessible toilet,)}*
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes' target='_blank'>yes</a> | (<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dtoilets' target='_blank'>toilets</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>))
This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### wheelchair-title
_This tagrendering has no question and is thus read-only_
*Wheelchair accessible toilet*
- *Wheelchair accessibility features* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated' target='_blank'>designated</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Ddesignated' target='_blank'>designated</a>
- *No wheelchair accessible toilet* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno' target='_blank'>no</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### toilet-wheelchair-access
The question is `Is the wheelchair-accessible toilet locked?`
- *The wheelchair accessible toilets are freely accessible* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:access' target='_blank'>toilets:wheelchair:access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:access%3Dyes' target='_blank'>yes</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/key'> *One needs to ask permission to access wheelchair-accessible toilet, e.g. by asking a key* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:access' target='_blank'>toilets:wheelchair:access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:access%3Dkey' target='_blank'>key</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/toilet/MLAK.svg'> *One can use a <i>Master Locksmiths Access Key</i> <b>(MLAK)</b> to access this bathroom* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:centralkey' target='_blank'>centralkey</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:centralkey%3Dmlak' target='_blank'>mlak</a>
- *One can use a <b>RADAR Key</b> to access this bathroom* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:centralkey' target='_blank'>centralkey</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:centralkey%3Dnks' target='_blank'>nks</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/toilet/eurokey.svg'> *One can use a <b>EuroKey</b> to access this bathroom* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:centralkey' target='_blank'>centralkey</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:centralkey%3Deurokey' target='_blank'>eurokey</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes' target='_blank'>yes</a> | (<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dtoilets' target='_blank'>toilets</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>)) & (<a href='https://wiki.openstreetmap.org/wiki/Key:access' target='_blank'>access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:access%3Dyes' target='_blank'>yes</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:access' target='_blank'>access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:access%3Dpublic' target='_blank'>public</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:access' target='_blank'>access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:access%3Dcustomers' target='_blank'>customers</a> | access=)
This tagrendering has labels `hidden` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `hidden` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_wheelchair_has_grab_rail_lr
The question is `Is there a grab rail?`
- *Grab rails on <b>both</b> sides* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:left' target='_blank'>toilets:wheelchair:grab_rail:left</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:right' target='_blank'>toilets:wheelchair:grab_rail:right</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:right%3Dyes' target='_blank'>yes</a>
- *Only grab rails on the <b>left</b> side* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:left' target='_blank'>toilets:wheelchair:grab_rail:left</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:right' target='_blank'>toilets:wheelchair:grab_rail:right</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:right%3Dno' target='_blank'>no</a>
- *Grab rails on the <b>right</b> side* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:left' target='_blank'>toilets:wheelchair:grab_rail:left</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dno' target='_blank'>no</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:right' target='_blank'>toilets:wheelchair:grab_rail:right</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:right%3Dyes' target='_blank'>yes</a>
- *<b>No grab rails</b> at all* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:left' target='_blank'>toilets:wheelchair:grab_rail:left</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dno' target='_blank'>no</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:right' target='_blank'>toilets:wheelchair:grab_rail:right</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:right%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes' target='_blank'>yes</a> | (<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dtoilets' target='_blank'>toilets</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>))
This tagrendering has labels `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `hidden` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_wheelchair_has_grab_rail_behind
The question is `Does the toilet have a grab rail behind the toilet?`
- *Has a grab rail <b>behind</b> the toilet* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:behind' target='_blank'>toilets:wheelchair:grab_rail:behind</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:behind%3Dyes' target='_blank'>yes</a>
- *No grab rail behind the toilet* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:behind' target='_blank'>toilets:wheelchair:grab_rail:behind</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:behind%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes' target='_blank'>yes</a> | (<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dtoilets' target='_blank'>toilets</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>))
This tagrendering has labels `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `hidden` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_wheelchair_is_foldable_left
The question is `Is the left grab rail foldable?`
- *The left grab rail is <b>foldable</b>* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:foldable:left' target='_blank'>toilets:wheelchair:grab_rail:foldable:left</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:foldable:left%3Dyes' target='_blank'>yes</a>
- *The left grab rail is not foldable* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:foldable:left' target='_blank'>toilets:wheelchair:grab_rail:foldable:left</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:foldable:left%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:left' target='_blank'>toilets:wheelchair:grab_rail:left</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes' target='_blank'>yes</a> | (<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dtoilets' target='_blank'>toilets</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>))
This tagrendering has labels `generic_questions` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `hidden` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_wheelchair_is_foldable_right
The question is `Is the right grab rail foldable?`
- *The right grab rail is <b>foldable</b>* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:foldable:right' target='_blank'>toilets:wheelchair:grab_rail:foldable:right</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:foldable:right%3Dyes' target='_blank'>yes</a>
- *The right grab rail is not foldable* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:foldable:right' target='_blank'>toilets:wheelchair:grab_rail:foldable:right</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:foldable:right%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:right' target='_blank'>toilets:wheelchair:grab_rail:right</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:right%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes' target='_blank'>yes</a> | (<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dtoilets' target='_blank'>toilets</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>))
This tagrendering has labels `generic_questions` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `hidden` `relevant_questions` `toilet-questions` `hidden` `all`
### wheelchair-door-width
The question is `What is the width of the door to the wheelchair accessible toilet?`
*The door to the wheelchair-accessible toilet is {canonical(door:width)} wide* is shown if `door:width` is set.
The allowed input is of type pfloat and is in range 0.4 until 4 (both inclusive). A warning will appear if the value is outside of 0.6 and 2.
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Ddesignated' target='_blank'>designated</a> | (<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dtoilet' target='_blank'>toilet</a> & wheelchair~^(yes|designated)$))
This tagrendering has labels `relevant-questions` `wheelchair` `hidden` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### questions-wheelchair
_This tagrendering has no question and is thus read-only_
*{questions(wheelchair,,)}*
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### adult_changing_table_title
_This tagrendering has no question and is thus read-only_
*Adult changing table*
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult' target='_blank'>changing_table:adult</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### adult-changing-table
The question is `Does this toilet have an adult changing table?`
- *Has a changing table for adults* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult' target='_blank'>changing_table:adult</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes' target='_blank'>yes</a>
- *No changing table for adults* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult' target='_blank'>changing_table:adult</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `prefixed` `hidden` `relevant-questions` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### changing_table_adult_height
The question is `What is the height of the adult changing table?`
*The changing table is {canonical(changing_table:adult:height)} high* is shown if `changing_table:adult:height` is set.
The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
- *The changing table is <b>adjustable in height</b>* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height' target='_blank'>changing_table:adult:height</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height%3Dadjustable' target='_blank'>adjustable</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult' target='_blank'>changing_table:adult</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### changing_table_adult_adult-changing-table-min_height
The question is `What is the lowest height the adult changing table can be moved to?`
*The lowest height of the adult changing table is {canonical(changing_table:adult:min_height)}* is shown if `changing_table:adult:min_height` is set.
The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult' target='_blank'>changing_table:adult</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height' target='_blank'>changing_table:adult:height</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height%3Dadjustable' target='_blank'>adjustable</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### changing_table_adult_adult-changing-table-max_height
The question is `What is the highest height the adult changing table can be moved to?`
*The highest height of the adult changing table is {canonical(changing_table:adult:max_height)}* is shown if `changing_table:adult:max_height` is set.
The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult' target='_blank'>changing_table:adult</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height' target='_blank'>changing_table:adult:height</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height%3Dadjustable' target='_blank'>adjustable</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### changing_table_adult_adult-changing-table-mechanism
The question is `How is the height of the changing table adjusted?`
- *The height of the adult changing table is adjusted <b>manually</b>* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height:mechanism' target='_blank'>changing_table:adult:height:mechanism</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height:mechanism%3Dmanual' target='_blank'>manual</a>
- *The height of the adult changing table is adjusted <b>electrically</b>* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height:mechanism' target='_blank'>changing_table:adult:height:mechanism</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height:mechanism%3Delectric' target='_blank'>electric</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult' target='_blank'>changing_table:adult</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height' target='_blank'>changing_table:adult:height</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height%3Dadjustable' target='_blank'>adjustable</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### changing_table_adult_adult-changing-table-support
The question is `How is the adult changing table supported?`
- *The changing table is mounted to the wall* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:support' target='_blank'>changing_table:adult:support</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dwall_mounted' target='_blank'>wall_mounted</a>
- *The changing table stands on table legs* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:support' target='_blank'>changing_table:adult:support</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dlegs' target='_blank'>legs</a>
- *The changing table stands on table legs <b>with wheels</b> and can be moved* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:support' target='_blank'>changing_table:adult:support</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dwheels' target='_blank'>wheels</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult' target='_blank'>changing_table:adult</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### questions-adult-changing-table
_This tagrendering has no question and is thus read-only_
*{questions(adult-changing-table,,yes)}*
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `hidden` `relevant-questions` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### toilet-question-box
_This tagrendering has no question and is thus read-only_
*{questions(toilet-questions,wheelchair;adult-changing-table,)}*
This tagrendering has labels `toilet-questions` `all` `hidden`
### leftover-questions
_This tagrendering has no question and is thus read-only_
*{questions( ,hidden;wheelchair;adult-changing-table;toilet-questions)}*
This tagrendering has labels `ignore-docs` `added_by_default`
### move-button
_This tagrendering has no question and is thus read-only_
*{move_button()}*
### delete-button
_This tagrendering has no question and is thus read-only_
*{delete_button()}*
### lod
_This tagrendering has no question and is thus read-only_
*{linked_data_from_website()}*
This tagrendering has labels `added_by_default`
### spacer
_This tagrendering has no question and is thus read-only_
*<div class='m-4'/>*
## Filters
| id | question | osmTags |
-----|-----|----- |
| open_now.0 | Now open | _isOpen=yes |
| id | question | osmTags |
-----|-----|----- |
| accepts_cash.0 | Accepts cash | payment:cash=yes |
| id | question | osmTags |
-----|-----|----- |
| accepts_cards.0 | Accepts payment cards | payment:cards=yes |
| id | question | osmTags |
-----|-----|----- |
| has_internet.0 | Offers internet | internet_access=wlan | internet_access=yes | internet_access=wired |
| id | question | osmTags |
-----|-----|----- |
| has_electricity.0 | Offers electricity | service:electricity=yes |
| id | question | osmTags |
-----|-----|----- |
| outdoor_seating.0 | Has outdoor seating | outdoor_seating=yes |
| id | question | osmTags |
-----|-----|----- |
| indoor_seating.0 | Has indoor seating | indoor_seating=yes |
| id | question | osmTags |
-----|-----|----- |
| dogs.0 | *No preference towards dogs* (default) | |
| dogs.1 | Dogs allowed | dog=unleashed | dog=yes |
| dogs.2 | No dogs allowed | dog=no |
This document is autogenerated from [assets/themes/pets/pets.json](https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/assets/themes/pets/pets.json)

View file

@ -243,7 +243,7 @@ Elements must match **any** of the following expressions:
| [seating](#seating) <br/> _(Original in [questions](./BuiltinQuestions.md#seating))_ | What kind of seating does have?<br/>2 options | | _Multiple choice only_ |
| [child_highchair](#child_highchair) <br/> _(Original in [questions](./BuiltinQuestions.md#child_highchair))_ | Is there a high chair (also known as booster chair) for toddlers available here?<br/>_{highchair} highchairs are available_<br/>4 options | | *[highchair](https://wiki.osm.org/wiki/Key:highchair)* ([nat](../SpecialInputElements.md#nat)) |
| [kids_area](#kids_area) <br/> _(Original in [questions](./BuiltinQuestions.md#kids_area))_ | Is there a play area for kids<br/>5 options | | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options{show_icons(diets_content,inline-flex float-right)}_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_group](#diets_group) <br/> _(Original in [diets](./diets.md#diets_group))_ | _{group(diets_title,diets_content,)}_ | diets_grouped | _Multiple choice only_ |
| [sugar_free](#sugar_free) <br/> _(Original in [diets](./diets.md#sugar_free))_ | Does this shop have a sugar free offering?<br/>4 options | diets_grouped, diets_content, hidden | _Multiple choice only_ |
| [lactose_free](#lactose_free) <br/> _(Original in [diets](./diets.md#lactose_free))_ | Does have a lactose-free offering?<br/>4 options | diets_content, diets_grouped, hidden | _Multiple choice only_ |
@ -522,7 +522,7 @@ The question is `Is there a play area for kids`
### diets_title
_This tagrendering has no question and is thus read-only_
*Dietary options*
*Dietary options{show_icons(diets_content,inline-flex float-right)}*
This tagrendering has labels `diets_group` `diets_grouped` `hidden`

View file

@ -228,7 +228,7 @@ Elements must match **all** of the following expressions:
| [seating](#seating) <br/> _(Original in [questions](./BuiltinQuestions.md#seating))_ | What kind of seating does have?<br/>2 options | | _Multiple choice only_ |
| [child_highchair](#child_highchair) <br/> _(Original in [questions](./BuiltinQuestions.md#child_highchair))_ | Is there a high chair (also known as booster chair) for toddlers available here?<br/>_{highchair} highchairs are available_<br/>4 options | | *[highchair](https://wiki.osm.org/wiki/Key:highchair)* ([nat](../SpecialInputElements.md#nat)) |
| [kids_area](#kids_area) <br/> _(Original in [questions](./BuiltinQuestions.md#kids_area))_ | Is there a play area for kids<br/>5 options | | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options{show_icons(diets_content,inline-flex float-right)}_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_group](#diets_group) <br/> _(Original in [diets](./diets.md#diets_group))_ | _{group(diets_title,diets_content,)}_ | diets_grouped | _Multiple choice only_ |
| [sugar_free](#sugar_free) <br/> _(Original in [diets](./diets.md#sugar_free))_ | Does this shop have a sugar free offering?<br/>4 options | diets_grouped, diets_content, hidden | _Multiple choice only_ |
| [lactose_free](#lactose_free) <br/> _(Original in [diets](./diets.md#lactose_free))_ | Does have a lactose-free offering?<br/>4 options | diets_content, diets_grouped, hidden | _Multiple choice only_ |
@ -507,7 +507,7 @@ The question is `Is there a play area for kids`
### diets_title
_This tagrendering has no question and is thus read-only_
*Dietary options*
*Dietary options{show_icons(diets_content,inline-flex float-right)}*
This tagrendering has labels `diets_group` `diets_grouped` `hidden`

View file

@ -230,7 +230,7 @@ Elements must match **all** of the following expressions:
| [seating](#seating) <br/> _(Original in [questions](./BuiltinQuestions.md#seating))_ | What kind of seating does have?<br/>2 options | | _Multiple choice only_ |
| [child_highchair](#child_highchair) <br/> _(Original in [questions](./BuiltinQuestions.md#child_highchair))_ | Is there a high chair (also known as booster chair) for toddlers available here?<br/>_{highchair} highchairs are available_<br/>4 options | | *[highchair](https://wiki.osm.org/wiki/Key:highchair)* ([nat](../SpecialInputElements.md#nat)) |
| [kids_area](#kids_area) <br/> _(Original in [questions](./BuiltinQuestions.md#kids_area))_ | Is there a play area for kids<br/>5 options | | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options{show_icons(diets_content,inline-flex float-right)}_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_group](#diets_group) <br/> _(Original in [diets](./diets.md#diets_group))_ | _{group(diets_title,diets_content,)}_ | diets_grouped | _Multiple choice only_ |
| [sugar_free](#sugar_free) <br/> _(Original in [diets](./diets.md#sugar_free))_ | Does this shop have a sugar free offering?<br/>4 options | diets_grouped, diets_content, hidden | _Multiple choice only_ |
| [lactose_free](#lactose_free) <br/> _(Original in [diets](./diets.md#lactose_free))_ | Does have a lactose-free offering?<br/>4 options | diets_content, diets_grouped, hidden | _Multiple choice only_ |
@ -518,7 +518,7 @@ The question is `Is there a play area for kids`
### diets_title
_This tagrendering has no question and is thus read-only_
*Dietary options*
*Dietary options{show_icons(diets_content,inline-flex float-right)}*
This tagrendering has labels `diets_group` `diets_grouped` `hidden`

View file

@ -230,7 +230,7 @@ Elements must match **all** of the following expressions:
| [seating](#seating) <br/> _(Original in [questions](./BuiltinQuestions.md#seating))_ | What kind of seating does have?<br/>2 options | | _Multiple choice only_ |
| [child_highchair](#child_highchair) <br/> _(Original in [questions](./BuiltinQuestions.md#child_highchair))_ | Is there a high chair (also known as booster chair) for toddlers available here?<br/>_{highchair} highchairs are available_<br/>4 options | | *[highchair](https://wiki.osm.org/wiki/Key:highchair)* ([nat](../SpecialInputElements.md#nat)) |
| [kids_area](#kids_area) <br/> _(Original in [questions](./BuiltinQuestions.md#kids_area))_ | Is there a play area for kids<br/>5 options | | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options{show_icons(diets_content,inline-flex float-right)}_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_group](#diets_group) <br/> _(Original in [diets](./diets.md#diets_group))_ | _{group(diets_title,diets_content,)}_ | diets_grouped | _Multiple choice only_ |
| [sugar_free](#sugar_free) <br/> _(Original in [diets](./diets.md#sugar_free))_ | Does this shop have a sugar free offering?<br/>4 options | diets_grouped, diets_content, hidden | _Multiple choice only_ |
| [gluten_free](#gluten_free) <br/> _(Original in [diets](./diets.md#gluten_free))_ | Does this shop have a gluten free offering?<br/>4 options | diets_content, diets_grouped, hidden | _Multiple choice only_ |
@ -518,7 +518,7 @@ The question is `Is there a play area for kids`
### diets_title
_This tagrendering has no question and is thus read-only_
*Dietary options*
*Dietary options{show_icons(diets_content,inline-flex float-right)}*
This tagrendering has labels `diets_group` `diets_grouped` `hidden`

View file

@ -228,7 +228,7 @@ Elements must match **all** of the following expressions:
| [seating](#seating) <br/> _(Original in [questions](./BuiltinQuestions.md#seating))_ | What kind of seating does have?<br/>2 options | | _Multiple choice only_ |
| [child_highchair](#child_highchair) <br/> _(Original in [questions](./BuiltinQuestions.md#child_highchair))_ | Is there a high chair (also known as booster chair) for toddlers available here?<br/>_{highchair} highchairs are available_<br/>4 options | | *[highchair](https://wiki.osm.org/wiki/Key:highchair)* ([nat](../SpecialInputElements.md#nat)) |
| [kids_area](#kids_area) <br/> _(Original in [questions](./BuiltinQuestions.md#kids_area))_ | Is there a play area for kids<br/>5 options | | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options{show_icons(diets_content,inline-flex float-right)}_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_group](#diets_group) <br/> _(Original in [diets](./diets.md#diets_group))_ | _{group(diets_title,diets_content,)}_ | diets_grouped | _Multiple choice only_ |
| [sugar_free](#sugar_free) <br/> _(Original in [diets](./diets.md#sugar_free))_ | Does this shop have a sugar free offering?<br/>4 options | diets_grouped, diets_content, hidden | _Multiple choice only_ |
| [lactose_free](#lactose_free) <br/> _(Original in [diets](./diets.md#lactose_free))_ | Does have a lactose-free offering?<br/>4 options | diets_content, diets_grouped, hidden | _Multiple choice only_ |
@ -507,7 +507,7 @@ The question is `Is there a play area for kids`
### diets_title
_This tagrendering has no question and is thus read-only_
*Dietary options*
*Dietary options{show_icons(diets_content,inline-flex float-right)}*
This tagrendering has labels `diets_group` `diets_grouped` `hidden`

View file

@ -5,6 +5,9 @@
Historic rolling stock (such as locomotives, railway cars and wagons) which are permanently placed at a location
- This layer is shown at zoomlevel **5** and higher
- This layer will automatically load [railway](./railway.md) into the layout as it depends on it: preset `a locomotive on a permanent location` snaps to this layer (historic_rolling_stock.presets[0])
- This layer will automatically load [railway](./railway.md) into the layout as it depends on it: preset `a railway car on a permanent location` snaps to this layer (historic_rolling_stock.presets[1])
- This layer will automatically load [railway](./railway.md) into the layout as it depends on it: preset `a minecart on a permanent location` snaps to this layer (historic_rolling_stock.presets[2])
## Table of contents
@ -38,9 +41,9 @@ Historic rolling stock (such as locomotives, railway cars and wagons) which are
The following options to create new points are included:
- **a locomotive on a permanent location** which has the following tags:<a href='https://wiki.openstreetmap.org/wiki/Key:historic' target='_blank'>historic</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:historic%3Dlocomotive' target='_blank'>locomotive</a>
- **a railway car on a permanent location** which has the following tags:<a href='https://wiki.openstreetmap.org/wiki/Key:historic' target='_blank'>historic</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:historic%3Drailway_car' target='_blank'>railway_car</a>
- **a minecart on a permanent location** which has the following tags:<a href='https://wiki.openstreetmap.org/wiki/Key:historic' target='_blank'>historic</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:historic%3Dminecart' target='_blank'>minecart</a>
- **a locomotive on a permanent location** which has the following tags:<a href='https://wiki.openstreetmap.org/wiki/Key:historic' target='_blank'>historic</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:historic%3Dlocomotive' target='_blank'>locomotive</a> (snaps to layers `railway`)
- **a railway car on a permanent location** which has the following tags:<a href='https://wiki.openstreetmap.org/wiki/Key:historic' target='_blank'>historic</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:historic%3Drailway_car' target='_blank'>railway_car</a> (snaps to layers `railway`)
- **a minecart on a permanent location** which has the following tags:<a href='https://wiki.openstreetmap.org/wiki/Key:historic' target='_blank'>historic</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:historic%3Dminecart' target='_blank'>minecart</a> (snaps to layers `railway`)
## Basic tags for this layer

View file

@ -183,7 +183,7 @@ Elements must match the expression **<a href='https://wiki.openstreetmap.org/wik
| [show-menu-image](#show-menu-image) <br/> _(Original in [food](./food.md#show-menu-image))_ | _{image_carousel(image:menu)}_ | menu | _Multiple choice only_ |
| [add-menu-image](#add-menu-image) <br/> _(Original in [food](./food.md#add-menu-image))_ | _{image_upload(image:menu,Add an image from the menu,)}_ | menu | _Multiple choice only_ |
| [menu-website](#menu-website) <br/> _(Original in [food](./food.md#menu-website))_ | On what webpage is the menu published?<br/>_{link(Consult the menu,&LBRACEwebsite:menu&RBRACE,,,,)}_ | menu | *[website:menu](https://wiki.osm.org/wiki/Key:website:menu)* ([url](../SpecialInputElements.md#url)) |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options{show_icons(diets_content,inline-flex float-right)}_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_group](#diets_group) <br/> _(Original in [diets](./diets.md#diets_group))_ | _{group(diets_title,diets_content,)}_ | diets_grouped | _Multiple choice only_ |
| [sugar_free](#sugar_free) <br/> _(Original in [diets](./diets.md#sugar_free))_ | Does this shop have a sugar free offering?<br/>4 options | diets_grouped, diets_content, hidden | _Multiple choice only_ |
| [lactose_free](#lactose_free) <br/> _(Original in [diets](./diets.md#lactose_free))_ | Does have a lactose-free offering?<br/>4 options | diets_content, diets_grouped, hidden | _Multiple choice only_ |
@ -346,7 +346,7 @@ This tagrendering has labels `menu`
### diets_title
_This tagrendering has no question and is thus read-only_
*Dietary options*
*Dietary options{show_icons(diets_content,inline-flex float-right)}*
This tagrendering has labels `diets_group` `diets_grouped` `hidden`

View file

@ -178,7 +178,7 @@ Elements must match **all** of the following expressions:
| [show-menu-image](#show-menu-image) <br/> _(Original in [food](./food.md#show-menu-image))_ | _{image_carousel(image:menu)}_ | menu | _Multiple choice only_ |
| [add-menu-image](#add-menu-image) <br/> _(Original in [food](./food.md#add-menu-image))_ | _{image_upload(image:menu,Add an image from the menu,)}_ | menu | _Multiple choice only_ |
| [menu-website](#menu-website) <br/> _(Original in [food](./food.md#menu-website))_ | On what webpage is the menu published?<br/>_{link(Consult the menu,&LBRACEwebsite:menu&RBRACE,,,,)}_ | menu | *[website:menu](https://wiki.osm.org/wiki/Key:website:menu)* ([url](../SpecialInputElements.md#url)) |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options{show_icons(diets_content,inline-flex float-right)}_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_group](#diets_group) <br/> _(Original in [diets](./diets.md#diets_group))_ | _{group(diets_title,diets_content,)}_ | diets_grouped | _Multiple choice only_ |
| [sugar_free](#sugar_free) <br/> _(Original in [diets](./diets.md#sugar_free))_ | Does this shop have a sugar free offering?<br/>4 options | diets_grouped, diets_content, hidden | _Multiple choice only_ |
| [lactose_free](#lactose_free) <br/> _(Original in [diets](./diets.md#lactose_free))_ | Does have a lactose-free offering?<br/>4 options | diets_content, diets_grouped, hidden | _Multiple choice only_ |
@ -350,7 +350,7 @@ This tagrendering has labels `menu`
### diets_title
_This tagrendering has no question and is thus read-only_
*Dietary options*
*Dietary options{show_icons(diets_content,inline-flex float-right)}*
This tagrendering has labels `diets_group` `diets_grouped` `hidden`

View file

@ -178,7 +178,7 @@ Elements must match **all** of the following expressions:
| [show-menu-image](#show-menu-image) <br/> _(Original in [food](./food.md#show-menu-image))_ | _{image_carousel(image:menu)}_ | menu | _Multiple choice only_ |
| [add-menu-image](#add-menu-image) <br/> _(Original in [food](./food.md#add-menu-image))_ | _{image_upload(image:menu,Add an image from the menu,)}_ | menu | _Multiple choice only_ |
| [menu-website](#menu-website) <br/> _(Original in [food](./food.md#menu-website))_ | On what webpage is the menu published?<br/>_{link(Consult the menu,&LBRACEwebsite:menu&RBRACE,,,,)}_ | menu | *[website:menu](https://wiki.osm.org/wiki/Key:website:menu)* ([url](../SpecialInputElements.md#url)) |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options{show_icons(diets_content,inline-flex float-right)}_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_group](#diets_group) <br/> _(Original in [diets](./diets.md#diets_group))_ | _{group(diets_title,diets_content,)}_ | diets_grouped | _Multiple choice only_ |
| [sugar_free](#sugar_free) <br/> _(Original in [diets](./diets.md#sugar_free))_ | Does this shop have a sugar free offering?<br/>4 options | diets_grouped, diets_content, hidden | _Multiple choice only_ |
| [gluten_free](#gluten_free) <br/> _(Original in [diets](./diets.md#gluten_free))_ | Does this shop have a gluten free offering?<br/>4 options | diets_content, diets_grouped, hidden | _Multiple choice only_ |
@ -350,7 +350,7 @@ This tagrendering has labels `menu`
### diets_title
_This tagrendering has no question and is thus read-only_
*Dietary options*
*Dietary options{show_icons(diets_content,inline-flex float-right)}*
This tagrendering has labels `diets_group` `diets_grouped` `hidden`

83
Docs/Layers/railway.md Normal file
View file

@ -0,0 +1,83 @@
[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources)
# railway
Railways and disused railways
- This layer is shown at zoomlevel **14** and higher
- This layer is needed as dependency for layer [historic_rolling_stock](#historic_rolling_stock)
## Table of contents
1. [Themes using this layer](#themes-using-this-layer)
2. [Basic tags for this layer](#basic-tags-for-this-layer)
3. [Supported attributes](#supported-attributes)
4. [Featureview elements and TagRenderings](#featureview-elements-and-tagrenderings)
- [images](#images)
- [leftover-questions](#leftover-questions)
- [spacer](#spacer)
- [lod](#lod)
## Themes using this layer
- [historic_rolling_stock](https://mapcomplete.org/historic_rolling_stock)
- [personal](https://mapcomplete.org/personal)
## Basic tags for this layer
Elements must match **any** of the following expressions:
- <a href='https://wiki.openstreetmap.org/wiki/Key:abandoned:railway' target='_blank'>abandoned:railway</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:abandoned:railway%3Drail' target='_blank'>rail</a>
- <a href='https://wiki.openstreetmap.org/wiki/Key:abandoned:railway' target='_blank'>abandoned:railway</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:abandoned:railway%3Dtram' target='_blank'>tram</a>
- <a href='https://wiki.openstreetmap.org/wiki/Key:abandoned:railway' target='_blank'>abandoned:railway</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:abandoned:railway%3Dsubway' target='_blank'>subway</a>
- <a href='https://wiki.openstreetmap.org/wiki/Key:abandoned:railway' target='_blank'>abandoned:railway</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:abandoned:railway%3Dlight_rail' target='_blank'>light_rail</a>
- <a href='https://wiki.openstreetmap.org/wiki/Key:disused:railway' target='_blank'>disused:railway</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:disused:railway%3Drail' target='_blank'>rail</a>
- <a href='https://wiki.openstreetmap.org/wiki/Key:disused:railway' target='_blank'>disused:railway</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:disused:railway%3Dtram' target='_blank'>tram</a>
- <a href='https://wiki.openstreetmap.org/wiki/Key:disused:railway' target='_blank'>disused:railway</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:disused:railway%3Dsubway' target='_blank'>subway</a>
- <a href='https://wiki.openstreetmap.org/wiki/Key:disused:railway' target='_blank'>disused:railway</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:disused:railway%3Dlight_rail' target='_blank'>light_rail</a>
- <a href='https://wiki.openstreetmap.org/wiki/Key:railway' target='_blank'>railway</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:railway%3Drail' target='_blank'>rail</a>
- <a href='https://wiki.openstreetmap.org/wiki/Key:railway' target='_blank'>railway</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:railway%3Dtram' target='_blank'>tram</a>
- <a href='https://wiki.openstreetmap.org/wiki/Key:railway' target='_blank'>railway</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:railway%3Dsubway' target='_blank'>subway</a>
- <a href='https://wiki.openstreetmap.org/wiki/Key:railway' target='_blank'>railway</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:railway%3Dlight_rail' target='_blank'>light_rail</a>
- <a href='https://wiki.openstreetmap.org/wiki/Key:railway' target='_blank'>railway</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:railway%3Ddisused' target='_blank'>disused</a>
[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22abandoned%3Arailway%22%3D%22rail%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22abandoned%3Arailway%22%3D%22tram%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22abandoned%3Arailway%22%3D%22subway%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22abandoned%3Arailway%22%3D%22light_rail%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22disused%3Arailway%22%3D%22rail%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22disused%3Arailway%22%3D%22tram%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22disused%3Arailway%22%3D%22subway%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22disused%3Arailway%22%3D%22light_rail%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22railway%22%3D%22rail%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22railway%22%3D%22tram%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22railway%22%3D%22subway%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22railway%22%3D%22light_rail%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22railway%22%3D%22disused%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B)
## Supported attributes
## Featureview elements and TagRenderings
| id | question | labels | freeform key |
-----|-----|-----|----- |
| [images](#images) <br/> _(Original in [questions](./BuiltinQuestions.md#images))_ | _{image_carousel()}{image_upload()}_ | | _Multiple choice only_ |
| [leftover-questions](#leftover-questions) | _{questions( ,hidden)}_ | ignore-docs, added_by_default | _Multiple choice only_ |
| [spacer](#spacer) | _<div class='m-4'/>_ | | _Multiple choice only_ |
| [lod](#lod) <br/> _(Original in [questions](./BuiltinQuestions.md#lod))_ | _{linked_data_from_website()}_ | added_by_default | _Multiple choice only_ |
### images
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
_This tagrendering has no question and is thus read-only_
*{image_carousel()}{image_upload()}*
### leftover-questions
_This tagrendering has no question and is thus read-only_
*{questions( ,hidden)}*
This tagrendering has labels `ignore-docs` `added_by_default`
### spacer
_This tagrendering has no question and is thus read-only_
*<div class='m-4'/>*
### lod
_This tagrendering has no question and is thus read-only_
*{linked_data_from_website()}*
This tagrendering has labels `added_by_default`
This document is autogenerated from [assets/layers/railway/railway.json](https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/assets/layers/railway/railway.json)

View file

@ -27,6 +27,7 @@ A layer showing (public) toilets
- This layer is needed as dependency for layer [icecream_lactosefree](#icecream_lactosefree)
- This layer is needed as dependency for layer [shops_lactosefree](#shops_lactosefree)
- This layer is needed as dependency for layer [food_dog_friendly](#food_dog_friendly)
- This layer is needed as dependency for layer [cafe_pub_dog_friendly](#cafe_pub_dog_friendly)
- This layer is needed as dependency for layer [pet_shops](#pet_shops)
- This layer is needed as dependency for layer [shop_dog_friendly](#shop_dog_friendly)
- This layer is needed as dependency for layer [tourism_accomodation_with_sauna](#tourism_accomodation_with_sauna)

View file

@ -79,7 +79,7 @@ Endpoint for search with photon
| https://report.mapcomplete.org/report | If a severe error occurs in MapComplete, this is logged on this server - this mostly concerns errors where making a change to OpenStreetMap failed. Data is handled confidentially and _only_ to replay the change and fix the root cause. | OpenData, yes, |
| https://data.mapcomplete.org/countrycoder/ | For quite some functions, we need to know in what _country_ a feature is located. LatLon2Country is a static dataset, which, by cleverly encoding the data, can quickly tell in what country a feature is located. | OpenData, source available, self hostable, https://source.mapcomplete.org/MapComplete/latlon2country |
| https://data.mapcomplete.org/nsi | Contains a copy and the logos of the Name Suggestion Index | |
| https://panoramax.mapcomplete.org | Various endpoints to load images from panoramax | OpenData, source available, self hostable, |
| https://panoramax.mapcomplete.org | The panoramax-server that MapComplete uploads to | OpenData, source available, self hostable, https://wiki.openstreetmap.org/wiki/Panoramax |
| https://lod.mapcomplete.org/extractgraph?url={url} | This proxy queries websites to detect if they contain linked open data and gives this data back. Triggered by opening a feature | OpenData, source available, self hostable, https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/scripts/serverLdScrape.ts |
### mapillary.com

View file

@ -29,7 +29,6 @@ The listed types here trigger a special input element. Use them in `tagrendering
19. [translation](#translation)
20. [tag](#tag)
21. [nsi](#nsi)
22. [distance](#distance)
### string
A simple piece of text which is at most 255 characters long
@ -57,6 +56,8 @@ A geographical direction, in degrees. 0° is north, 90° is east, ... Will retur
### Input helper
This element has an input helper showing a map and 'viewport' indicating the direction. By default, this map is zoomed to zoomlevel 17, but this can be changed with the first argument
### distance
A geographical distance in meters (rounded at two points). Will give an extra minimap with a measurement tool. Arguments: [ zoomlevel, preferredBackgroundMapType (comma separated) ], e.g. `["21", "map,photo"]
### slope
Validates that the slope is a valid number.The accompanying input element uses the gyroscope and the compass to determine the correct incline. The sign of the incline will be set automatically. The bearing of the way is compared to the bearing of the compass, as such, the device knows if it is measuring in the forward or backward direction.
### url
@ -183,8 +184,6 @@ Makes sure the the string is of format `Record<string, string>`
A simple tag of the format `key=value` OR a tagExpression
### nsi
Gives a list of possible suggestions for a brand or operator tag. Note: this is detected automatically; there is no need to explicitly set this
### distance
A geographical distance in meters (rounded at two points). Will give an extra minimap with a measurement tool. Arguments: [ zoomlevel, preferredBackgroundMapType (comma separated) ], e.g. `["21", "map,photo"]
This document is autogenerated from [src/UI/InputElement/Validators.ts](https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/src/UI/InputElement/Validators.ts)

View file

@ -14,6 +14,8 @@ General usage is `{func_name()}`, `{func_name(arg, someotherarg)}` or `{func_nam
- [UI](#ui)
+ [braced](#braced)
+ [create_copy](#create_copy)
+ [preset_description](#preset_description)
+ [show_icons](#show_icons)
+ [title](#title)
+ [translated](#translated)
- [data](#data)
@ -79,13 +81,15 @@ General usage is `{func_name()}`, `{func_name(arg, someotherarg)}` or `{func_nam
- [tagrendering_manipulation](#tagrendering_manipulation)
+ [group](#group)
+ [multi](#multi)
+ [open_in_iD](#open_in_id)
+ [open_in_josm](#open_in_josm)
+ [steal](#steal)
- [ui](#ui)
+ [preset_type_select](#preset_type_select)
- [web_and_communication](#web_and_communication)
+ [fediverse_link](#fediverse_link)
+ [link](#link)
+ [mapillary_link](#mapillary_link)
+ [open_in_iD](#open_in_id)
+ [open_in_josm](#open_in_josm)
+ [send_email](#send_email)
+ [wikidata_label](#wikidata_label)
+ [wikipedia](#wikipedia)
@ -95,8 +99,6 @@ General usage is `{func_name()}`, `{func_name(arg, someotherarg)}` or `{func_nam
+ [histogram](#histogram)
+ [language_chooser](#language_chooser)
+ [multi_apply](#multi_apply)
+ [preset_description](#preset_description)
+ [preset_type_select](#preset_type_select)
+ [upload_to_osm](#upload_to_osm)
# Using expanded syntax
@ -140,7 +142,7 @@ Show a literal text within braces
-----|-----|----- |
| text | _undefined_ | The value to show |
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L332](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L332)
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L296](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L296)
#### Example usage of braced
@ -150,17 +152,42 @@ Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L332](/src/
Allow to create a copy of the current element
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L356](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L356)
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L315](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L315)
#### Example usage of create_copy
`{create_copy()}`
### preset_description
Shows the extra description from the presets of the layer, if one matches. It will pick the most specific one (e.g. if preset `A` implies `B`, but `B` does not imply `A`, it'll pick B) or the first one if no ordering can be made. Might be empty
Defined in [/src/UI/Popup/DataVisualisations.ts#L215](/src/UI/Popup/DataVisualisations.ts#L215)
#### Example usage of preset_description
`{preset_description()}`
### show_icons
Displays all icons from the specified tagRenderings (if they are known and have an icon) together, e.g. to give a summary of the dietary options
| name | default | description |
-----|-----|----- |
| labels | _undefined_ | A ';'-separated list of labels and/or ids of tagRenderings |
| class | inline-flex mx-4 | CSS-classes of the container, space-separated |
Defined in [/src/UI/Popup/DataVisualisations.ts#L307](/src/UI/Popup/DataVisualisations.ts#L307)
#### Example usage of show_icons
`{show_icons(,inline-flex mx-4)}`
### title
Shows the title of the popup. Useful for some cases, e.g. 'What is phone number of {title()}?'
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L311](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L311)
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L281](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L281)
#### Example usage of title
@ -174,7 +201,7 @@ If the given key can be interpreted as a JSON, only show the key containing the
-----|-----|----- |
| key | value | The attribute to interpret as json |
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L277](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L277)
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L251](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L251)
#### Example usage of translated
@ -188,7 +215,7 @@ Visualises data of a POI, sometimes with data updating capabilities
Prints all key-value pairs of the object - used for debugging
Defined in [/src/UI/Popup/DataVisualisations.ts#L283](/src/UI/Popup/DataVisualisations.ts#L283)
Defined in [/src/UI/Popup/DataVisualisations.ts#L270](/src/UI/Popup/DataVisualisations.ts#L270)
#### Example usage of all_tags
@ -202,7 +229,7 @@ Converts a short, canonical value into the long, translated text including the u
-----|-----|----- |
| key | _undefined_ | The key of the tag to give the canonical text for |
Defined in [/src/UI/Popup/DataVisualisations.ts#L169](/src/UI/Popup/DataVisualisations.ts#L169)
Defined in [/src/UI/Popup/DataVisualisations.ts#L163](/src/UI/Popup/DataVisualisations.ts#L163)
#### Example usage of canonical
@ -217,7 +244,7 @@ Converts compass degrees (with 0° being north, 90° being east, ...) into a hum
| key | _direction:centerpoint | The attribute containing the degrees |
| offset | 0 | Offset value that is added to the actual value, e.g. `180` to indicate the opposite (backward) direction |
Defined in [/src/UI/Popup/DataVisualisations.ts#L45](/src/UI/Popup/DataVisualisations.ts#L45)
Defined in [/src/UI/Popup/DataVisualisations.ts#L47](/src/UI/Popup/DataVisualisations.ts#L47)
#### Example usage of direction_absolute
@ -227,7 +254,7 @@ Defined in [/src/UI/Popup/DataVisualisations.ts#L45](/src/UI/Popup/DataVisualisa
Gives a distance indicator and a compass pointing towards the location from your GPS-location. If clicked, centers the map on the object
Defined in [/src/UI/Popup/DataVisualisations.ts#L27](/src/UI/Popup/DataVisualisations.ts#L27)
Defined in [/src/UI/Popup/DataVisualisations.ts#L34](/src/UI/Popup/DataVisualisations.ts#L34)
#### Example usage of direction_indicator
@ -243,7 +270,7 @@ A small element, showing if the POI is currently open and when the next change i
| prefix | _empty string_ | Remove this string from the start of the value before parsing. __Note: use `&LPARENs` to indicate `(` if needed__ |
| postfix | _empty string_ | Remove this string from the end of the value before parsing. __Note: use `&RPARENs` to indicate `)` if needed__ |
Defined in [/src/UI/Popup/DataVisualisations.ts#L128](/src/UI/Popup/DataVisualisations.ts#L128)
Defined in [/src/UI/Popup/DataVisualisations.ts#L126](/src/UI/Popup/DataVisualisations.ts#L126)
#### Example usage of opening_hours_state
@ -259,7 +286,7 @@ Creates an opening-hours table. Usage: {opening_hours_table(opening_hours)} to c
| prefix | _empty string_ | Remove this string from the start of the value before parsing. __Note: use `&LPARENs` to indicate `(` if needed__ |
| postfix | _empty string_ | Remove this string from the end of the value before parsing. __Note: use `&RPARENs` to indicate `)` if needed__ |
Defined in [/src/UI/Popup/DataVisualisations.ts#L89](/src/UI/Popup/DataVisualisations.ts#L89)
Defined in [/src/UI/Popup/DataVisualisations.ts#L87](/src/UI/Popup/DataVisualisations.ts#L87)
#### Example usage of opening_hours_table
@ -273,7 +300,7 @@ Creates a visualisation for 'points in time', e.g. collection times of a postbox
-----|-----|----- |
| key | _undefined_ | The key out of which the points_in_time will be parsed |
Defined in [/src/UI/Popup/DataVisualisations.ts#L294](/src/UI/Popup/DataVisualisations.ts#L294)
Defined in [/src/UI/Popup/DataVisualisations.ts#L281](/src/UI/Popup/DataVisualisations.ts#L281)
#### Example usage of points_in_time
@ -283,7 +310,7 @@ Defined in [/src/UI/Popup/DataVisualisations.ts#L294](/src/UI/Popup/DataVisualis
Show general statistics about all the elements currently in view. Intended to use on the `current_view`-layer. They will be split per layer
Defined in [/src/UI/Popup/DataVisualisations.ts#L209](/src/UI/Popup/DataVisualisations.ts#L209)
Defined in [/src/UI/Popup/DataVisualisations.ts#L203](/src/UI/Popup/DataVisualisations.ts#L203)
#### Example usage of statistics
@ -311,7 +338,7 @@ Elements to help with importing data to OSM. For example: buttons to import a fe
| text | _undefined_ | The text to show on the button |
| icon | ./assets/svg/robot.svg | The icon to show on the button |
Defined in [/src/UI/Popup/AutoApplyButtonVis.ts#L68](/src/UI/Popup/AutoApplyButtonVis.ts#L68)
Defined in [/src/UI/Popup/AutoApplyButtonVis.ts#L65](/src/UI/Popup/AutoApplyButtonVis.ts#L65)
#### Example usage of auto_apply
@ -327,7 +354,7 @@ Gives an interactive element which shows a tag comparison between the OSM-object
| host | _undefined_ | The domain name(s) where data might be fetched from - this is needed to set the CSP. A domain must include 'https', e.g. 'https://example.com'. For multiple domains, separate them with ';'. If you don't know the possible domains, use '*'. |
| readonly | _undefined_ | If 'yes', will not show 'apply'-buttons |
Defined in [/src/UI/SpecialVisualisations/DataImportSpecialVisualisations.ts#L237](/src/UI/SpecialVisualisations/DataImportSpecialVisualisations.ts#L237)
Defined in [/src/UI/SpecialVisualisations/DataImportSpecialVisualisations.ts#L243](/src/UI/SpecialVisualisations/DataImportSpecialVisualisations.ts#L243)
#### Example usage of compare_data
@ -387,7 +414,7 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
| icon | ./assets/svg/addSmall.svg | A nice icon to show in the button |
| way_to_conflate | _undefined_ | The key, of which the corresponding value is the id of the OSM-way that must be conflated; typically a calculatedTag |
Defined in [/src/UI/Popup/ImportButtons/ConflateImportButtonViz.ts#L25](/src/UI/Popup/ImportButtons/ConflateImportButtonViz.ts#L25)
Defined in [/src/UI/Popup/ImportButtons/ConflateImportButtonViz.ts#L30](/src/UI/Popup/ImportButtons/ConflateImportButtonViz.ts#L30)
#### Example usage of conflate_button
@ -516,7 +543,7 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
| snap_onto_layers | _undefined_ | If no existing nearby point exists, but a line of a specified layer is closeby, snap to this layer instead |
| snap_to_layer_max_distance | 0.1 | Distance to distort the geometry to snap to this layer |
Defined in [/src/UI/Popup/ImportButtons/WayImportButtonViz.ts#L21](/src/UI/Popup/ImportButtons/WayImportButtonViz.ts#L21)
Defined in [/src/UI/Popup/ImportButtons/WayImportButtonViz.ts#L22](/src/UI/Popup/ImportButtons/WayImportButtonViz.ts#L22)
#### Example usage of import_way_button
@ -534,7 +561,7 @@ Attempts to load (via a proxy) the specified website and parsed ld+json from the
| mode | _undefined_ | If `display`, only show the data in tabular and readonly form, ignoring already existing tags. This is used to explicitly show all the tags. If unset or anything else, allow to apply/import on OSM |
| collapsed | yes | If the containing accordion should be closed |
Defined in [/src/UI/SpecialVisualisations/DataImportSpecialVisualisations.ts#L96](/src/UI/SpecialVisualisations/DataImportSpecialVisualisations.ts#L96)
Defined in [/src/UI/SpecialVisualisations/DataImportSpecialVisualisations.ts#L105](/src/UI/SpecialVisualisations/DataImportSpecialVisualisations.ts#L105)
#### Example usage of linked_data_from_website
@ -553,7 +580,7 @@ Change the status of the given MapRoulette task
| maproulette_id | mr_taskId | The property name containing the maproulette id |
| ask_feedback | _empty string_ | If not an empty string, this will be used as question to ask some additional feedback. A text field will be added |
Defined in [/src/UI/SpecialVisualisations/DataImportSpecialVisualisations.ts#L20](/src/UI/SpecialVisualisations/DataImportSpecialVisualisations.ts#L20)
Defined in [/src/UI/SpecialVisualisations/DataImportSpecialVisualisations.ts#L25](/src/UI/SpecialVisualisations/DataImportSpecialVisualisations.ts#L25)
#### Example usage of maproulette_set_status
@ -614,7 +641,7 @@ Note that these values can be prepare with javascript in the theme by using a [c
| id_of_object_to_apply_this_one | _undefined_ | If specified, applies the the tags onto _another_ object. The id will be read from properties[id_of_object_to_apply_this_one] of the selected object. The tags are still calculated based on the tags of the _selected_ element |
| maproulette_id | _undefined_ | If specified, this maproulette-challenge will be closed when the tags are applied. This should be the `id` of the individual task, _not_ the task_id (which corresponds with the challenge). |
Defined in [/src/UI/SpecialVisualisations/TagApplyViz.ts#L13](/src/UI/SpecialVisualisations/TagApplyViz.ts#L13)
Defined in [/src/UI/SpecialVisualisations/TagApplyViz.ts#L17](/src/UI/SpecialVisualisations/TagApplyViz.ts#L17)
#### Example usage of tag_apply
@ -628,7 +655,7 @@ These special visualisations are (mostly) interactive components that most eleme
An element which allows to add a new point on the 'last_click'-location. Only makes sense in the layer `last_click`
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L261](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L261)
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L235](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L235)
#### Example usage of add_new_point
@ -638,7 +665,7 @@ Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L261](/src/
Adds a button which allows to delete the object at this location. The config will be read from the layer config
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L168](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L168)
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L157](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L157)
#### Example usage of delete_button
@ -653,7 +680,7 @@ Shows a 'nothing is currently known-message if there is at least one unanswered
| text | _undefined_ | Text to show |
| cssClasses | _undefined_ | Classes to apply onto the text |
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L228](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L228)
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L207](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L207)
#### Example usage of if_nothing_known
@ -669,7 +696,7 @@ A small map showing the selected feature.
| idKey | id | The key of one or more properties of the feature, semi-colon separated. The corresponding value is interpreted as either the id or the a list of ID's. The features with these ID's will be shown on this minimap. |
| class | h-40 rounded | CSS-classes (space-separated) that should be applied onto the container |
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L86](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L86)
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L81](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L81)
#### Example usage of minimap
@ -679,7 +706,7 @@ Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L86](/src/U
Adds a button which allows to move the object to another location. The config will be read from the layer config
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L142](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L142)
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L137](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L137)
#### Example usage of move_button
@ -694,7 +721,7 @@ Generates a QR-code to share the selected object
| text | _undefined_ | Extra text on the side of the QR-code |
| textClass | _undefined_ | CSS class of the the side text |
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L195](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L195)
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L178](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L178)
#### Example usage of qr_code
@ -710,7 +737,7 @@ The special element which shows the questions which are unknown. Added by defaul
| blacklisted-labels | _undefined_ | One or more ';'-separated labels of questions which should _not_ be included. Note that the questionbox which is added by default will blacklist 'hidden'. If both a whitelist and a blacklist are given, will show questions having at least one label from the whitelist but none of the blacklist. |
| show_all | _undefined_ | Either `no`, `yes` or `user-preference`. Indicates if all questions should be shown at once |
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L30](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L30)
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L31](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L31)
#### Example usage of questions
@ -725,7 +752,7 @@ Creates a link that (attempts to) open the native 'share'-screen
| url | _undefined_ | The url to share (default: current URL) |
| text | _undefined_ | The text to show on the button. If none is given, will act as a titleIcon |
Defined in [/src/UI/Popup/ShareLinkViz.ts#L7](/src/UI/Popup/ShareLinkViz.ts#L7)
Defined in [/src/UI/Popup/ShareLinkViz.ts#L6](/src/UI/Popup/ShareLinkViz.ts#L6)
#### Example usage of share_link
@ -735,7 +762,7 @@ Defined in [/src/UI/Popup/ShareLinkViz.ts#L7](/src/UI/Popup/ShareLinkViz.ts#L7)
Adds a button which allows to split a way
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L125](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L125)
Defined in [/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L123](/src/UI/SpecialVisualisations/UISpecialVisualisations.ts#L123)
#### Example usage of split_button
@ -749,7 +776,7 @@ Elements relating to marking an object as favourite (giving it a heart). Default
A small button that allows a (logged in) contributor to mark a location as a favourite location, sized to fit a title-icon
Defined in [/src/UI/SpecialVisualisations/FavouriteVisualisations.ts#L33](/src/UI/SpecialVisualisations/FavouriteVisualisations.ts#L33)
Defined in [/src/UI/SpecialVisualisations/FavouriteVisualisations.ts#L19](/src/UI/SpecialVisualisations/FavouriteVisualisations.ts#L19)
#### Example usage of favourite_icon
@ -759,7 +786,7 @@ Defined in [/src/UI/SpecialVisualisations/FavouriteVisualisations.ts#L33](/src/U
A button that allows a (logged in) contributor to mark a location as a favourite location
Defined in [/src/UI/SpecialVisualisations/FavouriteVisualisations.ts#L9](/src/UI/SpecialVisualisations/FavouriteVisualisations.ts#L9)
Defined in [/src/UI/SpecialVisualisations/FavouriteVisualisations.ts#L6](/src/UI/SpecialVisualisations/FavouriteVisualisations.ts#L6)
#### Example usage of favourite_status
@ -777,7 +804,7 @@ Creates an image carousel for the given sources. An attempt will be made to gues
-----|-----|----- |
| image_key | image;mapillary;image;wikidata;wikimedia_commons;image;panoramax;image;image | The keys given to the images, e.g. if <span class='literal-code'>image</span> is given, the first picture URL will be added as <span class='literal-code'>image</span>, the second as <span class='literal-code'>image:0</span>, the third as <span class='literal-code'>image:1</span>, etc... Multiple values are allowed if ';'-separated |
Defined in [/src/UI/SpecialVisualisations/ImageVisualisations.ts#L57](/src/UI/SpecialVisualisations/ImageVisualisations.ts#L57)
Defined in [/src/UI/SpecialVisualisations/ImageVisualisations.ts#L48](/src/UI/SpecialVisualisations/ImageVisualisations.ts#L48)
#### Example usage of image_carousel
@ -793,7 +820,7 @@ Creates a button where a user can upload an image to panoramax
| label | _undefined_ | The text to show on the button |
| disable_blur | _undefined_ | If set to 'true' or 'yes', then face blurring will be disabled. To be used sparingly |
Defined in [/src/UI/SpecialVisualisations/ImageVisualisations.ts#L91](/src/UI/SpecialVisualisations/ImageVisualisations.ts#L91)
Defined in [/src/UI/SpecialVisualisations/ImageVisualisations.ts#L82](/src/UI/SpecialVisualisations/ImageVisualisations.ts#L82)
#### Example usage of image_upload
@ -808,7 +835,7 @@ A component showing nearby images loaded from various online services such as Ma
| mode | closed | Either `open` or `closed`. If `open`, then the image carousel will always be shown |
| readonly | _undefined_ | If 'readonly' or 'yes', will not show the 'link'-button |
Defined in [/src/UI/SpecialVisualisations/ImageVisualisations.ts#L15](/src/UI/SpecialVisualisations/ImageVisualisations.ts#L15)
Defined in [/src/UI/SpecialVisualisations/ImageVisualisations.ts#L12](/src/UI/SpecialVisualisations/ImageVisualisations.ts#L12)
#### Example usage of nearby_images
@ -826,7 +853,7 @@ Adds an image to a node
-----|-----|----- |
| Id-key | id | The property name where the ID of the note to close can be found |
Defined in [/src/UI/SpecialVisualisations/NoteVisualisations.ts#L124](/src/UI/SpecialVisualisations/NoteVisualisations.ts#L124)
Defined in [/src/UI/SpecialVisualisations/NoteVisualisations.ts#L115](/src/UI/SpecialVisualisations/NoteVisualisations.ts#L115)
#### Example usage of add_image_to_note
@ -840,7 +867,7 @@ A textfield to add a comment to a node (with the option to close the note).
-----|-----|----- |
| Id-key | id | The property name where the ID of the note to close can be found |
Defined in [/src/UI/SpecialVisualisations/NoteVisualisations.ts#L81](/src/UI/SpecialVisualisations/NoteVisualisations.ts#L81)
Defined in [/src/UI/SpecialVisualisations/NoteVisualisations.ts#L79](/src/UI/SpecialVisualisations/NoteVisualisations.ts#L79)
#### Example usage of add_note_comment
@ -869,7 +896,7 @@ Defined in [/src/UI/SpecialVisualisations/NoteVisualisations.ts#L22](/src/UI/Spe
Creates a new map note on the given location. This options is placed in the 'last_click'-popup automatically if the 'notes'-layer is enabled
Defined in [/src/UI/SpecialVisualisations/NoteVisualisations.ts#L102](/src/UI/SpecialVisualisations/NoteVisualisations.ts#L102)
Defined in [/src/UI/SpecialVisualisations/NoteVisualisations.ts#L98](/src/UI/SpecialVisualisations/NoteVisualisations.ts#L98)
#### Example usage of open_note
@ -884,7 +911,7 @@ Visualises the comments for notes
| commentsKey | comments | The property name of the comments, which should be stringified json |
| start | 0 | Drop the first 'start' comments |
Defined in [/src/UI/SpecialVisualisations/NoteVisualisations.ts#L144](/src/UI/SpecialVisualisations/NoteVisualisations.ts#L144)
Defined in [/src/UI/SpecialVisualisations/NoteVisualisations.ts#L136](/src/UI/SpecialVisualisations/NoteVisualisations.ts#L136)
#### Example usage of visualize_note_comments
@ -904,7 +931,7 @@ Invites the contributor to leave a review. Somewhat small UI-element until inter
| fallback | _undefined_ | The identifier to use, if <i>tags[subjectKey]</i> as specified above is not available. This is effectively a fallback value |
| question | _undefined_ | The question to ask during the review |
Defined in [/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L20](/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L20)
Defined in [/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L22](/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L22)
#### Example usage of create_review
@ -919,7 +946,7 @@ Adds an overview of the mangrove-reviews of this object. Mangrove.Reviews needs
| subjectKey | name | The key to use to determine the subject. If specified, the subject will be <b>tags[subjectKey]</b> |
| fallback | _undefined_ | The identifier to use, if <i>tags[subjectKey]</i> as specified above is not available. This is effectively a fallback value |
Defined in [/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L83](/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L83)
Defined in [/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L88](/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L88)
#### Example usage of list_reviews
@ -934,7 +961,7 @@ Shows stars which represent the average rating on mangrove.
| subjectKey | name | The key to use to determine the subject. If the value is specified, the subject will be <b>tags[subjectKey]</b> and will use this to filter the reviews. |
| fallback | _undefined_ | The identifier to use, if <i>tags[subjectKey]</i> as specified above is not available. This is effectively a fallback value |
Defined in [/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L119](/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L119)
Defined in [/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L125](/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L125)
#### Example usage of rating
@ -950,7 +977,7 @@ A pragmatic combination of `create_review` and `list_reviews`
| fallback | _undefined_ | The identifier to use, if <i>tags[subjectKey]</i> as specified above is not available. This is effectively a fallback value |
| question | _undefined_ | The question to ask in the review form. Optional |
Defined in [/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L178](/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L178)
Defined in [/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L182](/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L182)
#### Example usage of reviews
@ -968,7 +995,7 @@ A button which clears the locally downloaded data and the service worker. Login
-----|-----|----- |
| text | _undefined_ | The text to show on the button |
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L106](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L106)
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L110](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L110)
#### Example usage of clear_caches
@ -978,7 +1005,7 @@ Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L106](/src/U
A button to remove the travelled track information from the device
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L218](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L218)
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L215](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L215)
#### Example usage of clear_location_history
@ -988,7 +1015,7 @@ Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L218](/src/U
Shows which questions are disabled for every layer. Used in 'settings'
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L42](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L42)
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L46](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L46)
#### Example usage of disabled_questions
@ -998,7 +1025,7 @@ Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L42](/src/UI
Shows the current tags of the GPS-representing object, used for debugging
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L65](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L65)
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L69](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L69)
#### Example usage of gps_all_tags
@ -1008,7 +1035,7 @@ Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L65](/src/UI
Shows the current tags of the GPS-representing object, used for debugging
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L54](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L54)
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L58](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L58)
#### Example usage of gyroscope_all_tags
@ -1022,7 +1049,7 @@ Only makes sense in the usersettings. Allows to import a mangrove public key and
-----|-----|----- |
| text | _undefined_ | The text that is shown on the button |
Defined in [/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L155](/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L155)
Defined in [/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L162](/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L162)
#### Example usage of import_mangrove_key
@ -1032,7 +1059,7 @@ Defined in [/src/UI/SpecialVisualisations/ReviewSpecialVisualisations.ts#L155](/
A component to set the language of the user interface
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L22](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L22)
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L26](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L26)
#### Example usage of language_picker
@ -1047,7 +1074,7 @@ Show a login button
| force | _undefined_ | Always show this button, even if logged in |
| message | _undefined_ | Message to display on the button |
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L130](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L130)
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L131](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L131)
#### Example usage of login_button
@ -1057,7 +1084,7 @@ Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L130](/src/U
Shows a button where the user can log out
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L195](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L195)
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L192](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L192)
#### Example usage of logout
@ -1067,7 +1094,7 @@ Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L195](/src/U
A module showing the pending changes, with the option to clear the pending changes
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L207](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L207)
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L204](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L204)
#### Example usage of pending_changes
@ -1082,7 +1109,7 @@ A QR-code which shares the current URL and adds the login token. Anyone with thi
| text | _undefined_ | Extra text on the side of the QR-code |
| textClass | _undefined_ | CSS class of the the side text |
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L159](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L159)
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L161](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L161)
#### Example usage of qr_login
@ -1092,7 +1119,7 @@ Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L159](/src/U
Shows the current state of storage
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L82](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L82)
Defined in [/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L86](/src/UI/SpecialVisualisations/SettingsVisualisations.ts#L86)
#### Example usage of storage_all_tags
@ -1112,7 +1139,7 @@ A collapsable group (accordion)
| labels | _undefined_ | A `;`-separated list of either identifiers or label names. All tagRenderings matching this value will be shown in the accordion |
| blacklist | _undefined_ | A `;`-separated list of either identifiers or label names. Matching tagrenderings will _not_ be included, even if they are in `labels` |
Defined in [/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L179](/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L179)
Defined in [/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L176](/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L176)
#### Example usage of group
@ -1128,7 +1155,7 @@ Given an embedded tagRendering (read only) and a key, will read the keyname as a
| tagrendering | _undefined_ | An entire tagRenderingConfig |
| classes | _undefined_ | CSS-classes to apply on every individual item. Seperated by `space` |
Defined in [/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L94](/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L94)
Defined in [/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L96](/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L96)
#### Example usage of multi
@ -1146,26 +1173,6 @@ Defined in [/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisuali
}
```
### open_in_iD
Opens the current view in the iD-editor
Defined in [/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L221](/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L221)
#### Example usage of open_in_iD
`{open_in_iD()}`
### open_in_josm
Opens the current view in the JOSM-editor
Defined in [/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L235](/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L235)
#### Example usage of open_in_josm
`{open_in_josm()}`
### steal
Shows a tagRendering from a different object as if this was the object itself
@ -1175,12 +1182,26 @@ Shows a tagRendering from a different object as if this was the object itself
| featureId | _undefined_ | The key of the attribute which contains the id of the feature from which to use the tags |
| tagRenderingId | _undefined_ | The layer-id and tagRenderingId to render. Can be multiple value if ';'-separated (in which case every value must also contain the layerId, e.g. `layerId.tagRendering0; layerId.tagRendering1`). Note: this can cause layer injection |
Defined in [/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L22](/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L22)
Defined in [/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L23](/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L23)
#### Example usage of steal
`{steal(,)}`
## ui
Elements to support the user interface, e.g. 'title', 'translated'
### preset_type_select
An editable tag rendering which allows to change the type
Defined in [/src/UI/Popup/DataVisualisations.ts#L231](/src/UI/Popup/DataVisualisations.ts#L231)
#### Example usage of preset_type_select
`{preset_type_select()}`
## web_and_communication
Tools to show data from external websites, which link to external websites or which link to external profiles
@ -1193,7 +1214,7 @@ Converts a fediverse username or link into a clickable link
-----|-----|----- |
| key | _undefined_ | The attribute-name containing the link |
Defined in [/src/UI/SpecialVisualisations/WebAndCommunicationSpecialVisualisations.ts#L17](/src/UI/SpecialVisualisations/WebAndCommunicationSpecialVisualisations.ts#L17)
Defined in [/src/UI/SpecialVisualisations/WebAndCommunicationSpecialVisualisations.ts#L20](/src/UI/SpecialVisualisations/WebAndCommunicationSpecialVisualisations.ts#L20)
#### Example usage of fediverse_link
@ -1206,13 +1227,13 @@ Construct a link. By using the 'special' visualisation notation, translations sh
| name | default | description |
-----|-----|----- |
| text | _undefined_ | Text to be shown |
| href | _undefined_ | The URL to link to. Note that this will be URI-encoded before |
| href | _undefined_ | The URL to link to. Note that this will be URI-encoded before and (as everything) supports substitutions of attributes |
| class | _undefined_ | CSS-classes to add to the element |
| download | _undefined_ | Expects a string which denotes the filename to download the contents of `href` into. If set, this link will act as a download-button. |
| arialabel | _undefined_ | If set, this text will be used as aria-label |
| icon | _undefined_ | If set, show this icon next to the link. You might want to combine this with `class: button` |
Defined in [/src/UI/SpecialVisualisations/WebAndCommunicationSpecialVisualisations.ts#L139](/src/UI/SpecialVisualisations/WebAndCommunicationSpecialVisualisations.ts#L139)
Defined in [/src/UI/SpecialVisualisations/WebAndCommunicationSpecialVisualisations.ts#L147](/src/UI/SpecialVisualisations/WebAndCommunicationSpecialVisualisations.ts#L147)
#### Example usage of link
@ -1226,12 +1247,32 @@ Adds a button to open mapillary on the specified location
-----|-----|----- |
| zoom | 18 | The startzoom of mapillary |
Defined in [/src/UI/Popup/MapillaryLinkVis.ts#L8](/src/UI/Popup/MapillaryLinkVis.ts#L8)
Defined in [/src/UI/Popup/MapillaryLinkVis.ts#L7](/src/UI/Popup/MapillaryLinkVis.ts#L7)
#### Example usage of mapillary_link
`{mapillary_link(18)}`
### open_in_iD
Opens the current view in the iD-editor
Defined in [/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L212](/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L212)
#### Example usage of open_in_iD
`{open_in_iD()}`
### open_in_josm
Opens the current view in the JOSM-editor
Defined in [/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L226](/src/UI/SpecialVisualisations/TagrenderingManipulationSpecialVisualisations.ts#L226)
#### Example usage of open_in_josm
`{open_in_josm()}`
### send_email
Creates a `mailto`-link where some fields are already set and correctly escaped. The user will be promted to send the email
@ -1243,7 +1284,7 @@ Creates a `mailto`-link where some fields are already set and correctly escaped.
| body | _undefined_ | The text in the email |
| button_text | _undefined_ | The text shown on the button in the UI |
Defined in [/src/UI/SpecialVisualisations/WebAndCommunicationSpecialVisualisations.ts#L105](/src/UI/SpecialVisualisations/WebAndCommunicationSpecialVisualisations.ts#L105)
Defined in [/src/UI/SpecialVisualisations/WebAndCommunicationSpecialVisualisations.ts#L109](/src/UI/SpecialVisualisations/WebAndCommunicationSpecialVisualisations.ts#L109)
#### Example usage of send_email
@ -1257,7 +1298,7 @@ Shows the label of the corresponding wikidata-item
-----|-----|----- |
| keyToShowWikidataFor | wikidata | Use the wikidata entry from this key to show the label |
Defined in [/src/UI/SpecialVisualisations/WebAndCommunicationSpecialVisualisations.ts#L67](/src/UI/SpecialVisualisations/WebAndCommunicationSpecialVisualisations.ts#L67)
Defined in [/src/UI/SpecialVisualisations/WebAndCommunicationSpecialVisualisations.ts#L68](/src/UI/SpecialVisualisations/WebAndCommunicationSpecialVisualisations.ts#L68)
#### Example usage of wikidata_label
@ -1285,7 +1326,7 @@ Various elements
Exports the selected feature as GeoJson-file
Defined in [/src/UI/Popup/DataExportVisualisations.ts#L46](/src/UI/Popup/DataExportVisualisations.ts#L46)
Defined in [/src/UI/Popup/DataExportVisualisations.ts#L38](/src/UI/Popup/DataExportVisualisations.ts#L38)
#### Example usage of export_as_geojson
@ -1295,7 +1336,7 @@ Defined in [/src/UI/Popup/DataExportVisualisations.ts#L46](/src/UI/Popup/DataExp
Exports the selected feature as GPX-file
Defined in [/src/UI/Popup/DataExportVisualisations.ts#L14](/src/UI/Popup/DataExportVisualisations.ts#L14)
Defined in [/src/UI/Popup/DataExportVisualisations.ts#L12](/src/UI/Popup/DataExportVisualisations.ts#L12)
#### Example usage of export_as_gpx
@ -1309,7 +1350,7 @@ Create a histogram for a list of given values, read from the properties.
-----|-----|----- |
| key | _undefined_ | The key to be read and to generate a histogram from |
Defined in [/src/UI/Popup/HistogramViz.ts#L7](/src/UI/Popup/HistogramViz.ts#L7)
Defined in [/src/UI/Popup/HistogramViz.ts#L11](/src/UI/Popup/HistogramViz.ts#L11)
#### Example usage of histogram
@ -1325,10 +1366,10 @@ The language element allows to show and pick all known (modern) languages. The k
| question | _undefined_ | What to ask if no questions are known |
| render_list_item | {language()} | How a single language will be shown in the list of languages. Use `{language}` to indicate the language (which it must contain). |
| render_single_language | _undefined_ | What will be shown if the feature only supports a single language |
| render_all | {list()} | The full rendering. Use `{list}` to show where the list of languages must come. Optional if mode=single |
| render_all | {list()} | The full rendering. U0se `{list}` to show where the list of languages must come. Optional if mode=single |
| no_known_languages | _undefined_ | The text that is shown if no languages are known for this key. If this text is omitted, the languages will be prompted instead |
Defined in [/src/UI/Popup/LanguageElement/LanguageElement.ts#L9](/src/UI/Popup/LanguageElement/LanguageElement.ts#L9)
Defined in [/src/UI/Popup/LanguageElement/LanguageElement.ts#L5](/src/UI/Popup/LanguageElement/LanguageElement.ts#L5)
#### Example usage of language_chooser
@ -1362,31 +1403,11 @@ Defined in [/src/UI/Popup/MultiApplyViz.ts#L7](/src/UI/Popup/MultiApplyViz.ts#L7
{multi_apply(_features_with_the_same_name_within_100m, name:etymology:wikidata;name:etymology, Apply etymology information on all nearby objects with the same name)}
### preset_description
Shows the extra description from the presets of the layer, if one matches. It will pick the most specific one (e.g. if preset `A` implies `B`, but `B` does not imply `A`, it'll pick B) or the first one if no ordering can be made. Might be empty
Defined in [/src/UI/Popup/DataVisualisations.ts#L221](/src/UI/Popup/DataVisualisations.ts#L221)
#### Example usage of preset_description
`{preset_description()}`
### preset_type_select
An editable tag rendering which allows to change the type
Defined in [/src/UI/Popup/DataVisualisations.ts#L239](/src/UI/Popup/DataVisualisations.ts#L239)
#### Example usage of preset_type_select
`{preset_type_select()}`
### upload_to_osm
Uploads the GPS-history as GPX to OpenStreetMap.org; clears the history afterwards. The actual feature is ignored.
Defined in [/src/UI/Popup/UploadToOsmViz.ts#L12](/src/UI/Popup/UploadToOsmViz.ts#L12)
Defined in [/src/UI/Popup/UploadToOsmViz.ts#L17](/src/UI/Popup/UploadToOsmViz.ts#L17)
#### Example usage of upload_to_osm

View file

@ -26,37 +26,37 @@
},
{
"key": "id",
"description": "id~.+ is displayed as \"You just created this element! Thanks for sharing this info with the world and helping people worldwide.\" by layers Visitor Information Centre, Drinking water, Bird watching places, Nature reserve, Maps, Information boards, Benches, Picnic tables, Toilets, Guideposts, Shelter, BBQ, Firepit, Insect Hotels, Artworks, Artificial nesting sites, Tree, Observation towers, Viewpoint",
"description": "id~.+ is displayed as \"You just created this element! Thanks for sharing this info with the world and helping people worldwide.\" by layers Visitor Information Centre, Drinking water, Bird watching places, Nature reserve, Shelter, Maps, Information boards, Benches, Picnic tables, Toilets, Guideposts, BBQ, Firepit, Insect Hotels, Artworks, Artificial nesting sites, Tree, Observation towers, Viewpoint",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/visitor_information_centre.md#just_created",
"icon_url": "./assets/svg/party.svg"
},
{
"key": "image",
"description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Visitor Information Centre, Drinking water, Bird watching places, Nature reserve, Maps, Information boards, Benches, Picnic tables, Toilets, Guideposts, Shelter, BBQ, Firepit, Insect Hotels, Artworks, Artificial nesting sites, Tree, Observation towers, Viewpoint",
"description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Visitor Information Centre, Drinking water, Bird watching places, Nature reserve, Shelter, Maps, Information boards, Benches, Picnic tables, Toilets, Guideposts, BBQ, Firepit, Insect Hotels, Artworks, Artificial nesting sites, Tree, Observation towers, Viewpoint",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/visitor_information_centre.md#images",
"icon_url": "./assets/layers/visitor_information_centre/information.svg"
},
{
"key": "panoramax",
"description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Visitor Information Centre, Drinking water, Bird watching places, Nature reserve, Maps, Information boards, Benches, Picnic tables, Toilets, Guideposts, Shelter, BBQ, Firepit, Insect Hotels, Artworks, Artificial nesting sites, Tree, Observation towers, Viewpoint",
"description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Visitor Information Centre, Drinking water, Bird watching places, Nature reserve, Shelter, Maps, Information boards, Benches, Picnic tables, Toilets, Guideposts, BBQ, Firepit, Insect Hotels, Artworks, Artificial nesting sites, Tree, Observation towers, Viewpoint",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/visitor_information_centre.md#images",
"icon_url": "./assets/layers/visitor_information_centre/information.svg"
},
{
"key": "mapillary",
"description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Visitor Information Centre, Drinking water, Bird watching places, Nature reserve, Maps, Information boards, Benches, Picnic tables, Toilets, Guideposts, Shelter, BBQ, Firepit, Insect Hotels, Artworks, Artificial nesting sites, Tree, Observation towers, Viewpoint",
"description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Visitor Information Centre, Drinking water, Bird watching places, Nature reserve, Shelter, Maps, Information boards, Benches, Picnic tables, Toilets, Guideposts, BBQ, Firepit, Insect Hotels, Artworks, Artificial nesting sites, Tree, Observation towers, Viewpoint",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/visitor_information_centre.md#images",
"icon_url": "./assets/layers/visitor_information_centre/information.svg"
},
{
"key": "wikidata",
"description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Visitor Information Centre, Drinking water, Bird watching places, Nature reserve, Maps, Information boards, Benches, Picnic tables, Toilets, Guideposts, Shelter, BBQ, Firepit, Insect Hotels, Artworks, Artificial nesting sites, Tree, Observation towers, Viewpoint",
"description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Visitor Information Centre, Drinking water, Bird watching places, Nature reserve, Shelter, Maps, Information boards, Benches, Picnic tables, Toilets, Guideposts, BBQ, Firepit, Insect Hotels, Artworks, Artificial nesting sites, Tree, Observation towers, Viewpoint",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/visitor_information_centre.md#images",
"icon_url": "./assets/layers/visitor_information_centre/information.svg"
},
{
"key": "wikipedia",
"description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Visitor Information Centre, Drinking water, Bird watching places, Nature reserve, Maps, Information boards, Benches, Picnic tables, Toilets, Guideposts, Shelter, BBQ, Firepit, Insect Hotels, Artworks, Artificial nesting sites, Tree, Observation towers, Viewpoint",
"description": "Images are displayed based on the keys image, image:0, image:1,..., panoramax, panoramax:0, panoramx:1, ... , wikidata, wikipedia, wikimedia_commons and mapillary Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary by layers Visitor Information Centre, Drinking water, Bird watching places, Nature reserve, Shelter, Maps, Information boards, Benches, Picnic tables, Toilets, Guideposts, BBQ, Firepit, Insect Hotels, Artworks, Artificial nesting sites, Tree, Observation towers, Viewpoint",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/visitor_information_centre.md#images",
"icon_url": "./assets/layers/visitor_information_centre/information.svg"
},
@ -1652,6 +1652,68 @@
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/nature_reserve.md#wikipedia",
"icon_url": "./assets/layers/nature_reserve/nature_reserve.svg"
},
{
"key": "amenity",
"value": "shelter",
"description": "Features with this tag are displayed by layer Shelter",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/shelter.md",
"icon_url": "./assets/layers/shelter/shelter.svg"
},
{
"key": "shelter_type",
"description": "Values of `shelter_type` are shown with \"Shelter type: {shelter_type}\" and can be updated. The question is \"What kind of shelter is this?\" by layer Shelter",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/shelter.md#shelter_type",
"icon_url": "./assets/layers/shelter/shelter.svg"
},
{
"key": "shelter_type",
"value": "public_transport",
"description": "shelter_type=public_transport is displayed as \"This is a shelter at a public transport stop.\" by layer Shelter",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/shelter.md#shelter_type",
"icon_url": "./assets/layers/shelter/shelter.svg"
},
{
"key": "shelter_type",
"value": "picnic_shelter",
"description": "shelter_type=picnic_shelter is displayed as \"This is a shelter protecting from rain at a picnic site.\" by layer Shelter",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/shelter.md#shelter_type",
"icon_url": "./assets/layers/shelter/shelter.svg"
},
{
"key": "shelter_type",
"value": "gazebo",
"description": "shelter_type=gazebo is displayed as \"This is a gazebo.\" by layer Shelter",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/shelter.md#shelter_type",
"icon_url": "./assets/layers/shelter/shelter.svg"
},
{
"key": "shelter_type",
"value": "weather_shelter",
"description": "shelter_type=weather_shelter is displayed as \"This is a small shelter, primarily intended for short breaks. Usually found in the mountains or alongside roads.\" by layer Shelter",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/shelter.md#shelter_type",
"icon_url": "./assets/layers/shelter/shelter.svg"
},
{
"key": "shelter_type",
"value": "lean_to",
"description": "shelter_type=lean_to is displayed as \"This is a shed with 3 walls, primarily intended for camping.\" by layer Shelter",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/shelter.md#shelter_type",
"icon_url": "./assets/layers/shelter/shelter.svg"
},
{
"key": "shelter_type",
"value": "pavilion",
"description": "shelter_type=pavilion is displayed as \"This is a pavilion\" by layer Shelter",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/shelter.md#shelter_type",
"icon_url": "./assets/layers/shelter/shelter.svg"
},
{
"key": "shelter_type",
"value": "basic_hut",
"description": "shelter_type=basic_hut is displayed as \"This is a basic hut, providing basic shelter and sleeping facilities.\" by layer Shelter",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/shelter.md#shelter_type",
"icon_url": "./assets/layers/shelter/shelter.svg"
},
{
"key": "tourism",
"value": "map",
@ -2470,68 +2532,6 @@
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/guidepost.md#ele",
"icon_url": "./assets/layers/guidepost/guidepost.svg"
},
{
"key": "amenity",
"value": "shelter",
"description": "Features with this tag are displayed by layer Shelter",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/shelter.md",
"icon_url": "./assets/layers/shelter/shelter.svg"
},
{
"key": "shelter_type",
"description": "Values of `shelter_type` are shown with \"Shelter type: {shelter_type}\" and can be updated. The question is \"What kind of shelter is this?\" by layer Shelter",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/shelter.md#shelter_type",
"icon_url": "./assets/layers/shelter/shelter.svg"
},
{
"key": "shelter_type",
"value": "public_transport",
"description": "shelter_type=public_transport is displayed as \"This is a shelter at a public transport stop.\" by layer Shelter",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/shelter.md#shelter_type",
"icon_url": "./assets/layers/shelter/shelter.svg"
},
{
"key": "shelter_type",
"value": "picnic_shelter",
"description": "shelter_type=picnic_shelter is displayed as \"This is a shelter protecting from rain at a picnic site.\" by layer Shelter",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/shelter.md#shelter_type",
"icon_url": "./assets/layers/shelter/shelter.svg"
},
{
"key": "shelter_type",
"value": "gazebo",
"description": "shelter_type=gazebo is displayed as \"This is a gazebo.\" by layer Shelter",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/shelter.md#shelter_type",
"icon_url": "./assets/layers/shelter/shelter.svg"
},
{
"key": "shelter_type",
"value": "weather_shelter",
"description": "shelter_type=weather_shelter is displayed as \"This is a small shelter, primarily intended for short breaks. Usually found in the mountains or alongside roads.\" by layer Shelter",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/shelter.md#shelter_type",
"icon_url": "./assets/layers/shelter/shelter.svg"
},
{
"key": "shelter_type",
"value": "lean_to",
"description": "shelter_type=lean_to is displayed as \"This is a shed with 3 walls, primarily intended for camping.\" by layer Shelter",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/shelter.md#shelter_type",
"icon_url": "./assets/layers/shelter/shelter.svg"
},
{
"key": "shelter_type",
"value": "pavilion",
"description": "shelter_type=pavilion is displayed as \"This is a pavilion\" by layer Shelter",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/shelter.md#shelter_type",
"icon_url": "./assets/layers/shelter/shelter.svg"
},
{
"key": "shelter_type",
"value": "basic_hut",
"description": "shelter_type=basic_hut is displayed as \"This is a basic hut, providing basic shelter and sleeping facilities.\" by layer Shelter",
"doc_url": "https://source.mapcomplete.org/MapComplete/MapComplete/src/branch/develop/Docs/Layers/shelter.md#shelter_type",
"icon_url": "./assets/layers/shelter/shelter.svg"
},
{
"key": "amenity",
"value": "bbq",

File diff suppressed because it is too large Load diff

View file

@ -258,7 +258,7 @@ Elements must match **all** of the following expressions:
| [seating](#seating) <br/> _(Original in [questions](./BuiltinQuestions.md#seating))_ | What kind of seating does have?<br/>2 options | | _Multiple choice only_ |
| [child_highchair](#child_highchair) <br/> _(Original in [questions](./BuiltinQuestions.md#child_highchair))_ | Is there a high chair (also known as booster chair) for toddlers available here?<br/>_{highchair} highchairs are available_<br/>4 options | | *[highchair](https://wiki.osm.org/wiki/Key:highchair)* ([nat](../SpecialInputElements.md#nat)) |
| [kids_area](#kids_area) <br/> _(Original in [questions](./BuiltinQuestions.md#kids_area))_ | Is there a play area for kids<br/>5 options | | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options{show_icons(diets_content,inline-flex float-right)}_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_group](#diets_group) <br/> _(Original in [diets](./diets.md#diets_group))_ | _{group(diets_title,diets_content,)}_ | diets_grouped | _Multiple choice only_ |
| [sugar_free](#sugar_free) <br/> _(Original in [diets](./diets.md#sugar_free))_ | Does this shop have a sugar free offering?<br/>4 options | diets_grouped, diets_content, hidden | _Multiple choice only_ |
| [lactose_free](#lactose_free) <br/> _(Original in [diets](./diets.md#lactose_free))_ | Does have a lactose-free offering?<br/>4 options | diets_content, diets_grouped, hidden | _Multiple choice only_ |
@ -537,7 +537,7 @@ The question is `Is there a play area for kids`
### diets_title
_This tagrendering has no question and is thus read-only_
*Dietary options*
*Dietary options{show_icons(diets_content,inline-flex float-right)}*
This tagrendering has labels `diets_group` `diets_grouped` `hidden`

View file

@ -453,7 +453,7 @@ Elements must match **all** of the following expressions:
| [seating](#seating) <br/> _(Original in [questions](./BuiltinQuestions.md#seating))_ | What kind of seating does have?<br/>2 options | | _Multiple choice only_ |
| [child_highchair](#child_highchair) <br/> _(Original in [questions](./BuiltinQuestions.md#child_highchair))_ | Is there a high chair (also known as booster chair) for toddlers available here?<br/>_{highchair} highchairs are available_<br/>4 options | | *[highchair](https://wiki.osm.org/wiki/Key:highchair)* ([nat](../SpecialInputElements.md#nat)) |
| [kids_area](#kids_area) <br/> _(Original in [questions](./BuiltinQuestions.md#kids_area))_ | Is there a play area for kids<br/>5 options | | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options{show_icons(diets_content,inline-flex float-right)}_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_group](#diets_group) <br/> _(Original in [diets](./diets.md#diets_group))_ | _{group(diets_title,diets_content,)}_ | diets_grouped | _Multiple choice only_ |
| [sugar_free](#sugar_free) <br/> _(Original in [diets](./diets.md#sugar_free))_ | Does this shop have a sugar free offering?<br/>4 options | diets_grouped, diets_content, hidden | _Multiple choice only_ |
| [lactose_free](#lactose_free) <br/> _(Original in [diets](./diets.md#lactose_free))_ | Does have a lactose-free offering?<br/>4 options | diets_content, diets_grouped, hidden | _Multiple choice only_ |
@ -741,7 +741,7 @@ The question is `Is there a play area for kids`
### diets_title
_This tagrendering has no question and is thus read-only_
*Dietary options*
*Dietary options{show_icons(diets_content,inline-flex float-right)}*
This tagrendering has labels `diets_group` `diets_grouped` `hidden`
@ -1588,7 +1588,7 @@ Elements must match **all** of the following expressions:
| [show-menu-image](#show-menu-image) <br/> _(Original in [food](./food.md#show-menu-image))_ | _{image_carousel(image:menu)}_ | menu | _Multiple choice only_ |
| [add-menu-image](#add-menu-image) <br/> _(Original in [food](./food.md#add-menu-image))_ | _{image_upload(image:menu,Add an image from the menu,)}_ | menu | _Multiple choice only_ |
| [menu-website](#menu-website) <br/> _(Original in [food](./food.md#menu-website))_ | On what webpage is the menu published?<br/>_{link(Consult the menu,&LBRACEwebsite:menu&RBRACE,,,,)}_ | menu | *[website:menu](https://wiki.osm.org/wiki/Key:website:menu)* ([url](../SpecialInputElements.md#url)) |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options{show_icons(diets_content,inline-flex float-right)}_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_group](#diets_group) <br/> _(Original in [diets](./diets.md#diets_group))_ | _{group(diets_title,diets_content,)}_ | diets_grouped | _Multiple choice only_ |
| [sugar_free](#sugar_free) <br/> _(Original in [diets](./diets.md#sugar_free))_ | Does this shop have a sugar free offering?<br/>4 options | diets_grouped, diets_content, hidden | _Multiple choice only_ |
| [lactose_free](#lactose_free) <br/> _(Original in [diets](./diets.md#lactose_free))_ | Does have a lactose-free offering?<br/>4 options | diets_content, diets_grouped, hidden | _Multiple choice only_ |
@ -1760,7 +1760,7 @@ This tagrendering has labels `menu`
### diets_title
_This tagrendering has no question and is thus read-only_
*Dietary options*
*Dietary options{show_icons(diets_content,inline-flex float-right)}*
This tagrendering has labels `diets_group` `diets_grouped` `hidden`

View file

@ -76,7 +76,6 @@ These layers can not be reused in different themes.
# osm_buildings_no_points
- This layer is shown at zoomlevel **17** and higher
- Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings`
No themes use this layer
@ -85,9 +84,9 @@ No themes use this layer
Elements must match **all** of the following expressions:
0. id~^(way\/.*)$ | id~^(relation\/.*)$
1. building~.+
1. building~.+ | building:part~.+
[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22id%22~%22%5E%28way%5C%2F.*%29%24%22%5D%5B%22building%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22id%22~%22%5E%28relation%5C%2F.*%29%24%22%5D%5B%22building%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B)
[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22id%22~%22%5E%28way%5C%2F.*%29%24%22%5D%5B%22building%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22id%22~%22%5E%28way%5C%2F.*%29%24%22%5D%5B%22building%3Apart%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22id%22~%22%5E%28relation%5C%2F.*%29%24%22%5D%5B%22building%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22id%22~%22%5E%28relation%5C%2F.*%29%24%22%5D%5B%22building%3Apart%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B)
## Supported attributes

View file

@ -9,6 +9,7 @@ The theme introduction reads:
This theme contains the following layers:
- [historic_rolling_stock](../Layers/historic_rolling_stock.md)
- [railway](../Layers/railway.md)
Available languages:

View file

@ -451,7 +451,7 @@ Elements must match **all** of the following expressions:
| [seating](#seating) <br/> _(Original in [questions](./BuiltinQuestions.md#seating))_ | What kind of seating does have?<br/>2 options | | _Multiple choice only_ |
| [child_highchair](#child_highchair) <br/> _(Original in [questions](./BuiltinQuestions.md#child_highchair))_ | Is there a high chair (also known as booster chair) for toddlers available here?<br/>_{highchair} highchairs are available_<br/>4 options | | *[highchair](https://wiki.osm.org/wiki/Key:highchair)* ([nat](../SpecialInputElements.md#nat)) |
| [kids_area](#kids_area) <br/> _(Original in [questions](./BuiltinQuestions.md#kids_area))_ | Is there a play area for kids<br/>5 options | | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options{show_icons(diets_content,inline-flex float-right)}_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_group](#diets_group) <br/> _(Original in [diets](./diets.md#diets_group))_ | _{group(diets_title,diets_content,)}_ | diets_grouped | _Multiple choice only_ |
| [sugar_free](#sugar_free) <br/> _(Original in [diets](./diets.md#sugar_free))_ | Does this shop have a sugar free offering?<br/>4 options | diets_grouped, diets_content, hidden | _Multiple choice only_ |
| [gluten_free](#gluten_free) <br/> _(Original in [diets](./diets.md#gluten_free))_ | Does this shop have a gluten free offering?<br/>4 options | diets_content, diets_grouped, hidden | _Multiple choice only_ |
@ -739,7 +739,7 @@ The question is `Is there a play area for kids`
### diets_title
_This tagrendering has no question and is thus read-only_
*Dietary options*
*Dietary options{show_icons(diets_content,inline-flex float-right)}*
This tagrendering has labels `diets_group` `diets_grouped` `hidden`
@ -1586,7 +1586,7 @@ Elements must match **all** of the following expressions:
| [show-menu-image](#show-menu-image) <br/> _(Original in [food](./food.md#show-menu-image))_ | _{image_carousel(image:menu)}_ | menu | _Multiple choice only_ |
| [add-menu-image](#add-menu-image) <br/> _(Original in [food](./food.md#add-menu-image))_ | _{image_upload(image:menu,Add an image from the menu,)}_ | menu | _Multiple choice only_ |
| [menu-website](#menu-website) <br/> _(Original in [food](./food.md#menu-website))_ | On what webpage is the menu published?<br/>_{link(Consult the menu,&LBRACEwebsite:menu&RBRACE,,,,)}_ | menu | *[website:menu](https://wiki.osm.org/wiki/Key:website:menu)* ([url](../SpecialInputElements.md#url)) |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options{show_icons(diets_content,inline-flex float-right)}_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_group](#diets_group) <br/> _(Original in [diets](./diets.md#diets_group))_ | _{group(diets_title,diets_content,)}_ | diets_grouped | _Multiple choice only_ |
| [sugar_free](#sugar_free) <br/> _(Original in [diets](./diets.md#sugar_free))_ | Does this shop have a sugar free offering?<br/>4 options | diets_grouped, diets_content, hidden | _Multiple choice only_ |
| [gluten_free](#gluten_free) <br/> _(Original in [diets](./diets.md#gluten_free))_ | Does this shop have a gluten free offering?<br/>4 options | diets_content, diets_grouped, hidden | _Multiple choice only_ |
@ -1758,7 +1758,7 @@ This tagrendering has labels `menu`
### diets_title
_This tagrendering has no question and is thus read-only_
*Dietary options*
*Dietary options{show_icons(diets_content,inline-flex float-right)}*
This tagrendering has labels `diets_group` `diets_grouped` `hidden`

View file

@ -12,13 +12,13 @@ This theme contains the following layers:
- [drinking_water](../Layers/drinking_water.md)
- [birdhide](../Layers/birdhide.md)
- [nature_reserve](../Layers/nature_reserve.md)
- [shelter](../Layers/shelter.md)
- [map](../Layers/map.md)
- [information_board](../Layers/information_board.md)
- [bench](../Layers/bench.md)
- [picnic_table](../Layers/picnic_table.md)
- [toilet](../Layers/toilet.md)
- [guidepost](../Layers/guidepost.md)
- [shelter](../Layers/shelter.md)
- [bbq](../Layers/bbq.md)
- [firepit](../Layers/firepit.md)
- [insect_hotel](../Layers/insect_hotel.md)

View file

@ -94,6 +94,7 @@ This theme contains the following layers:
- [postboxes](../Layers/postboxes.md)
- [postoffices](../Layers/postoffices.md)
- [public_bookcase](../Layers/public_bookcase.md)
- [railway](../Layers/railway.md)
- [rainbow_crossings](../Layers/rainbow_crossings.md)
- [reception_desk](../Layers/reception_desk.md)
- [recycling](../Layers/recycling.md)

View file

@ -14,6 +14,8 @@ This theme contains the following layers:
- [dog_toilet](../Layers/dog_toilet.md)
- [food_dog_friendly (defined in this theme)](#food_dog_friendly)
- [food](../Layers/food.md)
- [cafe_pub_dog_friendly (defined in this theme)](#cafe_pub_dog_friendly)
- [cafe_pub](../Layers/cafe_pub.md)
- [pet_shops (defined in this theme)](#pet_shops)
- [shop_dog_friendly (defined in this theme)](#shop_dog_friendly)
- [shops](../Layers/shops.md)
@ -143,7 +145,81 @@ Available languages:
+ [lod](#lod)
+ [spacer](#spacer)
- [Filters](#filters)
3. [pet_shops](#pet_shops)
3. [cafe_pub_dog_friendly](#cafe_pub_dog_friendly)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
- [Featureview elements and TagRenderings](#featureview-elements-and-tagrenderings)
+ [images](#images)
+ [reviews](#reviews)
+ [Name](#name)
+ [Classification](#classification)
+ [opening_hours](#opening_hours)
+ [website](#website)
+ [email](#email)
+ [phone](#phone)
+ [payment-options](#payment-options)
+ [repeated](#repeated)
+ [single_level](#single_level)
+ [smoking](#smoking)
+ [wheelchair-access](#wheelchair-access)
+ [pub_reusable_packaging](#pub_reusable_packaging)
+ [service:electricity](#serviceelectricity)
+ [seating](#seating)
+ [dog-access](#dog-access)
+ [internet](#internet)
+ [internet-fee](#internet-fee)
+ [internet-ssid](#internet-ssid)
+ [toilets-group](#toilets-group)
+ [grouptitle](#grouptitle)
+ [has_toilets](#has_toilets)
+ [images_toilet](#images_toilet)
+ [toilets_repeated](#toilets_repeated)
+ [toilets_single_level](#toilets_single_level)
+ [toilets_toilet-access](#toilets_toilet-access)
+ [toilets_toilets-fee](#toilets_toilets-fee)
+ [toilets_toilet-charge](#toilets_toilet-charge)
+ [toilets_payment-options-split](#toilets_payment-options-split)
+ [toilets_gender_segregated](#toilets_gender_segregated)
+ [toilets_toilet-supervised](#toilets_toilet-supervised)
+ [toilets_description](#toilets_description)
+ [toilets_toilets-wheelchair](#toilets_toilets-wheelchair)
+ [toilets-type](#toilets-type)
+ [toilets-disposal](#toilets-disposal)
+ [menstrual_products](#menstrual_products)
+ [menstrual_products_location](#menstrual_products_location)
+ [toilets-changing-table](#toilets-changing-table)
+ [toilet-changing_table:location](#toilet-changing_tablelocation)
+ [toilet-has-paper](#toilet-has-paper)
+ [toilet-handwashing](#toilet-handwashing)
+ [handwashing-soap](#handwashing-soap)
+ [toilet-drying](#toilet-drying)
+ [wheelchair-group](#wheelchair-group)
+ [wheelchair-picture-carousel](#wheelchair-picture-carousel)
+ [wheelchair-picture](#wheelchair-picture)
+ [wheelchair-title](#wheelchair-title)
+ [toilet-wheelchair-access](#toilet-wheelchair-access)
+ [toilets_wheelchair_has_grab_rail_lr](#toilets_wheelchair_has_grab_rail_lr)
+ [toilets_wheelchair_has_grab_rail_behind](#toilets_wheelchair_has_grab_rail_behind)
+ [toilets_wheelchair_is_foldable_left](#toilets_wheelchair_is_foldable_left)
+ [toilets_wheelchair_is_foldable_right](#toilets_wheelchair_is_foldable_right)
+ [wheelchair-door-width](#wheelchair-door-width)
+ [questions-wheelchair](#questions-wheelchair)
+ [adult_changing_table_title](#adult_changing_table_title)
+ [adult-changing-table](#adult-changing-table)
+ [changing_table_adult_height](#changing_table_adult_height)
+ [changing_table_adult_adult-changing-table-min_height](#changing_table_adult_adult-changing-table-min_height)
+ [changing_table_adult_adult-changing-table-max_height](#changing_table_adult_adult-changing-table-max_height)
+ [changing_table_adult_adult-changing-table-mechanism](#changing_table_adult_adult-changing-table-mechanism)
+ [changing_table_adult_adult-changing-table-support](#changing_table_adult_adult-changing-table-support)
+ [questions-adult-changing-table](#questions-adult-changing-table)
+ [toilet-question-box](#toilet-question-box)
+ [leftover-questions](#leftover-questions)
+ [move-button](#move-button)
+ [delete-button](#delete-button)
+ [lod](#lod)
+ [spacer](#spacer)
- [Filters](#filters)
4. [pet_shops](#pet_shops)
- [Presets](#presets)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
@ -255,7 +331,7 @@ Available languages:
+ [lod](#lod)
+ [spacer](#spacer)
- [Filters](#filters)
4. [shop_dog_friendly](#shop_dog_friendly)
5. [shop_dog_friendly](#shop_dog_friendly)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
- [Featureview elements and TagRenderings](#featureview-elements-and-tagrenderings)
@ -366,7 +442,7 @@ Available languages:
+ [lod](#lod)
+ [spacer](#spacer)
- [Filters](#filters)
5. [waste_basket_dogs](#waste_basket_dogs)
6. [waste_basket_dogs](#waste_basket_dogs)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
- [Featureview elements and TagRenderings](#featureview-elements-and-tagrenderings)
@ -504,7 +580,7 @@ Elements must match **all** of the following expressions:
| [seating](#seating) <br/> _(Original in [questions](./BuiltinQuestions.md#seating))_ | What kind of seating does have?<br/>2 options | | _Multiple choice only_ |
| [child_highchair](#child_highchair) <br/> _(Original in [questions](./BuiltinQuestions.md#child_highchair))_ | Is there a high chair (also known as booster chair) for toddlers available here?<br/>_{highchair} highchairs are available_<br/>4 options | | *[highchair](https://wiki.osm.org/wiki/Key:highchair)* ([nat](../SpecialInputElements.md#nat)) |
| [kids_area](#kids_area) <br/> _(Original in [questions](./BuiltinQuestions.md#kids_area))_ | Is there a play area for kids<br/>5 options | | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_title](#diets_title) <br/> _(Original in [diets](./diets.md#diets_title))_ | _Dietary options{show_icons(diets_content,inline-flex float-right)}_ | diets_group, diets_grouped, hidden | _Multiple choice only_ |
| [diets_group](#diets_group) <br/> _(Original in [diets](./diets.md#diets_group))_ | _{group(diets_title,diets_content,)}_ | diets_grouped | _Multiple choice only_ |
| [sugar_free](#sugar_free) <br/> _(Original in [diets](./diets.md#sugar_free))_ | Does this shop have a sugar free offering?<br/>4 options | diets_grouped, diets_content, hidden | _Multiple choice only_ |
| [lactose_free](#lactose_free) <br/> _(Original in [diets](./diets.md#lactose_free))_ | Does have a lactose-free offering?<br/>4 options | diets_content, diets_grouped, hidden | _Multiple choice only_ |
@ -783,7 +859,7 @@ The question is `Is there a play area for kids`
### diets_title
_This tagrendering has no question and is thus read-only_
*Dietary options*
*Dietary options{show_icons(diets_content,inline-flex float-right)}*
This tagrendering has labels `diets_group` `diets_grouped` `hidden`
@ -1546,6 +1622,811 @@ _This tagrendering has no question and is thus read-only_
-----|-----|----- |
| has_internet.0 | Offers internet | internet_access=wlan | internet_access=yes | internet_access=wired |
# cafe_pub_dog_friendly
This layer is based on [cafe_pub](../Layers/cafe_pub.md)
A layer showing cafés and pubs where one can gather around a drink. The layer asks for some relevant questions
- This layer is shown at zoomlevel **12** and higher
No themes use this layer
## Basic tags for this layer
Elements must match **all** of the following expressions:
0. <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbar' target='_blank'>bar</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dpub' target='_blank'>pub</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dcafe' target='_blank'>cafe</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbiergarten' target='_blank'>biergarten</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dnightclub' target='_blank'>nightclub</a>
1. <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dunleashed' target='_blank'>unleashed</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dleashed' target='_blank'>leashed</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dyes' target='_blank'>yes</a>
[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22amenity%22%3D%22bar%22%5D%5B%22dog%22%3D%22unleashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22bar%22%5D%5B%22dog%22%3D%22leashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22bar%22%5D%5B%22dog%22%3D%22yes%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22pub%22%5D%5B%22dog%22%3D%22unleashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22pub%22%5D%5B%22dog%22%3D%22leashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22pub%22%5D%5B%22dog%22%3D%22yes%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22cafe%22%5D%5B%22dog%22%3D%22unleashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22cafe%22%5D%5B%22dog%22%3D%22leashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22cafe%22%5D%5B%22dog%22%3D%22yes%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22biergarten%22%5D%5B%22dog%22%3D%22unleashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22biergarten%22%5D%5B%22dog%22%3D%22leashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22biergarten%22%5D%5B%22dog%22%3D%22yes%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22nightclub%22%5D%5B%22dog%22%3D%22unleashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22nightclub%22%5D%5B%22dog%22%3D%22leashed%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B%22amenity%22%3D%22nightclub%22%5D%5B%22dog%22%3D%22yes%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B)
## Supported attributes
**Warning:**: this quick overview is incomplete
| attribute | type | values which are supported by this layer |
-----|-----|----- |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/name#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/name/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/amenity#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/amenity/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [amenity](https://wiki.openstreetmap.org/wiki/Key:amenity) | Multiple choice | [amenity=pub](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dpub) [amenity=bar](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbar) [amenity=cafe](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dcafe) [amenity=restaurant](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Drestaurant) [amenity=biergarten](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbiergarten) [amenity=nightclub](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dnightclub) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/opening_hours#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/opening_hours/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/website#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/website/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/email#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/email/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/phone#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/phone/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/level#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/level/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [level](https://wiki.openstreetmap.org/wiki/Key:level) | [float](../SpecialInputElements.md#float) | [level=0](https://wiki.openstreetmap.org/wiki/Tag:level%3D0) [level=1](https://wiki.openstreetmap.org/wiki/Tag:level%3D1) [level=-1](https://wiki.openstreetmap.org/wiki/Tag:level%3D-1) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/smoking#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/smoking/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [smoking](https://wiki.openstreetmap.org/wiki/Key:smoking) | Multiple choice | [smoking=yes](https://wiki.openstreetmap.org/wiki/Tag:smoking%3Dyes) [smoking=no](https://wiki.openstreetmap.org/wiki/Tag:smoking%3Dno) [smoking=outside](https://wiki.openstreetmap.org/wiki/Tag:smoking%3Doutside) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/wheelchair#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/wheelchair/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [wheelchair=designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [wheelchair=yes](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes) [wheelchair=limited](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited) [wheelchair=no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/reusable_packaging:accept#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/reusable_packaging%3Aaccept/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [reusable_packaging:accept](https://wiki.openstreetmap.org/wiki/Key:reusable_packaging:accept) | Multiple choice | [reusable_packaging:accept=yes](https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Dyes) [reusable_packaging:accept=no](https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Dno) [reusable_packaging:accept=only](https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Donly) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/service:electricity#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/service%3Aelectricity/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [service:electricity](https://wiki.openstreetmap.org/wiki/Key:service:electricity) | Multiple choice | [service:electricity=yes](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dyes) [service:electricity=limited](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dlimited) [service:electricity=ask](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dask) [service:electricity=no](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/dog#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/dog/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [dog](https://wiki.openstreetmap.org/wiki/Key:dog) | Multiple choice | [dog=yes](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dyes) [dog=no](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dno) [dog=leashed](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dleashed) [dog=unleashed](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dunleashed) [dog=outside](https://wiki.openstreetmap.org/wiki/Tag:dog%3Doutside) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/internet_access#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/internet_access/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [internet_access](https://wiki.openstreetmap.org/wiki/Key:internet_access) | Multiple choice | [internet_access=wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwlan) [internet_access=no](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dno) [internet_access=terminal](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal) [internet_access=wired](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwired) [internet_access=terminal;wlan](https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal;wlan) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/internet_access:fee#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/internet_access%3Afee/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [internet_access:fee](https://wiki.openstreetmap.org/wiki/Key:internet_access:fee) | Multiple choice | [internet_access:fee=yes](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dyes) [internet_access:fee=no](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dno) [internet_access:fee=customers](https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dcustomers) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/internet_access:ssid#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/internet_access%3Assid/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [internet_access:ssid](https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid) | [string](../SpecialInputElements.md#string) | [internet_access:ssid=Telekom](https://wiki.openstreetmap.org/wiki/Tag:internet_access:ssid%3DTelekom) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets](https://wiki.openstreetmap.org/wiki/Key:toilets) | Multiple choice | [toilets=no](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets](https://wiki.openstreetmap.org/wiki/Key:toilets) | Multiple choice | [toilets=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes) [toilets=no](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno) [toilets=separate](https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dseparate) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:level#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Alevel/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:level](https://wiki.openstreetmap.org/wiki/Key:toilets:level) | [float](../SpecialInputElements.md#float) | [toilets:level=0](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D0) [toilets:level=1](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D1) [toilets:level=-1](https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D-1) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:access#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Aaccess/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:access](https://wiki.openstreetmap.org/wiki/Key:toilets:access) | [string](../SpecialInputElements.md#string) | [toilets:access=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dyes) [toilets:access=customers](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dcustomers) [toilets:access=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dno) [toilets:access=key](https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dkey) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:fee#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Afee/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:fee](https://wiki.openstreetmap.org/wiki/Key:toilets:fee) | Multiple choice | [toilets:fee=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dyes) [toilets:fee=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:charge#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Acharge/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:charge](https://wiki.openstreetmap.org/wiki/Key:toilets:charge) | [string](../SpecialInputElements.md#string) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:gender_segregated#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Agender_segregated/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:gender_segregated](https://wiki.openstreetmap.org/wiki/Key:toilets:gender_segregated) | Multiple choice | [toilets:gender_segregated=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:gender_segregated%3Dyes) [toilets:gender_segregated=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:gender_segregated%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:supervised#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Asupervised/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:supervised](https://wiki.openstreetmap.org/wiki/Key:toilets:supervised) | Multiple choice | [toilets:supervised=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dyes) [toilets:supervised=interval](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dinterval) [toilets:supervised=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:description#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Adescription/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:description](https://wiki.openstreetmap.org/wiki/Key:toilets:description) | [text](../SpecialInputElements.md#text) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:wheelchair#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Awheelchair/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:wheelchair](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair) | Multiple choice | [toilets:wheelchair=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes) [toilets:wheelchair=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dno) [toilets:wheelchair=designated](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Ddesignated) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:position#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Aposition/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:position](https://wiki.openstreetmap.org/wiki/Key:toilets:position) | Multiple choice | [toilets:position=seated](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated) [toilets:position=urinal](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Durinal) [toilets:position=squat](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dsquat) [toilets:position=seated;urinal](https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated;urinal) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:disposal#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Adisposal/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:disposal](https://wiki.openstreetmap.org/wiki/Key:toilets:disposal) | Multiple choice | [toilets:disposal=flush](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dflush) [toilets:disposal=pitlatrine](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dpitlatrine) [toilets:disposal=bucket](https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dbucket) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:menstrual_products#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Amenstrual_products/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:menstrual_products](https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products) | Multiple choice | [toilets:menstrual_products=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dyes) [toilets:menstrual_products=limited](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dlimited) [toilets:menstrual_products=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:menstrual_products:location#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Amenstrual_products%3Alocation/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:menstrual_products:location](https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products:location) | [string](../SpecialInputElements.md#string) | [toilets:menstrual_products:location=female_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dfemale_toilet) [toilets:menstrual_products:location=male_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dmale_toilet) [toilets:menstrual_products:location=wheelchair_toilet](https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dwheelchair_toilet) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/changing_table#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/changing_table/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [changing_table](https://wiki.openstreetmap.org/wiki/Key:changing_table) | Multiple choice | [changing_table=yes](https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dyes) [changing_table=no](https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/changing_table:location#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/changing_table%3Alocation/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [changing_table:location](https://wiki.openstreetmap.org/wiki/Key:changing_table:location) | [string](../SpecialInputElements.md#string) | [changing_table:location=female_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dfemale_toilet) [changing_table:location=male_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dmale_toilet) [changing_table:location=wheelchair_toilet](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dwheelchair_toilet) [changing_table:location=dedicated_room](https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Ddedicated_room) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:paper_supplied#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Apaper_supplied/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:paper_supplied](https://wiki.openstreetmap.org/wiki/Key:toilets:paper_supplied) | Multiple choice | [toilets:paper_supplied=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dyes) [toilets:paper_supplied=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:handwashing#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Ahandwashing/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:handwashing](https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing) | Multiple choice | [toilets:handwashing=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dyes) [toilets:handwashing=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/handwashing:soap#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/handwashing%3Asoap/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [handwashing:soap](https://wiki.openstreetmap.org/wiki/Key:handwashing:soap) | Multiple choice | [handwashing:soap=yes](https://wiki.openstreetmap.org/wiki/Tag:handwashing:soap%3Dyes) [handwashing:soap=no](https://wiki.openstreetmap.org/wiki/Tag:handwashing:soap%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:hands_drying#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Ahands_drying/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:hands_drying](https://wiki.openstreetmap.org/wiki/Key:toilets:hands_drying) | Multiple choice | [toilets:hands_drying=electric_hand_dryer](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Delectric_hand_dryer) [toilets:hands_drying=paper_towel](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dpaper_towel) [toilets:hands_drying=towel_cabinet](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dtowel_cabinet) [toilets:hands_drying=towel](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dtowel) [toilets:hands_drying=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/wheelchair#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/wheelchair/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [wheelchair=designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [wheelchair=no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:wheelchair:grab_rail:left#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Awheelchair%3Agrab_rail%3Aleft/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:wheelchair:grab_rail:left](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:left) | Multiple choice | [toilets:wheelchair:grab_rail:left=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes) [toilets:wheelchair:grab_rail:left=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes) [toilets:wheelchair:grab_rail:left=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dno) [toilets:wheelchair:grab_rail:left=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:wheelchair:grab_rail:behind#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Awheelchair%3Agrab_rail%3Abehind/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:wheelchair:grab_rail:behind](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:behind) | Multiple choice | [toilets:wheelchair:grab_rail:behind=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:behind%3Dyes) [toilets:wheelchair:grab_rail:behind=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:behind%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:wheelchair:grab_rail:foldable:left#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Awheelchair%3Agrab_rail%3Afoldable%3Aleft/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:wheelchair:grab_rail:foldable:left](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:foldable:left) | Multiple choice | [toilets:wheelchair:grab_rail:foldable:left=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:foldable:left%3Dyes) [toilets:wheelchair:grab_rail:foldable:left=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:foldable:left%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/toilets:wheelchair:grab_rail:foldable:right#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/toilets%3Awheelchair%3Agrab_rail%3Afoldable%3Aright/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [toilets:wheelchair:grab_rail:foldable:right](https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:foldable:right) | Multiple choice | [toilets:wheelchair:grab_rail:foldable:right=yes](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:foldable:right%3Dyes) [toilets:wheelchair:grab_rail:foldable:right=no](https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:foldable:right%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/door:width#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/door%3Awidth/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [door:width](https://wiki.openstreetmap.org/wiki/Key:door:width) | [pfloat](../SpecialInputElements.md#pfloat) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/changing_table:adult#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/changing_table%3Aadult/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [changing_table:adult](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult) | Multiple choice | [changing_table:adult=yes](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes) [changing_table:adult=no](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dno) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/changing_table:adult:height#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/changing_table%3Aadult%3Aheight/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [changing_table:adult:height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height) | [pfloat](../SpecialInputElements.md#pfloat) | [changing_table:adult:height=adjustable](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height%3Dadjustable) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/changing_table:adult:min_height#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/changing_table%3Aadult%3Amin_height/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [changing_table:adult:min_height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:min_height) | [pfloat](../SpecialInputElements.md#pfloat) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/changing_table:adult:max_height#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/changing_table%3Aadult%3Amax_height/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [changing_table:adult:max_height](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:max_height) | [pfloat](../SpecialInputElements.md#pfloat) | |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/changing_table:adult:height:mechanism#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/changing_table%3Aadult%3Aheight%3Amechanism/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [changing_table:adult:height:mechanism](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height:mechanism) | Multiple choice | [changing_table:adult:height:mechanism=manual](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height:mechanism%3Dmanual) [changing_table:adult:height:mechanism=electric](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height:mechanism%3Delectric) |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/changing_table:adult:support#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/changing_table%3Aadult%3Asupport/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [changing_table:adult:support](https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:support) | Multiple choice | [changing_table:adult:support=wall_mounted](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dwall_mounted) [changing_table:adult:support=legs](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dlegs) [changing_table:adult:support=wheels](https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dwheels) |
## Featureview elements and TagRenderings
| id | question | labels | freeform key |
-----|-----|-----|----- |
| [images](#images) <br/> _(Original in [questions](./BuiltinQuestions.md#images))_ | _{image_carousel()}{image_upload()}_ | | _Multiple choice only_ |
| [reviews](#reviews) <br/> _(Original in [questions](./BuiltinQuestions.md#reviews))_ | _{create_review()}{list_reviews()}_ | | _Multiple choice only_ |
| [Name](#Name) | What is the name of this business?<br/>_This business is named {name}_ | | *[name](https://wiki.osm.org/wiki/Key:name)* ([string](../SpecialInputElements.md#string)) |
| [Classification](#Classification) | What kind of cafe is this?<br/>6 options | | _Multiple choice only_ |
| [opening_hours](#opening_hours) <br/> _(Original in [questions](./BuiltinQuestions.md#opening_hours))_ | What are the opening hours of ?<br/>_<h3>Opening hours</h3>{opening_hours_table(opening_hours)}_<br/>1 options | | *[opening_hours](https://wiki.osm.org/wiki/Key:opening_hours)* ([opening_hours](../SpecialInputElements.md#opening_hours)) |
| [website](#website) <br/> _(Original in [questions](./BuiltinQuestions.md#website))_ | What is the website of ?<br/>_<a href='{website}' rel='nofollow noopener noreferrer' target='_blank'>{website}</a>_<br/>1 options | contact | *[website](https://wiki.osm.org/wiki/Key:website)* ([url](../SpecialInputElements.md#url)) |
| [email](#email) <br/> _(Original in [questions](./BuiltinQuestions.md#email))_ | What is the email address of ?<br/>_<a href='mailto:{email}' target='_blank' rel='noopener'>{email}</a>_<br/>2 options | contact | *[email](https://wiki.osm.org/wiki/Key:email)* ([email](../SpecialInputElements.md#email)) |
| [phone](#phone) <br/> _(Original in [questions](./BuiltinQuestions.md#phone))_ | What is the phone number of ?<br/>_{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}_<br/>1 options | contact | *[phone](https://wiki.osm.org/wiki/Key:phone)* ([phone](../SpecialInputElements.md#phone)) |
| [payment-options](#payment-options) <br/> _(Original in [questions](./BuiltinQuestions.md#payment-options))_ | Which methods of payment are accepted here?<br/>3 options | | _Multiple choice only_ |
| [repeated](#repeated) <br/> _(Original in [questions](./BuiltinQuestions.md#repeated))_ | _Multiple, identical objects can be found on floors {repeat_on}._ | level | _Multiple choice only_ |
| [single_level](#single_level) <br/> _(Original in [questions](./BuiltinQuestions.md#single_level))_ | On what level is this feature located?<br/>_Located on the {level}th floor_<br/>5 options | level | *[level](https://wiki.osm.org/wiki/Key:level)* ([float](../SpecialInputElements.md#float)) |
| [smoking](#smoking) <br/> _(Original in [questions](./BuiltinQuestions.md#smoking))_ | Is smoking allowed at ?<br/>3 options | | _Multiple choice only_ |
| [wheelchair-access](#wheelchair-access) <br/> _(Original in [questions](./BuiltinQuestions.md#wheelchair-access))_ | Is this place accessible with a wheelchair?<br/>4 options | | _Multiple choice only_ |
| [pub_reusable_packaging](#pub_reusable_packaging) | Does accept bring-your-own reusable cups?<br/>3 options | | _Multiple choice only_ |
| [service:electricity](#service:electricity) <br/> _(Original in [questions](./BuiltinQuestions.md#service:electricity))_ | Does this amenity have electrical outlets, available to customers when they are inside?<br/>4 options | | _Multiple choice only_ |
| [seating](#seating) <br/> _(Original in [questions](./BuiltinQuestions.md#seating))_ | What kind of seating does have?<br/>2 options | | _Multiple choice only_ |
| [dog-access](#dog-access) <br/> _(Original in [questions](./BuiltinQuestions.md#dog-access))_ | Are dogs allowed in this business?<br/>5 options | | _Multiple choice only_ |
| [internet](#internet) <br/> _(Original in [questions](./BuiltinQuestions.md#internet))_ | Does this place offer internet access?<br/>6 options | internet-all | _Multiple choice only_ |
| [internet-fee](#internet-fee) <br/> _(Original in [questions](./BuiltinQuestions.md#internet-fee))_ | Is there a fee for internet access?<br/>3 options | internet-all | _Multiple choice only_ |
| [internet-ssid](#internet-ssid) <br/> _(Original in [questions](./BuiltinQuestions.md#internet-ssid))_ | What is the network name for the wireless internet access?<br/>_The network name is <b>{internet_access:ssid}</b>_<br/>1 options | internet-all | *[internet_access:ssid](https://wiki.osm.org/wiki/Key:internet_access:ssid)* ([string](../SpecialInputElements.md#string)) |
| [toilets-group](#toilets-group) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-group))_ | _{group(grouptitle,toilet-questions,wheelchair;wheelchair-title;adult-changing-table)}_ | all | _Multiple choice only_ |
| [grouptitle](#grouptitle) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#grouptitle))_ | _Toilet information_<br/>1 options | all, hidden | _Multiple choice only_ |
| [has_toilets](#has_toilets) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#has_toilets))_ | Has toilets?<br/>3 options | toilet-questions, hidden, all | _Multiple choice only_ |
| [images_toilet](#images_toilet) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#images_toilet))_ | _{image_carousel(toilets:panoramax;toilets:mapillary;toilets:images)}{image_upload(toilets:panoramax,Add a picture of the toilets,)}_ | relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_repeated](#toilets_repeated) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_repeated))_ | _Multiple, identical objects can be found on floors {toilets:repeat_on}._ | level, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_single_level](#toilets_single_level) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_single_level))_ | On what level is this feature located?<br/>_Located on the {toilets:level}th floor_<br/>5 options | level, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | *[toilets:level](https://wiki.osm.org/wiki/Key:toilets:level)* ([float](../SpecialInputElements.md#float)) |
| [toilets_toilet-access](#toilets_toilet-access) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilet-access))_ | Are these toilets publicly accessible?<br/>_Access is {toilets:access}_<br/>4 options | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | *[toilets:access](https://wiki.osm.org/wiki/Key:toilets:access)* ([string](../SpecialInputElements.md#string)) |
| [toilets_toilets-fee](#toilets_toilets-fee) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilets-fee))_ | Are these toilets free to use?<br/>2 options | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_toilet-charge](#toilets_toilet-charge) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilet-charge))_ | How much does one have to pay for these toilets?<br/>_The fee is {toilets:charge}_ | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | *[toilets:charge](https://wiki.osm.org/wiki/Key:toilets:charge)* ([string](../SpecialInputElements.md#string)) |
| [toilets_payment-options-split](#toilets_payment-options-split) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_payment-options-split))_ | Which methods of payment are accepted here?<br/>7 options | relevant-questions, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_gender_segregated](#toilets_gender_segregated) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_gender_segregated))_ | Are these toilets gender-segregated?<br/>2 options | relevant-questions, no-prefix, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_toilet-supervised](#toilets_toilet-supervised) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilet-supervised))_ | Is this toilets supervised by a person?<br/>3 options | relevant-questions, no-prefix, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_description](#toilets_description) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_description))_ | Is there still some relevant info that the previous questions did not cover? Feel free to add it here.<br/>_{toilets:description}_ | amenity-no-prefix, no-prefix, relevant-questions, relevant_questions, toilet-questions, hidden, all | *[toilets:description](https://wiki.osm.org/wiki/Key:toilets:description)* ([text](../SpecialInputElements.md#text)) |
| [toilets_toilets-wheelchair](#toilets_toilets-wheelchair) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_toilets-wheelchair))_ | Is there a dedicated toilet for wheelchair users?<br/>3 options | relevant-questions, wheelchair, hidden, no-prefix, amenity-no-prefix, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets-type](#toilets-type) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-type))_ | Which kind of toilets are these?<br/>4 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets-disposal](#toilets-disposal) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-disposal))_ | How is the waste handled?<br/>3 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [menstrual_products](#menstrual_products) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#menstrual_products))_ | Are free, menstrual products distributed here?<br/>3 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [menstrual_products_location](#menstrual_products_location) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#menstrual_products_location))_ | Where are the free menstrual products located?<br/>_The menstrual products are located in {toilets:menstrual_products:location}_<br/>3 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[toilets:menstrual_products:location](https://wiki.osm.org/wiki/Key:toilets:menstrual_products:location)* ([string](../SpecialInputElements.md#string)) |
| [toilets-changing-table](#toilets-changing-table) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets-changing-table))_ | Is a changing table (to change diapers) available?<br/>2 options | relevant-questions, no-prefix, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilet-changing_table:location](#toilet-changing_table:location) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-changing_table:location))_ | Where is the changing table located?<br/>_A changing table is located at {changing_table:location}_<br/>4 options | relevant-questions, no-prefix, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:location](https://wiki.osm.org/wiki/Key:changing_table:location)* ([string](../SpecialInputElements.md#string)) |
| [toilet-has-paper](#toilet-has-paper) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-has-paper))_ | Does one have to bring their own toilet paper to this toilet?<br/>2 options | relevant-questions, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilet-handwashing](#toilet-handwashing) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-handwashing))_ | Do these toilets have a sink to wash your hands?<br/>2 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [handwashing-soap](#handwashing-soap) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#handwashing-soap))_ | Is soap for handwashing provided?<br/>2 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilet-drying](#toilet-drying) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-drying))_ | Do these toilets have a device to dry your hands?<br/>5 options | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [wheelchair-group](#wheelchair-group) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-group))_ | _{group(wheelchair-title,wheelchair;adult-changing-table,)}_ | relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [wheelchair-picture-carousel](#wheelchair-picture-carousel) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-picture-carousel))_ | _{image_carousel(toilets:wheelchair:panoramax;toilets:wheelchair:image;toilets:wheelchair:mapillary)}_ | wheelchair, hidden, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [wheelchair-picture](#wheelchair-picture) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-picture))_ | _{image_upload(toilets:wheelchair:panoramax,Add a picture of the wheelchair accessible toilet,)}_ | wheelchair, hidden, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [wheelchair-title](#wheelchair-title) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-title))_ | _Wheelchair accessible toilet_<br/>2 options | hidden, relevant-questions, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilet-wheelchair-access](#toilet-wheelchair-access) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-wheelchair-access))_ | Is the wheelchair-accessible toilet locked?<br/>5 options | hidden, wheelchair, relevant-questions, prefixed, amenity-prefixed, hidden, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_wheelchair_has_grab_rail_lr](#toilets_wheelchair_has_grab_rail_lr) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_has_grab_rail_lr))_ | Is there a grab rail?<br/>4 options | wheelchair, relevant-questions, prefixed, amenity-prefixed, hidden, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_wheelchair_has_grab_rail_behind](#toilets_wheelchair_has_grab_rail_behind) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_has_grab_rail_behind))_ | Does the toilet have a grab rail behind the toilet?<br/>2 options | wheelchair, relevant-questions, prefixed, amenity-prefixed, hidden, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_wheelchair_is_foldable_left](#toilets_wheelchair_is_foldable_left) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_is_foldable_left))_ | Is the left grab rail foldable?<br/>2 options | generic_questions, wheelchair, relevant-questions, prefixed, amenity-prefixed, hidden, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilets_wheelchair_is_foldable_right](#toilets_wheelchair_is_foldable_right) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilets_wheelchair_is_foldable_right))_ | Is the right grab rail foldable?<br/>2 options | generic_questions, wheelchair, relevant-questions, prefixed, amenity-prefixed, hidden, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [wheelchair-door-width](#wheelchair-door-width) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#wheelchair-door-width))_ | What is the width of the door to the wheelchair accessible toilet?<br/>_The door to the wheelchair-accessible toilet is {canonical(door:width)} wide_ | relevant-questions, wheelchair, hidden, prefixed, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[door:width](https://wiki.osm.org/wiki/Key:door:width)* ([pfloat](../SpecialInputElements.md#pfloat)) |
| [questions-wheelchair](#questions-wheelchair) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#questions-wheelchair))_ | _{questions(wheelchair,,)}_ | wheelchair, hidden, relevant-questions, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [adult_changing_table_title](#adult_changing_table_title) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#adult_changing_table_title))_ | _Adult changing table_ | hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [adult-changing-table](#adult-changing-table) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#adult-changing-table))_ | Does this toilet have an adult changing table?<br/>2 options | prefixed, hidden, relevant-questions, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [changing_table_adult_height](#changing_table_adult_height) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_height))_ | What is the height of the adult changing table?<br/>_The changing table is {canonical(changing_table:adult:height)} high_<br/>1 options | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:adult:height](https://wiki.osm.org/wiki/Key:changing_table:adult:height)* ([pfloat](../SpecialInputElements.md#pfloat)) |
| [changing_table_adult_adult-changing-table-min_height](#changing_table_adult_adult-changing-table-min_height) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-min_height))_ | What is the lowest height the adult changing table can be moved to?<br/>_The lowest height of the adult changing table is {canonical(changing_table:adult:min_height)}_ | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:adult:min_height](https://wiki.osm.org/wiki/Key:changing_table:adult:min_height)* ([pfloat](../SpecialInputElements.md#pfloat)) |
| [changing_table_adult_adult-changing-table-max_height](#changing_table_adult_adult-changing-table-max_height) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-max_height))_ | What is the highest height the adult changing table can be moved to?<br/>_The highest height of the adult changing table is {canonical(changing_table:adult:max_height)}_ | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | *[changing_table:adult:max_height](https://wiki.osm.org/wiki/Key:changing_table:adult:max_height)* ([pfloat](../SpecialInputElements.md#pfloat)) |
| [changing_table_adult_adult-changing-table-mechanism](#changing_table_adult_adult-changing-table-mechanism) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-mechanism))_ | How is the height of the changing table adjusted?<br/>2 options | relevant_questions, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [changing_table_adult_adult-changing-table-support](#changing_table_adult_adult-changing-table-support) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#changing_table_adult_adult-changing-table-support))_ | How is the adult changing table supported?<br/>3 options | relevant_questions, hidden, prefixed, adult-changing-table, hidden, prefixed, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [questions-adult-changing-table](#questions-adult-changing-table) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#questions-adult-changing-table))_ | _{questions(adult-changing-table,,yes)}_ | hidden, relevant-questions, adult-changing-table, amenity-prefixed, relevant_questions, toilet-questions, hidden, all | _Multiple choice only_ |
| [toilet-question-box](#toilet-question-box) <br/> _(Original in [toilet_at_amenity_lib](./toilet_at_amenity_lib.md#toilet-question-box))_ | _{questions(toilet-questions,wheelchair;adult-changing-table,)}_ | toilet-questions, all, hidden | _Multiple choice only_ |
| [leftover-questions](#leftover-questions) | _{questions( ,hidden;wheelchair;adult-changing-table;toilet-questions)}_ | ignore-docs, added_by_default | _Multiple choice only_ |
| [move-button](#move-button) | _{move_button()}_ | | _Multiple choice only_ |
| [delete-button](#delete-button) | _{delete_button()}_ | | _Multiple choice only_ |
| [lod](#lod) <br/> _(Original in [questions](./BuiltinQuestions.md#lod))_ | _{linked_data_from_website()}_ | added_by_default | _Multiple choice only_ |
| [spacer](#spacer) | _<div class='m-4'/>_ | | _Multiple choice only_ |
### images
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
_This tagrendering has no question and is thus read-only_
*{image_carousel()}{image_upload()}*
### reviews
Shows the reviews module (including the possibility to leave a review)
_This tagrendering has no question and is thus read-only_
*{create_review()}{list_reviews()}*
### Name
The question is `What is the name of this business?`
*This business is named {name}* is shown if `name` is set.
### Classification
The question is `What kind of cafe is this?`
- *A pub, mostly for drinking beers in a warm, relaxed interior* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dpub' target='_blank'>pub</a>
- *A more modern and commercial <b>bar</b>, possibly with a music and light installation* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbar' target='_blank'>bar</a>
- *A <b>cafe</b> to drink tea, coffee or an alcoholical bevarage in a quiet environment* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dcafe' target='_blank'>cafe</a>
- *A <b>restaurant</b> where one can get a proper meal* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Drestaurant' target='_blank'>restaurant</a>
- *An open space where beer is served, typically seen in Germany* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbiergarten' target='_blank'>biergarten</a>
- *This is a <b>nightclub</b> or disco with a focus on dancing, music by a DJ with accompanying light show and a bar to get (alcoholic) drinks* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dnightclub' target='_blank'>nightclub</a>
### opening_hours
The question is `What are the opening hours of {title()}?`
*<h3>Opening hours</h3>{opening_hours_table(opening_hours)}* is shown if `opening_hours` is set.
- *Marked as closed for an unspecified time* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:opening_hours' target='_blank'>opening_hours</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3Dclosed' target='_blank'>closed</a>. _This option cannot be chosen as answer_
### website
The question is `What is the website of {title()}?`
*<a href='{website}' rel='nofollow noopener noreferrer' target='_blank'>{website}</a>* is shown if `website` is set.
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/icons/website.svg'> *<a href='{contact:website}' rel='nofollow noopener noreferrer' target='_blank'>{contact:website}</a>* is shown if with contact:website~.+. _This option cannot be chosen as answer_
This tagrendering has labels `contact`
### email
The question is `What is the email address of {title()}?`
*<a href='mailto:{email}' target='_blank' rel='noopener'>{email}</a>* is shown if `email` is set.
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/svg/envelope.svg'> *<a href='mailto:{contact:email}' target='_blank' rel='noopener'>{contact:email}</a>* is shown if with contact:email~.+. _This option cannot be chosen as answer_
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/svg/envelope.svg'> *<a href='mailto:{operator:email}' target='_blank' rel='noopener'>{operator:email}</a>* is shown if with operator:email~.+. _This option cannot be chosen as answer_
This tagrendering has labels `contact`
### phone
The question is `What is the phone number of {title()}?`
*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set.
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/phone.svg'> *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_
This tagrendering has labels `contact`
### payment-options
The question is `Which methods of payment are accepted here?`
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/cash.svg'> *Cash is accepted here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dno' target='_blank'>no</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/payment_card.svg'> *Payment cards are accepted here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dno' target='_blank'>no</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/qrcode.svg'> *Payment by QR-code is possible here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:qr_code' target='_blank'>payment:qr_code</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:qr_code%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:qr_code' target='_blank'>payment:qr_code</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:qr_code%3Dno' target='_blank'>no</a>
### repeated
_This tagrendering has no question and is thus read-only_
*Multiple, identical objects can be found on floors {repeat_on}.*
This tagrendering is only visible in the popup if the following condition is met: repeat_on~.+
This tagrendering has labels `level`
### single_level
The question is `On what level is this feature located?`
*Located on the {level}th floor* is shown if `level` is set.
- *Located underground* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:location' target='_blank'>location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:location%3Dunderground' target='_blank'>underground</a>. _This option cannot be chosen as answer_
- *Located on the ground floor* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D0' target='_blank'>0</a>
- *Located on the ground floor* is shown if with level=. _This option cannot be chosen as answer_
- *Located on the first floor* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D1' target='_blank'>1</a>
- *Located on the first basement level* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D-1' target='_blank'>-1</a>
This tagrendering has labels `level`
### smoking
The question is `Is smoking allowed at {title()}?`
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/smoking.svg'> *Smoking is <b>allowed</b>* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:smoking' target='_blank'>smoking</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:smoking%3Dyes' target='_blank'>yes</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/no_smoking.svg'> *Smoking is <b>not allowed</b>* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:smoking' target='_blank'>smoking</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:smoking%3Dno' target='_blank'>no</a>
- *Smoking is <b>allowed outside</b>.* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:smoking' target='_blank'>smoking</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:smoking%3Doutside' target='_blank'>outside</a>
### wheelchair-access
The question is `Is this place accessible with a wheelchair?`
- *This place is specially adapted for wheelchair users* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated' target='_blank'>designated</a>
- *This place is easily reachable with a wheelchair* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>
- *It is possible to reach this place in a wheelchair, but it is not easy* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited' target='_blank'>limited</a>
- *This place is not reachable with a wheelchair* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno' target='_blank'>no</a>
### pub_reusable_packaging
The question is `Does {title()} accept bring-your-own reusable cups?`
- *Accepts reusable cups* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:reusable_packaging:accept' target='_blank'>reusable_packaging:accept</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Dyes' target='_blank'>yes</a>
- *Does not accept reusable cups* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:reusable_packaging:accept' target='_blank'>reusable_packaging:accept</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Dno' target='_blank'>no</a>
- *<b>Only</b> serves to people who bring reusable cups* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:reusable_packaging:accept' target='_blank'>reusable_packaging:accept</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:reusable_packaging:accept%3Donly' target='_blank'>only</a>
### service:electricity
The question is `Does this amenity have electrical outlets, available to customers when they are inside?`
- *There are plenty of domestic sockets available to customers seated indoors, where they can charge their electronics* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dyes' target='_blank'>yes</a>
- *There are a few domestic sockets available to customers seated indoors, where they can charge their electronics* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dlimited' target='_blank'>limited</a>
- *There are no sockets available indoors to customers, but charging might be possible if the staff is asked* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dask' target='_blank'>ask</a>
- *There are a no domestic sockets available to customers seated indoors* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dno' target='_blank'>no</a>
### seating
The question is `What kind of seating does {title()} have?`
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/outdoor_seating/outdoor_seating.svg'> *This place has outdoor seating* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:outdoor_seating' target='_blank'>outdoor_seating</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:outdoor_seating%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:outdoor_seating' target='_blank'>outdoor_seating</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:outdoor_seating%3Dno' target='_blank'>no</a>
- *This place has indoor seating* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:indoor_seating' target='_blank'>indoor_seating</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:indoor_seating%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:indoor_seating' target='_blank'>indoor_seating</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:indoor_seating%3Dno' target='_blank'>no</a>
### dog-access
The question is `Are dogs allowed in this business?`
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/dogs_allowed.svg'> *Dogs are allowed* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dyes' target='_blank'>yes</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/no_dogs.svg'> *Dogs are <b>not</b> allowed* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dno' target='_blank'>no</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/dogs_leashed.svg'> *Dogs are allowed, but they have to be leashed* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dleashed' target='_blank'>leashed</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/dogs_allowed.svg'> *Dogs are allowed and can run around freely* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dunleashed' target='_blank'>unleashed</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/dogs_outside.svg'> *Dogs are allowed only outside* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Doutside' target='_blank'>outside</a>
### internet
The question is `Does this place offer internet access?`
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/wifi'> *This place offers wireless internet access* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access' target='_blank'>internet_access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwlan' target='_blank'>wlan</a>
- *This place <b>does not</b> offer internet access* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access' target='_blank'>internet_access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dno' target='_blank'>no</a>
- *This place offers internet access* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access' target='_blank'>internet_access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dyes' target='_blank'>yes</a>. _This option cannot be chosen as answer_
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/computer'> *This place offers internet access via a terminal or computer* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access' target='_blank'>internet_access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal' target='_blank'>terminal</a>
- *This place offers wired internet access* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access' target='_blank'>internet_access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dwired' target='_blank'>wired</a>
- *This place offers both wireless internet and internet access via a terminal or computer* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access' target='_blank'>internet_access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access%3Dterminal;wlan' target='_blank'>terminal;wlan</a>
This tagrendering has labels `internet-all`
### internet-fee
The question is `Is there a fee for internet access?`
- *There is a fee for the internet access at this place* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access:fee' target='_blank'>internet_access:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dyes' target='_blank'>yes</a>
- *Internet access is free at this place* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access:fee' target='_blank'>internet_access:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dno' target='_blank'>no</a>
- *Internet access is free at this place, for customers only* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access:fee' target='_blank'>internet_access:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access:fee%3Dcustomers' target='_blank'>customers</a>
This tagrendering is only visible in the popup if the following condition is met: internet_access!=no & internet_access~.+
This tagrendering has labels `internet-all`
### internet-ssid
The question is `What is the network name for the wireless internet access?`
*The network name is <b>{internet_access:ssid}</b>* is shown if `internet_access:ssid` is set.
- *Telekom* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:internet_access:ssid' target='_blank'>internet_access:ssid</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:internet_access:ssid%3DTelekom' target='_blank'>Telekom</a>
This tagrendering is only visible in the popup if the following condition is met: internet_access~^(.*wlan.*)$
This tagrendering has labels `internet-all`
### toilets-group
_This tagrendering has no question and is thus read-only_
*{group(grouptitle,toilet-questions,wheelchair;wheelchair-title;adult-changing-table)}*
This tagrendering has labels `all`
### grouptitle
_This tagrendering has no question and is thus read-only_
*Toilet information*
- *Does not have toilets* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno' target='_blank'>no</a>
This tagrendering has labels `all` `hidden`
### has_toilets
The question is `Has {title()} toilets?`
- *Has toilets* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
- *Has no toilets* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dno' target='_blank'>no</a>
- *The toilets are marked separately on the map* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dseparate' target='_blank'>separate</a>
This tagrendering has labels `toilet-questions` `hidden` `all`
### images_toilet
_This tagrendering has no question and is thus read-only_
*{image_carousel(toilets:panoramax;toilets:mapillary;toilets:images)}{image_upload(toilets:panoramax,Add a picture of the toilets,)}*
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_repeated
_This tagrendering has no question and is thus read-only_
*Multiple, identical objects can be found on floors {toilets:repeat_on}.*
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & toilets:repeat_on~.+
This tagrendering has labels `level` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_single_level
The question is `On what level is this feature located?`
*Located on the {toilets:level}th floor* is shown if `toilets:level` is set.
- *Located underground* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:location' target='_blank'>toilets:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:location%3Dunderground' target='_blank'>underground</a>. _This option cannot be chosen as answer_
- *Located on the ground floor* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:level' target='_blank'>toilets:level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D0' target='_blank'>0</a>
- *Located on the ground floor* is shown if with toilets:level=. _This option cannot be chosen as answer_
- *Located on the first floor* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:level' target='_blank'>toilets:level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D1' target='_blank'>1</a>
- *Located on the first basement level* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:level' target='_blank'>toilets:level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:level%3D-1' target='_blank'>-1</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & toilets:repeat_on=
This tagrendering has labels `level` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_toilet-access
The question is `Are these toilets publicly accessible?`
*Access is {toilets:access}* is shown if `toilets:access` is set.
- *Public access* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:access' target='_blank'>toilets:access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dyes' target='_blank'>yes</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/key'> *Only access to customers* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:access' target='_blank'>toilets:access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dcustomers' target='_blank'>customers</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/lock'> *Not accessible* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:access' target='_blank'>toilets:access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dno' target='_blank'>no</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/key'> *Accessible, but one has to ask a key to enter* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:access' target='_blank'>toilets:access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dkey' target='_blank'>key</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_toilets-fee
The question is `Are these toilets free to use?`
- *These are paid toilets* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:fee' target='_blank'>toilets:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dyes' target='_blank'>yes</a>
- *Free to use* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:fee' target='_blank'>toilets:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & toilets:access!=no
This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_toilet-charge
The question is `How much does one have to pay for these toilets?`
*The fee is {toilets:charge}* is shown if `toilets:charge` is set.
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:fee' target='_blank'>toilets:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_payment-options-split
The question is `Which methods of payment are accepted here?`
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/cash.svg'> *Cash is accepted here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:cash' target='_blank'>toilets:payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:cash%3Dyes' target='_blank'>yes</a>. _This option cannot be chosen as answer_. Unselecting this answer will add toilets:payment:cash=
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/payment_card.svg'> *Payment cards are accepted here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:cards' target='_blank'>toilets:payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:cards%3Dyes' target='_blank'>yes</a>. _This option cannot be chosen as answer_. Unselecting this answer will add toilets:payment:cards=
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/qrcode.svg'> *Payment by QR-code is possible here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:qr_code' target='_blank'>toilets:payment:qr_code</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:qr_code%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:qr_code' target='_blank'>toilets:payment:qr_code</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:qr_code%3Dno' target='_blank'>no</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/coins.svg'> *Coins are accepted here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:coins' target='_blank'>toilets:payment:coins</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:coins%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:coins' target='_blank'>toilets:payment:coins</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:coins%3Dno' target='_blank'>no</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/notes.svg'> *Bank notes are accepted here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:notes' target='_blank'>toilets:payment:notes</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:notes%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:notes' target='_blank'>toilets:payment:notes</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:notes%3Dno' target='_blank'>no</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/payment_card.svg'> *Debit cards are accepted here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:debit_cards' target='_blank'>toilets:payment:debit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:debit_cards%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:debit_cards' target='_blank'>toilets:payment:debit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:debit_cards%3Dno' target='_blank'>no</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/questions/payment_card.svg'> *Credit cards are accepted here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:credit_cards' target='_blank'>toilets:payment:credit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:credit_cards%3Dyes' target='_blank'>yes</a>. Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:payment:credit_cards' target='_blank'>toilets:payment:credit_cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:payment:credit_cards%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:fee' target='_blank'>toilets:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:fee%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_gender_segregated
The question is `Are these toilets gender-segregated?`
- *There is a separate, signposted area for men and women* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:gender_segregated' target='_blank'>toilets:gender_segregated</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:gender_segregated%3Dyes' target='_blank'>yes</a>
- *There is no separate, signposted area for men and women* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:gender_segregated' target='_blank'>toilets:gender_segregated</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:gender_segregated%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & toilets:toilets:position!=urinal
This tagrendering has labels `relevant-questions` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_toilet-supervised
The question is `Is this toilets supervised by a person?`
- *There is a person supervising these toilets during (most of) the opening hours* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:supervised' target='_blank'>toilets:supervised</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dyes' target='_blank'>yes</a>
- *There is a person supervising these toilets, but they are present only during certain times of the opening hours* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:supervised' target='_blank'>toilets:supervised</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dinterval' target='_blank'>interval</a>
- *These toilets are not supervised* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:supervised' target='_blank'>toilets:supervised</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:supervised%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:access' target='_blank'>toilets:access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:access%3Dyes' target='_blank'>yes</a> | toilets:access=)
This tagrendering has labels `relevant-questions` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_description
The question is `Is there still some relevant info that the previous questions did not cover? Feel free to add it here.`
*{toilets:description}* is shown if `toilets:description` is set.
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `amenity-no-prefix` `no-prefix` `relevant-questions` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_toilets-wheelchair
The question is `Is there a dedicated toilet for wheelchair users?`
- *There is a dedicated toilet for wheelchair users* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes' target='_blank'>yes</a>
- *No wheelchair access* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dno' target='_blank'>no</a>
- *There is only a dedicated toilet for wheelchair users* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Ddesignated' target='_blank'>designated</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `wheelchair` `hidden` `no-prefix` `amenity-no-prefix` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets-type
The question is `Which kind of toilets are these?`
- *There are only seated toilets* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:position' target='_blank'>toilets:position</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated' target='_blank'>seated</a>
- *There are only urinals here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:position' target='_blank'>toilets:position</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Durinal' target='_blank'>urinal</a>
- *There are only squat toilets here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:position' target='_blank'>toilets:position</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dsquat' target='_blank'>squat</a>
- *Both seated toilets and urinals are available here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:position' target='_blank'>toilets:position</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:position%3Dseated;urinal' target='_blank'>seated;urinal</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets-disposal
The question is `How is the waste handled?`
- *The waste is moved away by flushing the toilet with water* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:disposal' target='_blank'>toilets:disposal</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dflush' target='_blank'>flush</a>
- *The waste falls into a pit* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:disposal' target='_blank'>toilets:disposal</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dpitlatrine' target='_blank'>pitlatrine</a>
- *The waste is collected in a bucket or similar container, which is regularly removed* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:disposal' target='_blank'>toilets:disposal</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:disposal%3Dbucket' target='_blank'>bucket</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### menstrual_products
The question is `Are free, menstrual products distributed here?`
- *Free menstrual products are available to all visitors of these toilets* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products' target='_blank'>toilets:menstrual_products</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dyes' target='_blank'>yes</a>
- *Free menstrual products are available to some visitors of these toilets* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products' target='_blank'>toilets:menstrual_products</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dlimited' target='_blank'>limited</a>
- *No free menstrual products are available here* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products' target='_blank'>toilets:menstrual_products</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### menstrual_products_location
The question is `Where are the free menstrual products located?`
*The menstrual products are located in {toilets:menstrual_products:location}* is shown if `toilets:menstrual_products:location` is set.
- *The free, menstrual products are located in the toilet for women* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products:location' target='_blank'>toilets:menstrual_products:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dfemale_toilet' target='_blank'>female_toilet</a>
- *The free, menstrual products are located in the toilet for men* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products:location' target='_blank'>toilets:menstrual_products:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dmale_toilet' target='_blank'>male_toilet</a>
- *The free, menstrual products are located in the toilet for wheelchair users* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products:location' target='_blank'>toilets:menstrual_products:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products:location%3Dwheelchair_toilet' target='_blank'>wheelchair_toilet</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:menstrual_products' target='_blank'>toilets:menstrual_products</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:menstrual_products%3Dlimited' target='_blank'>limited</a> | toilets:menstrual_products:location~.+)
This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets-changing-table
The question is `Is a changing table (to change diapers) available?`
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/toilet/baby.svg'> *A changing table is available* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table' target='_blank'>changing_table</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dyes' target='_blank'>yes</a>
- *No changing table is available* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table' target='_blank'>changing_table</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `no-prefix` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### toilet-changing_table:location
The question is `Where is the changing table located?`
*A changing table is located at {changing_table:location}* is shown if `changing_table:location` is set.
- *A changing table is in the toilet for women* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:location' target='_blank'>changing_table:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dfemale_toilet' target='_blank'>female_toilet</a>
- *A changing table is in the toilet for men* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:location' target='_blank'>changing_table:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dmale_toilet' target='_blank'>male_toilet</a>
- *A changing table is in the toilet for wheelchair users* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:location' target='_blank'>changing_table:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Dwheelchair_toilet' target='_blank'>wheelchair_toilet</a>
- *A changing table is in a dedicated room* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:location' target='_blank'>changing_table:location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:location%3Ddedicated_room' target='_blank'>dedicated_room</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table' target='_blank'>changing_table</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `no-prefix` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### toilet-has-paper
The question is `Does one have to bring their own toilet paper to this toilet?`
- *This toilet is equipped with toilet paper* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:paper_supplied' target='_blank'>toilets:paper_supplied</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dyes' target='_blank'>yes</a>
- *You have to bring your own toilet paper to this toilet* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:paper_supplied' target='_blank'>toilets:paper_supplied</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:paper_supplied%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & toilets:position!=urinal
This tagrendering has labels `relevant-questions` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### toilet-handwashing
The question is `Do these toilets have a sink to wash your hands?`
- *These toilets have a sink to wash your hands* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing' target='_blank'>toilets:handwashing</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dyes' target='_blank'>yes</a>
- *These toilets <b>don't</b> have a sink to wash your hands* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing' target='_blank'>toilets:handwashing</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### handwashing-soap
The question is `Is soap for handwashing provided?`
- *Soap for handwashing is provided* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:handwashing:soap' target='_blank'>handwashing:soap</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:handwashing:soap%3Dyes' target='_blank'>yes</a>
- *No soap for handwashing* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:handwashing:soap' target='_blank'>handwashing:soap</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:handwashing:soap%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing' target='_blank'>toilets:handwashing</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### toilet-drying
The question is `Do these toilets have a device to dry your hands?`
- *Electric hand dryers are available for drying hands.* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:hands_drying' target='_blank'>toilets:hands_drying</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Delectric_hand_dryer' target='_blank'>electric_hand_dryer</a>
- *Paper towels are available for drying hands.* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:hands_drying' target='_blank'>toilets:hands_drying</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dpaper_towel' target='_blank'>paper_towel</a>
- *A towel roll cabinet is available for drying hands* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:hands_drying' target='_blank'>toilets:hands_drying</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dtowel_cabinet' target='_blank'>towel_cabinet</a>
- *A fabric towel available to dry your hands.* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:hands_drying' target='_blank'>toilets:hands_drying</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dtowel' target='_blank'>towel</a>
- *There are no hand drying facilities available.* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:hands_drying' target='_blank'>toilets:hands_drying</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:hands_drying%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:handwashing' target='_blank'>toilets:handwashing</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:handwashing%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### wheelchair-group
_This tagrendering has no question and is thus read-only_
*{group(wheelchair-title,wheelchair;adult-changing-table,)}*
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### wheelchair-picture-carousel
_This tagrendering has no question and is thus read-only_
*{image_carousel(toilets:wheelchair:panoramax;toilets:wheelchair:image;toilets:wheelchair:mapillary)}*
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes' target='_blank'>yes</a> | (<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dtoilets' target='_blank'>toilets</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>))
This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### wheelchair-picture
_This tagrendering has no question and is thus read-only_
*{image_upload(toilets:wheelchair:panoramax,Add a picture of the wheelchair accessible toilet,)}*
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes' target='_blank'>yes</a> | (<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dtoilets' target='_blank'>toilets</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>))
This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### wheelchair-title
_This tagrendering has no question and is thus read-only_
*Wheelchair accessible toilet*
- *Wheelchair accessibility features* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated' target='_blank'>designated</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Ddesignated' target='_blank'>designated</a>
- *No wheelchair accessible toilet* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno' target='_blank'>no</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `hidden` `relevant-questions` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### toilet-wheelchair-access
The question is `Is the wheelchair-accessible toilet locked?`
- *The wheelchair accessible toilets are freely accessible* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:access' target='_blank'>toilets:wheelchair:access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:access%3Dyes' target='_blank'>yes</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/key'> *One needs to ask permission to access wheelchair-accessible toilet, e.g. by asking a key* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:access' target='_blank'>toilets:wheelchair:access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:access%3Dkey' target='_blank'>key</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/toilet/MLAK.svg'> *One can use a <i>Master Locksmiths Access Key</i> <b>(MLAK)</b> to access this bathroom* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:centralkey' target='_blank'>centralkey</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:centralkey%3Dmlak' target='_blank'>mlak</a>
- *One can use a <b>RADAR Key</b> to access this bathroom* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:centralkey' target='_blank'>centralkey</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:centralkey%3Dnks' target='_blank'>nks</a>
- <img width='38px' height='38px' src='https://dev.mapcomplete.org/./assets/layers/toilet/eurokey.svg'> *One can use a <b>EuroKey</b> to access this bathroom* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:centralkey' target='_blank'>centralkey</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:centralkey%3Deurokey' target='_blank'>eurokey</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes' target='_blank'>yes</a> | (<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dtoilets' target='_blank'>toilets</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>)) & (<a href='https://wiki.openstreetmap.org/wiki/Key:access' target='_blank'>access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:access%3Dyes' target='_blank'>yes</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:access' target='_blank'>access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:access%3Dpublic' target='_blank'>public</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:access' target='_blank'>access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:access%3Dcustomers' target='_blank'>customers</a> | access=)
This tagrendering has labels `hidden` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `hidden` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_wheelchair_has_grab_rail_lr
The question is `Is there a grab rail?`
- *Grab rails on <b>both</b> sides* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:left' target='_blank'>toilets:wheelchair:grab_rail:left</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:right' target='_blank'>toilets:wheelchair:grab_rail:right</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:right%3Dyes' target='_blank'>yes</a>
- *Only grab rails on the <b>left</b> side* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:left' target='_blank'>toilets:wheelchair:grab_rail:left</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:right' target='_blank'>toilets:wheelchair:grab_rail:right</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:right%3Dno' target='_blank'>no</a>
- *Grab rails on the <b>right</b> side* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:left' target='_blank'>toilets:wheelchair:grab_rail:left</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dno' target='_blank'>no</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:right' target='_blank'>toilets:wheelchair:grab_rail:right</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:right%3Dyes' target='_blank'>yes</a>
- *<b>No grab rails</b> at all* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:left' target='_blank'>toilets:wheelchair:grab_rail:left</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dno' target='_blank'>no</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:right' target='_blank'>toilets:wheelchair:grab_rail:right</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:right%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes' target='_blank'>yes</a> | (<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dtoilets' target='_blank'>toilets</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>))
This tagrendering has labels `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `hidden` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_wheelchair_has_grab_rail_behind
The question is `Does the toilet have a grab rail behind the toilet?`
- *Has a grab rail <b>behind</b> the toilet* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:behind' target='_blank'>toilets:wheelchair:grab_rail:behind</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:behind%3Dyes' target='_blank'>yes</a>
- *No grab rail behind the toilet* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:behind' target='_blank'>toilets:wheelchair:grab_rail:behind</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:behind%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes' target='_blank'>yes</a> | (<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dtoilets' target='_blank'>toilets</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>))
This tagrendering has labels `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `hidden` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_wheelchair_is_foldable_left
The question is `Is the left grab rail foldable?`
- *The left grab rail is <b>foldable</b>* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:foldable:left' target='_blank'>toilets:wheelchair:grab_rail:foldable:left</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:foldable:left%3Dyes' target='_blank'>yes</a>
- *The left grab rail is not foldable* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:foldable:left' target='_blank'>toilets:wheelchair:grab_rail:foldable:left</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:foldable:left%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:left' target='_blank'>toilets:wheelchair:grab_rail:left</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:left%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes' target='_blank'>yes</a> | (<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dtoilets' target='_blank'>toilets</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>))
This tagrendering has labels `generic_questions` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `hidden` `relevant_questions` `toilet-questions` `hidden` `all`
### toilets_wheelchair_is_foldable_right
The question is `Is the right grab rail foldable?`
- *The right grab rail is <b>foldable</b>* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:foldable:right' target='_blank'>toilets:wheelchair:grab_rail:foldable:right</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:foldable:right%3Dyes' target='_blank'>yes</a>
- *The right grab rail is not foldable* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:foldable:right' target='_blank'>toilets:wheelchair:grab_rail:foldable:right</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:foldable:right%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair:grab_rail:right' target='_blank'>toilets:wheelchair:grab_rail:right</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair:grab_rail:right%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Dyes' target='_blank'>yes</a> | (<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dtoilets' target='_blank'>toilets</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>))
This tagrendering has labels `generic_questions` `wheelchair` `relevant-questions` `prefixed` `amenity-prefixed` `hidden` `relevant_questions` `toilet-questions` `hidden` `all`
### wheelchair-door-width
The question is `What is the width of the door to the wheelchair accessible toilet?`
*The door to the wheelchair-accessible toilet is {canonical(door:width)} wide* is shown if `door:width` is set.
The allowed input is of type pfloat and is in range 0.4 until 4 (both inclusive). A warning will appear if the value is outside of 0.6 and 2.
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a> & (<a href='https://wiki.openstreetmap.org/wiki/Key:toilets:wheelchair' target='_blank'>toilets:wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets:wheelchair%3Ddesignated' target='_blank'>designated</a> | (<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dtoilet' target='_blank'>toilet</a> & wheelchair~^(yes|designated)$))
This tagrendering has labels `relevant-questions` `wheelchair` `hidden` `prefixed` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### questions-wheelchair
_This tagrendering has no question and is thus read-only_
*{questions(wheelchair,,)}*
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `wheelchair` `hidden` `relevant-questions` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### adult_changing_table_title
_This tagrendering has no question and is thus read-only_
*Adult changing table*
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult' target='_blank'>changing_table:adult</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### adult-changing-table
The question is `Does this toilet have an adult changing table?`
- *Has a changing table for adults* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult' target='_blank'>changing_table:adult</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes' target='_blank'>yes</a>
- *No changing table for adults* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult' target='_blank'>changing_table:adult</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dno' target='_blank'>no</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `prefixed` `hidden` `relevant-questions` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### changing_table_adult_height
The question is `What is the height of the adult changing table?`
*The changing table is {canonical(changing_table:adult:height)} high* is shown if `changing_table:adult:height` is set.
The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
- *The changing table is <b>adjustable in height</b>* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height' target='_blank'>changing_table:adult:height</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height%3Dadjustable' target='_blank'>adjustable</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult' target='_blank'>changing_table:adult</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### changing_table_adult_adult-changing-table-min_height
The question is `What is the lowest height the adult changing table can be moved to?`
*The lowest height of the adult changing table is {canonical(changing_table:adult:min_height)}* is shown if `changing_table:adult:min_height` is set.
The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult' target='_blank'>changing_table:adult</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height' target='_blank'>changing_table:adult:height</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height%3Dadjustable' target='_blank'>adjustable</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### changing_table_adult_adult-changing-table-max_height
The question is `What is the highest height the adult changing table can be moved to?`
*The highest height of the adult changing table is {canonical(changing_table:adult:max_height)}* is shown if `changing_table:adult:max_height` is set.
The allowed input is of type pfloat and is in range 0.4 until 2 (both inclusive). A warning will appear if the value is outside of 0.8 and 1.7.
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult' target='_blank'>changing_table:adult</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height' target='_blank'>changing_table:adult:height</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height%3Dadjustable' target='_blank'>adjustable</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### changing_table_adult_adult-changing-table-mechanism
The question is `How is the height of the changing table adjusted?`
- *The height of the adult changing table is adjusted <b>manually</b>* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height:mechanism' target='_blank'>changing_table:adult:height:mechanism</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height:mechanism%3Dmanual' target='_blank'>manual</a>
- *The height of the adult changing table is adjusted <b>electrically</b>* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height:mechanism' target='_blank'>changing_table:adult:height:mechanism</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height:mechanism%3Delectric' target='_blank'>electric</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult' target='_blank'>changing_table:adult</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:height' target='_blank'>changing_table:adult:height</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:height%3Dadjustable' target='_blank'>adjustable</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### changing_table_adult_adult-changing-table-support
The question is `How is the adult changing table supported?`
- *The changing table is mounted to the wall* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:support' target='_blank'>changing_table:adult:support</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dwall_mounted' target='_blank'>wall_mounted</a>
- *The changing table stands on table legs* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:support' target='_blank'>changing_table:adult:support</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dlegs' target='_blank'>legs</a>
- *The changing table stands on table legs <b>with wheels</b> and can be moved* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult:support' target='_blank'>changing_table:adult:support</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult:support%3Dwheels' target='_blank'>wheels</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:changing_table:adult' target='_blank'>changing_table:adult</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:changing_table:adult%3Dyes' target='_blank'>yes</a> & <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `relevant_questions` `hidden` `prefixed` `adult-changing-table` `hidden` `prefixed` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### questions-adult-changing-table
_This tagrendering has no question and is thus read-only_
*{questions(adult-changing-table,,yes)}*
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:toilets' target='_blank'>toilets</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:toilets%3Dyes' target='_blank'>yes</a>
This tagrendering has labels `hidden` `relevant-questions` `adult-changing-table` `amenity-prefixed` `relevant_questions` `toilet-questions` `hidden` `all`
### toilet-question-box
_This tagrendering has no question and is thus read-only_
*{questions(toilet-questions,wheelchair;adult-changing-table,)}*
This tagrendering has labels `toilet-questions` `all` `hidden`
### leftover-questions
_This tagrendering has no question and is thus read-only_
*{questions( ,hidden;wheelchair;adult-changing-table;toilet-questions)}*
This tagrendering has labels `ignore-docs` `added_by_default`
### move-button
_This tagrendering has no question and is thus read-only_
*{move_button()}*
### delete-button
_This tagrendering has no question and is thus read-only_
*{delete_button()}*
### lod
_This tagrendering has no question and is thus read-only_
*{linked_data_from_website()}*
This tagrendering has labels `added_by_default`
### spacer
_This tagrendering has no question and is thus read-only_
*<div class='m-4'/>*
## Filters
| id | question | osmTags |
-----|-----|----- |
| open_now.0 | Now open | _isOpen=yes |
| id | question | osmTags |
-----|-----|----- |
| accepts_cash.0 | Accepts cash | payment:cash=yes |
| id | question | osmTags |
-----|-----|----- |
| accepts_cards.0 | Accepts payment cards | payment:cards=yes |
| id | question | osmTags |
-----|-----|----- |
| has_internet.0 | Offers internet | internet_access=wlan | internet_access=yes | internet_access=wired |
| id | question | osmTags |
-----|-----|----- |
| has_electricity.0 | Offers electricity | service:electricity=yes |
| id | question | osmTags |
-----|-----|----- |
| outdoor_seating.0 | Has outdoor seating | outdoor_seating=yes |
| id | question | osmTags |
-----|-----|----- |
| indoor_seating.0 | Has indoor seating | indoor_seating=yes |
| id | question | osmTags |
-----|-----|----- |
| dogs.0 | *No preference towards dogs* (default) | |
| dogs.1 | Dogs allowed | dog=unleashed | dog=yes |
| dogs.2 | No dogs allowed | dog=no |
# pet_shops
This layer is based on [shops](../Layers/shops.md)

View file

@ -14,6 +14,7 @@ Available languages:
- en
- cs
- zh_Hant
# Layers defined in this theme configuration file
These layers can not be reused in different themes.

View file

@ -9,6 +9,7 @@ The theme introduction reads:
This theme contains the following layers:
- [street_with_width (defined in this theme)](#street_with_width)
- [street_no_width (defined in this theme)](#street_no_width)
Available languages:
@ -30,7 +31,17 @@ Available languages:
+ [needed_for_pedestrians](#needed_for_pedestrians)
+ [total_width_needed](#total_width_needed)
+ [has_sidewalks](#has_sidewalks)
+ [questions](#questions)
+ [nearbyimagesclosedreadonly](#nearbyimagesclosedreadonly)
+ [lod](#lod)
+ [spacer](#spacer)
3. [street_no_width](#street_no_width)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
- [Featureview elements and TagRenderings](#featureview-elements-and-tagrenderings)
+ [carriageway_width](#carriageway_width)
+ [leftover-questions](#leftover-questions)
+ [split_button](#split_button)
+ [lod](#lod)
+ [spacer](#spacer)
@ -74,7 +85,8 @@ Elements must match the expression **width:carriageway~.+**
| [needed_for_pedestrians](#needed_for_pedestrians) | _<b>{_width:needed:pedestrians}m</b> voor voetgangers_<br/>2 options | | _Multiple choice only_ |
| [total_width_needed](#total_width_needed) | _<span style='border: 1px solid black; border-radius: 0.5em; padding: 0.25em;'><b>{_width:needed:total}m</b> nodig in het totaal</span>_ | | _Multiple choice only_ |
| [has_sidewalks](#has_sidewalks) | Heeft deze straat voetpaden?<br/>4 options | | _Multiple choice only_ |
| [leftover-questions](#leftover-questions) | _{questions( ,hidden)}_ | ignore-docs, added_by_default | _Multiple choice only_ |
| [questions](#questions) <br/> _(Original in [questions](./BuiltinQuestions.md#questions))_ | _{questions()}_ | | _Multiple choice only_ |
| [nearbyimagesclosedreadonly](#nearbyimagesclosedreadonly) | _{nearby_images(closed,readonly)}_ | | _Multiple choice only_ |
| [lod](#lod) <br/> _(Original in [questions](./BuiltinQuestions.md#lod))_ | _{linked_data_from_website()}_ | added_by_default | _Multiple choice only_ |
| [spacer](#spacer) | _<div class='m-4'/>_ | | _Multiple choice only_ |
@ -132,7 +144,69 @@ The question is `Heeft deze straat voetpaden?`
- *Voetpad aan de linkerkant* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:sidewalk' target='_blank'>sidewalk</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:sidewalk%3Dleft' target='_blank'>left</a>
- *Voetpad aan de rechterzijde* is shown if with <a href='https://wiki.openstreetmap.org/wiki/Key:sidewalk' target='_blank'>sidewalk</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:sidewalk%3Dright' target='_blank'>right</a>
This tagrendering is only visible in the popup if the following condition is met: <a href='https://wiki.openstreetmap.org/wiki/Key:id' target='_blank'>id</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:id%3Ddisabled' target='_blank'>disabled</a>
### questions
Show the questions block at this location
_This tagrendering has no question and is thus read-only_
*{questions()}*
### nearbyimagesclosedreadonly
_This tagrendering has no question and is thus read-only_
*{nearby_images(closed,readonly)}*
### lod
_This tagrendering has no question and is thus read-only_
*{linked_data_from_website()}*
This tagrendering has labels `added_by_default`
### spacer
_This tagrendering has no question and is thus read-only_
*<div class='m-4'/>*
# street_no_width
Typical city streets with width
- This layer is shown at zoomlevel **19** and higher
- Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings`
No themes use this layer
## Basic tags for this layer
Elements must match **all** of the following expressions:
0. width:carriageway=
1. <a href='https://wiki.openstreetmap.org/wiki/Key:highway' target='_blank'>highway</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:highway%3Dresidential' target='_blank'>residential</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:highway' target='_blank'>highway</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:highway%3Dunclassified' target='_blank'>unclassified</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:highway' target='_blank'>highway</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:highway%3Dtertiary' target='_blank'>tertiary</a> | <a href='https://wiki.openstreetmap.org/wiki/Key:highway' target='_blank'>highway</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:highway%3Dliving_street' target='_blank'>living_street</a>
[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B!%22width%3Acarriageway%22%5D%5B%22highway%22%3D%22residential%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B!%22width%3Acarriageway%22%5D%5B%22highway%22%3D%22unclassified%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B!%22width%3Acarriageway%22%5D%5B%22highway%22%3D%22tertiary%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%20%20%20%20nwr%5B!%22width%3Acarriageway%22%5D%5B%22highway%22%3D%22living_street%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B)
## Supported attributes
**Warning:**: this quick overview is incomplete
| attribute | type | values which are supported by this layer |
-----|-----|----- |
| <a target="_blank" href='https://taginfo.openstreetmap.org/keys/width:carriageway#values'><img src='https://mapcomplete.org/assets/svg/search.svg' height='18px'></a> <a target="_blank" href='https://taghistory.raifer.tech/?#***/width%3Acarriageway/'><img src='https://mapcomplete.org/assets/svg/statistics.svg' height='18px'></a> [width:carriageway](https://wiki.openstreetmap.org/wiki/Key:width:carriageway) | [distance](../SpecialInputElements.md#distance) | |
## Featureview elements and TagRenderings
| id | question | labels | freeform key |
-----|-----|-----|----- |
| [carriageway_width](#carriageway_width) | Hoe breed is deze straat?<br/>_Deze straat is <b>{width:carriageway}m</b> breed_ | | *[width:carriageway](https://wiki.osm.org/wiki/Key:width:carriageway)* ([distance](../SpecialInputElements.md#distance)) |
| [leftover-questions](#leftover-questions) | _{questions( ,hidden)}_ | ignore-docs, added_by_default | _Multiple choice only_ |
| [split_button](#split_button) <br/> _(Original in [questions](./BuiltinQuestions.md#split_button))_ | _{split_button()}_ | | _Multiple choice only_ |
| [lod](#lod) <br/> _(Original in [questions](./BuiltinQuestions.md#lod))_ | _{linked_data_from_website()}_ | added_by_default | _Multiple choice only_ |
| [spacer](#spacer) | _<div class='m-4'/>_ | | _Multiple choice only_ |
### carriageway_width
The question is `Hoe breed is deze straat?`
*Deze straat is <b>{width:carriageway}m</b> breed* is shown if `width:carriageway` is set.
### leftover-questions
_This tagrendering has no question and is thus read-only_
@ -141,6 +215,11 @@ _This tagrendering has no question and is thus read-only_
This tagrendering has labels `ignore-docs` `added_by_default`
### split_button
_This tagrendering has no question and is thus read-only_
*{split_button()}*
### lod
_This tagrendering has no question and is thus read-only_

View file

@ -339,7 +339,7 @@ No default value set
Used to share a session with another device - this saves logging in at another device
This documentation is defined in the source code at [WithUserRelatedState.ts](/src/Models/ThemeViewState/WithUserRelatedState.ts#L47)
This documentation is defined in the source code at [WithUserRelatedState.ts](/src/Models/ThemeViewState/WithUserRelatedState.ts#L46)
No default value set
@ -347,7 +347,7 @@ No default value set
Used to complete the login
This documentation is defined in the source code at [WithUserRelatedState.ts](/src/Models/ThemeViewState/WithUserRelatedState.ts#L52)
This documentation is defined in the source code at [WithUserRelatedState.ts](/src/Models/ThemeViewState/WithUserRelatedState.ts#L51)
No default value set

@ -1 +1 @@
Subproject commit a48aaffec4ca59a2129834207e72ee3df85d2cd6
Subproject commit 5f0fb91b4915d579722934752c19db4443c92d0f

View file

@ -9,8 +9,9 @@
const t = Translations.t.app
const lng = Locale.language
let fdroid = t.downloadOnFDroid.current
let googleplay = t.getOnGoogle.current
let supportedVersions: { version: number; codename: string } = [
let supportedVersions: { version: number; codename: string }[] = [
{ version: 9, codename: "pie" },
{ version: 10, codename: "quince-tart" },
{ version: 11, codename: "red-velvet-cake" },
@ -80,6 +81,10 @@
/>
</a>
<a href="https://play.google.com/store/apps/details?id=org.mapcomplete">
<img src={`./googleplay.svg`} alt={$googleplay} class="m-2" style="width: 17rem" />
</a>
<a
rel="noopener"
href="https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://source.mapcomplete.org/MapComplete/android-wrapper/releases"

View file

@ -8,6 +8,8 @@ npm run build:vite:app-landing
mkdir to_upload
mv dist/app/* to_upload/
cp *.png to_upload/
cp *.svg to_upload/
cp -r .well-known/ to_upload/
mkdir -p to_upload/assets/fonts

193
app/googleplay.svg Normal file
View file

@ -0,0 +1,193 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg
width="800"
height="237.03703"
viewBox="0 -47.5 135 39.999999"
id="Layer_1"
version="1.1"
sodipodi:docname="google-play-badge-logo-svgrepo-com.svg"
inkscape:version="1.3.2 (1:1.3.2+202311252150+091e20ef0f)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs23" />
<sodipodi:namedview
id="namedview23"
pagecolor="#ffffff"
bordercolor="#999999"
borderopacity="1"
inkscape:showpageshadow="2"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="2.0062124"
inkscape:cx="133.58506"
inkscape:cy="137.8219"
inkscape:window-width="1920"
inkscape:window-height="1005"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="Layer_1" />
<style
id="style1">.st0{fill:#a6a6a6}.st1{stroke:#ffffff;stroke-width:.2;stroke-miterlimit:10}.st1,.st2{fill:#fff}.st3{fill:url(#SVGID_1_)}.st4{fill:url(#SVGID_2_)}.st5{fill:url(#SVGID_3_)}.st6{fill:url(#SVGID_4_)}.st7,.st8,.st9{opacity:.2;enable-background:new}.st8,.st9{opacity:.12}.st9{opacity:.25;fill:#fff}</style>
<path
d="M 130,-7.5 H 5 c -2.8,0 -5,-2.2 -5,-5 v -30 c 0,-2.8 2.2,-5 5,-5 h 125 c 2.8,0 5,2.2 5,5 v 30 c 0,2.8 -2.2,5 -5,5 z"
id="path1" />
<path
class="st0"
d="m 130,-46.7 c 2.3,0 4.2,1.9 4.2,4.2 v 30 c 0,2.3 -1.9,4.2 -4.2,4.2 H 5 c -2.3,0 -4.2,-1.9 -4.2,-4.2 v -30 c 0,-2.3 1.9,-4.2 4.2,-4.2 h 125 m 0,-0.8 H 5 c -2.8,0 -5,2.3 -5,5 v 30 c 0,2.8 2.2,5 5,5 h 125 c 2.8,0 5,-2.2 5,-5 v -30 c 0,-2.7 -2.2,-5 -5,-5 z"
id="path2" />
<path
class="st1"
d="m 47.4,-37.3 c 0,0.8 -0.2,1.5 -0.7,2 -0.6,0.6 -1.3,0.9 -2.2,0.9 -0.9,0 -1.6,-0.3 -2.2,-0.9 -0.6,-0.6 -0.9,-1.3 -0.9,-2.2 0,-0.9 0.3,-1.6 0.9,-2.2 0.6,-0.6 1.3,-0.9 2.2,-0.9 0.4,0 0.8,0.1 1.2,0.3 0.4,0.2 0.7,0.4 0.9,0.7 l -0.5,0.5 c -0.4,-0.5 -0.9,-0.7 -1.6,-0.7 -0.6,0 -1.2,0.2 -1.6,0.7 -0.5,0.4 -0.7,1 -0.7,1.7 0,0.7 0.2,1.3 0.7,1.7 0.5,0.4 1,0.7 1.6,0.7 0.7,0 1.2,-0.2 1.7,-0.7 0.3,-0.3 0.5,-0.7 0.5,-1.2 h -2.2 v -0.8 h 2.9 z m 4.6,-2.5 h -2.7 v 1.9 h 2.5 v 0.7 h -2.5 v 1.9 H 52 v 0.8 h -3.5 v -6 H 52 Z m 3.3,5.3 h -0.8 v -5.3 h -1.7 v -0.7 H 57 v 0.7 h -1.7 z m 4.6,0 v -6 h 0.8 v 6 z m 4.2,0 h -0.8 v -5.3 h -1.7 v -0.7 h 4.1 v 0.7 H 64 v 5.3 z m 9.5,-0.8 c -0.6,0.6 -1.3,0.9 -2.2,0.9 -0.9,0 -1.6,-0.3 -2.2,-0.9 -0.6,-0.6 -0.9,-1.3 -0.9,-2.2 0,-0.9 0.3,-1.6 0.9,-2.2 0.6,-0.6 1.3,-0.9 2.2,-0.9 0.9,0 1.6,0.3 2.2,0.9 0.6,0.6 0.9,1.3 0.9,2.2 0,0.9 -0.3,1.6 -0.9,2.2 z m -3.8,-0.5 c 0.4,0.4 1,0.7 1.6,0.7 0.6,0 1.2,-0.2 1.6,-0.7 0.4,-0.4 0.7,-1 0.7,-1.7 0,-0.7 -0.2,-1.3 -0.7,-1.7 -0.4,-0.4 -1,-0.7 -1.6,-0.7 -0.6,0 -1.2,0.2 -1.6,0.7 -0.4,0.4 -0.7,1 -0.7,1.7 0,0.7 0.2,1.3 0.7,1.7 z m 5.8,1.3 v -6 h 0.9 l 2.9,4.7 v -4.7 h 0.8 v 6 h -0.8 l -3.1,-4.9 v 4.9 z"
id="path3" />
<path
class="st2"
d="m 68.1,-25.7 c -2.4,0 -4.3,1.8 -4.3,4.3 0,2.4 1.9,4.3 4.3,4.3 2.4,0 4.3,-1.8 4.3,-4.3 0,-2.6 -1.9,-4.3 -4.3,-4.3 z m 0,6.8 c -1.3,0 -2.4,-1.1 -2.4,-2.6 0,-1.5 1.1,-2.6 2.4,-2.6 1.3,0 2.4,1 2.4,2.6 0,1.5 -1.1,2.6 -2.4,2.6 z m -9.3,-6.8 c -2.4,0 -4.3,1.8 -4.3,4.3 0,2.4 1.9,4.3 4.3,4.3 2.4,0 4.3,-1.8 4.3,-4.3 0,-2.6 -1.9,-4.3 -4.3,-4.3 z m 0,6.8 c -1.3,0 -2.4,-1.1 -2.4,-2.6 0,-1.5 1.1,-2.6 2.4,-2.6 1.3,0 2.4,1 2.4,2.6 0,1.5 -1.1,2.6 -2.4,2.6 z m -11.1,-5.5 v 1.8 H 52 c -0.1,1 -0.5,1.8 -1,2.3 -0.6,0.6 -1.6,1.3 -3.3,1.3 -2.7,0 -4.7,-2.1 -4.7,-4.8 0,-2.7 2.1,-4.8 4.7,-4.8 1.4,0 2.5,0.6 3.3,1.3 l 1.3,-1.3 c -1.1,-1 -2.5,-1.8 -4.5,-1.8 -3.6,0 -6.7,3 -6.7,6.6 0,3.6 3.1,6.6 6.7,6.6 2,0 3.4,-0.6 4.6,-1.9 1.2,-1.2 1.6,-2.9 1.6,-4.2 0,-0.4 0,-0.8 -0.1,-1.1 z m 45.4,1.4 c -0.4,-1 -1.4,-2.7 -3.6,-2.7 -2.2,0 -4,1.7 -4,4.3 0,2.4 1.8,4.3 4.2,4.3 1.9,0 3.1,-1.2 3.5,-1.9 l -1.4,-1 c -0.5,0.7 -1.1,1.2 -2.1,1.2 -1,0 -1.6,-0.4 -2.1,-1.3 l 5.7,-2.4 z m -5.8,1.4 c 0,-1.6 1.3,-2.5 2.2,-2.5 0.7,0 1.4,0.4 1.6,0.9 z m -4.7,4.1 h 1.9 V -30 h -1.9 z m -3,-7.3 c -0.5,-0.5 -1.3,-1 -2.3,-1 -2.1,0 -4.1,1.9 -4.1,4.3 0,2.4 1.9,4.2 4.1,4.2 1,0 1.8,-0.5 2.2,-1 h 0.1 v 0.6 c 0,1.6 -0.9,2.5 -2.3,2.5 -1.1,0 -1.9,-0.8 -2.1,-1.5 l -1.6,0.7 c 0.5,1.1 1.7,2.5 3.8,2.5 2.2,0 4,-1.3 4,-4.4 v -7.6 h -1.8 z m -2.2,5.9 c -1.3,0 -2.4,-1.1 -2.4,-2.6 0,-1.5 1.1,-2.6 2.4,-2.6 1.3,0 2.3,1.1 2.3,2.6 0,1.5 -1,2.6 -2.3,2.6 z M 101.8,-30 h -4.5 v 12.5 h 1.9 v -4.7 h 2.6 c 2.1,0 4.1,-1.5 4.1,-3.9 0,-2.4 -2,-3.9 -4.1,-3.9 z m 0.1,6 h -2.7 v -4.3 h 2.7 c 1.4,0 2.2,1.2 2.2,2.1 -0.1,1.1 -0.9,2.2 -2.2,2.2 z m 11.5,-1.8 c -1.4,0 -2.8,0.6 -3.3,1.9 l 1.7,0.7 c 0.4,-0.7 1,-0.9 1.7,-0.9 1,0 1.9,0.6 2,1.6 v 0.1 c -0.3,-0.2 -1.1,-0.5 -1.9,-0.5 -1.8,0 -3.6,1 -3.6,2.8 0,1.7 1.5,2.8 3.1,2.8 1.3,0 1.9,-0.6 2.4,-1.2 h 0.1 v 1 h 1.8 v -4.8 c -0.2,-2.2 -1.9,-3.5 -4,-3.5 z m -0.2,6.9 c -0.6,0 -1.5,-0.3 -1.5,-1.1 0,-1 1.1,-1.3 2,-1.3 0.8,0 1.2,0.2 1.7,0.4 -0.2,1.2 -1.2,2 -2.2,2 z m 10.5,-6.6 -2.1,5.4 h -0.1 l -2.2,-5.4 h -2 l 3.3,7.6 -1.9,4.2 h 1.9 l 5.1,-11.8 z m -16.8,8 h 1.9 V -30 h -1.9 z"
id="path4" />
<g
id="g23"
transform="translate(0,-47.5)">
<linearGradient
id="SVGID_1_"
gradientUnits="userSpaceOnUse"
x1="21.799999"
y1="33.290001"
x2="5.0170002"
y2="16.507999"
gradientTransform="matrix(1,0,0,-1,0,42)">
<stop
offset="0"
stop-color="#00a0ff"
id="stop4" />
<stop
offset=".007"
stop-color="#00a1ff"
id="stop5" />
<stop
offset=".26"
stop-color="#00beff"
id="stop6" />
<stop
offset=".512"
stop-color="#00d2ff"
id="stop7" />
<stop
offset=".76"
stop-color="#00dfff"
id="stop8" />
<stop
offset="1"
stop-color="#00e3ff"
id="stop9" />
</linearGradient>
<path
class="st3"
d="M 10.4,7.5 C 10.1,7.8 10,8.3 10,8.9 V 31 c 0,0.6 0.2,1.1 0.5,1.4 L 10.6,32.5 23,20.1 v -0.2 z"
id="path9"
style="fill:url(#SVGID_1_)" />
<linearGradient
id="SVGID_2_"
gradientUnits="userSpaceOnUse"
x1="33.834"
y1="21.999001"
x2="9.6370001"
y2="21.999001"
gradientTransform="matrix(1,0,0,-1,0,42)">
<stop
offset="0"
stop-color="#ffe000"
id="stop10" />
<stop
offset=".409"
stop-color="#ffbd00"
id="stop11" />
<stop
offset=".775"
stop-color="orange"
id="stop12" />
<stop
offset="1"
stop-color="#ff9c00"
id="stop13" />
</linearGradient>
<path
class="st4"
d="m 27,24.3 -4.1,-4.1 v -0.3 l 4.1,-4.1 0.1,0.1 4.9,2.8 c 1.4,0.8 1.4,2.1 0,2.9 z"
id="path13"
style="fill:url(#SVGID_2_)" />
<linearGradient
id="SVGID_3_"
gradientUnits="userSpaceOnUse"
x1="24.827"
y1="19.704"
x2="2.069"
y2="-3.0539999"
gradientTransform="matrix(1,0,0,-1,0,42)">
<stop
offset="0"
stop-color="#ff3a44"
id="stop14" />
<stop
offset="1"
stop-color="#c31162"
id="stop15" />
</linearGradient>
<path
class="st5"
d="M 27.1,24.2 22.9,20 10.4,32.5 c 0.5,0.5 1.2,0.5 2.1,0.1 l 14.6,-8.4"
id="path15"
style="fill:url(#SVGID_3_)" />
<linearGradient
id="SVGID_4_"
gradientUnits="userSpaceOnUse"
x1="7.2969999"
y1="41.824001"
x2="17.459999"
y2="31.660999"
gradientTransform="matrix(1,0,0,-1,0,42)">
<stop
offset="0"
stop-color="#32a071"
id="stop16" />
<stop
offset=".069"
stop-color="#2da771"
id="stop17" />
<stop
offset=".476"
stop-color="#15cf74"
id="stop18" />
<stop
offset=".801"
stop-color="#06e775"
id="stop19" />
<stop
offset="1"
stop-color="#00f076"
id="stop20" />
</linearGradient>
<path
class="st6"
d="M 27.1,15.8 12.5,7.5 C 11.6,7 10.9,7.1 10.4,7.6 L 22.9,20 Z"
id="path20"
style="fill:url(#SVGID_4_)" />
<path
class="st7"
d="m 27,24.1 -14.5,8.2 c -0.8,0.5 -1.5,0.4 -2,0 l -0.1,0.1 0.1,0.1 c 0.5,0.4 1.2,0.5 2,0 z"
id="path21" />
<path
class="st8"
d="M 10.4,32.3 C 10.1,32 10,31.5 10,30.9 V 31 c 0,0.6 0.2,1.1 0.5,1.4 v -0.1 z m 21.6,-11 -5,2.8 0.1,0.1 4.9,-2.8 c 0.7,-0.4 1,-0.9 1,-1.4 0,0.5 -0.4,0.9 -1,1.3 z"
id="path22" />
<path
class="st9"
d="M 12.5,7.6 32,18.7 c 0.6,0.4 1,0.8 1,1.3 0,-0.5 -0.3,-1 -1,-1.4 L 12.5,7.5 C 11.1,6.7 10,7.3 10,8.9 V 9 c 0,-1.5 1.1,-2.2 2.5,-1.4 z"
id="path23" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.8 KiB

View file

@ -5,6 +5,7 @@
"shownByDefault": false,
"title": "Current View",
"popupInFloatover": true,
"titleIcons": [],
"pointRendering": [],
"lineRendering": [
{

View file

@ -430,10 +430,10 @@
}
},
{
"condition": "_favourite=yes",
"id": "favourite_icon",
"description": "Only for rendering",
"icon": "circle:white;heart:red",
"id": "favourite_icon",
"condition": "_favourite=yes",
"metacondition": "__showTimeSensitiveIcons!=no"
},
{

View file

@ -217,8 +217,8 @@
},
{
"id": "debug",
"metacondition": "__featureSwitchIsDebugging=true",
"render": "{all_tags()}"
"render": "{all_tags()}",
"metacondition": "__featureSwitchIsDebugging=true"
}
],
"filter": [

View file

@ -3,7 +3,7 @@
"name": {
"en": "Lighthouses",
"ca": "far",
"cs": "maják",
"cs": "Majáky",
"cy": "goleudy",
"de": "Leuchtturm",
"es": "faro",
@ -18,7 +18,7 @@
"render": {
"en": "Lighthouse",
"ca": "far",
"cs": "maják",
"cs": "Maják",
"cy": "goleudy",
"de": "Leuchtturm",
"es": "faro",

View file

@ -114,9 +114,9 @@
"lineRendering": [],
"tagRenderings": [
{
"classes": "p-0",
"id": "conversation",
"render": "{visualize_note_comments()}"
"render": "{visualize_note_comments()}",
"classes": "p-0"
},
{
"id": "add_image",

View file

@ -66,16 +66,16 @@
],
"tagRenderings": [
{
"condition": "level=country",
"description": "The name of the country",
"id": "country_name",
"render": "{nameEn} {emojiFlag}"
"description": "The name of the country",
"render": "{nameEn} {emojiFlag}",
"condition": "level=country"
},
{
"condition": "_community_links~*",
"description": "Community Links (Discord, meetups, Slack groups, IRC channels, mailing lists etc...)",
"id": "community_links",
"render": "{_community_links}"
"description": "Community Links (Discord, meetups, Slack groups, IRC channels, mailing lists etc...)",
"render": "{_community_links}",
"condition": "_community_links~*"
}
],
"filter": [

View file

@ -2,7 +2,8 @@
"id": "police_call_box",
"name": {
"en": "Police call boxes",
"cs": "Policejní telefonní budky"
"cs": "Policejní telefonní budky",
"zh_Hant": "警察詢問室"
},
"description": {
"en": "A type of telephone kiosk historically used by the police.",

View file

@ -16,7 +16,8 @@
"pa_PK": "دکان",
"pl": "Sklep",
"ru": "Магазин",
"uk": "Магазин"
"uk": "Магазин",
"zh_Hant": "商家"
},
"description": {
"en": "A shop",

View file

@ -32,7 +32,8 @@
"de": "Blitzer",
"es": "Radar",
"it": "Autovelox",
"nl": "Flitspaal"
"nl": "Flitspaal",
"zh_Hant": "測速照相"
}
},
"pointRendering": [
@ -82,7 +83,8 @@
"es": "¿Cuál es la velocidad máxima permitida en este radar?",
"fr": "Quelle est la vitesse maximale autorisée au niveau de ce radar ?",
"it": "Qual è la velocità massima consentita a questo autovelox?",
"nl": "Wat is de maximum toegestane snelheid bij deze flitspaal?"
"nl": "Wat is de maximum toegestane snelheid bij deze flitspaal?",
"zh_Hant": "這個測速照相允許的最高速限?"
},
"render": {
"en": "The maximum speed allowed is {canonical(maxspeed)}",

View file

@ -24,8 +24,8 @@
inkscape:deskcolor="#d1d1d1"
showguides="true"
inkscape:zoom="31.809268"
inkscape:cx="10.374335"
inkscape:cy="10.327179"
inkscape:cx="7.4506587"
inkscape:cy="14.445475"
inkscape:window-width="1920"
inkscape:window-height="1005"
inkscape:window-x="0"
@ -35,13 +35,13 @@
<g
id="g6"
transform="matrix(1.3906291,1.4182437,-1.4182437,1.3906291,10.496254,-26.783855)"
style="fill:#000000;fill-opacity:1">
style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:0.82973289;stroke-width:0.40276519;stroke-dasharray:none">
<path
fill="#dd2e44"
d="M 18.378552,14.993974 9.879,9.886 l 5.123325,8.551246 1.328258,-2.074158 z"
id="path5"
sodipodi:nodetypes="ccccc"
style="fill:#000000;fill-opacity:1" />
style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-opacity:0.82973289;stroke-width:0.40276519;stroke-dasharray:none" />
</g>
<path
style="font-size:10.2423px;line-height:1;font-family:KacstDigital;-inkscape-font-specification:'KacstDigital, Normal';fill:#ffffff;fill-opacity:1;stroke:#fffbff;stroke-width:0.46;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2 KiB

Before After
Before After

View file

@ -700,6 +700,7 @@
{
"builtin": "current_view",
"override": {
"popupInFloatover": "title",
"calculatedTags+": [
"_overlapping=Number(feat.properties.zoom) >= 14 ? overlapWith(feat)('grb').map(ff => ff.feat.properties) : undefined",
"_applicable_conflate=get(feat)('_overlapping')?.filter(p => p._imported !== 'yes' && (!p['_imported_osm_still_fresh'] || !p['_imported_osm_object_found']) && p['_overlap_absolute'] > 10 && p['_overlap_percentage'] > 80 && p['_reverse_overlap_percentage'] > 80)?.map(p => p.id)",

View file

@ -38,9 +38,6 @@
"zh_Hant": "顯示由MapComplete進行的變動"
},
"icon": "./assets/svg/logo.svg",
"startZoom": 1,
"startLat": 0,
"startLon": 0,
"hideFromOverview": true,
"layers": [
{

View file

@ -598,6 +598,7 @@
{
"builtin": "current_view",
"override": {
"popupInFloatover": "title",
"+pointRendering": [
{
"location": [

View file

@ -26,9 +26,9 @@
"_car_width:=2 /* The width that a single car needs */",
"_cyclistWidth:=1.5 /* The width a single cyclist needs to be safely overtaken */",
"_pedestrianWidth:=0.75 /* The width a pedestrian needs if sidewalks are missing */",
"_has_left_parking=(feat.properties['parking:lane:left'] ?? feat.properties['parking:lane:both']) === 'parallel'",
"_has_right_parking=(feat.properties['parking:lane:right'] ?? feat.properties['parking:lane:both']) === 'parallel'",
"_has_other_parking= ['parking:lane:left','parking:lane:right','parking:lane:both'].some(key => ['perpendicular','diagonal'].indexOf(feat.properties[key]) >= 0)",
"_has_left_parking=['lane','yes', 'parallel'].indexOf(feat.properties['parking:left'] ?? feat.properties['parking:both']) >= 0",
"_has_right_parking=['lane','yes','parallel'].indexOf(feat.properties['parking:right'] ?? feat.properties['parking:both']) >= 0",
"_has_other_parking= ['parking:left:orientation','parking:right:orientation','parking:both:orientation'].some(key => ['perpendicular','diagonal'].indexOf(feat.properties[key]) >= 0)",
"_parallel_parking_count=get(feat)('_has_right_parking') + get(feat)('_has_left_parking') /* in javascript logic: true + true == 2*/",
"_width:needed:parking=get(feat)('_parallel_parking_count') * get(feat)('_car_width')",
"_has_sidewalk_left=['left','both'].indexOf(feat.properties['sidewalk']) >= 0",
@ -154,7 +154,6 @@
},
{
"id": "has_sidewalks",
"condition": "id=disabled",
"question": {
"nl": "Heeft deze straat voetpaden?"
},
@ -184,7 +183,9 @@
}
}
]
}
},
"questions",
"{nearby_images(closed,readonly)}"
],
"pointRendering": [
{
@ -239,6 +240,67 @@
}
}
]
},
{
"id": "street_no_width",
"description": "Typical city streets with width",
"name": {
"nl": "Straten zonder breedte"
},
"source": {
"osmTags": {
"and": [
"width:carriageway=",
{
"or": [
"highway=residential",
"highway=unclassified",
"highway=tertiary",
"highway=living_street"
]
}
]
}
},
"minzoom": 19,
"title": {
"render": {
"nl": "{name}"
},
"mappings": [
{
"if": "name=",
"then": {
"nl": "Naamloos segment"
}
}
]
},
"tagRenderings": [
{
"id": "carriageway_width",
"render": "Deze straat is <b>{width:carriageway}m</b> breed",
"question": "Hoe breed is deze straat?",
"freeform": {
"key": "width:carriageway",
"type": "distance",
"helperArgs": {
"zoom": 21,
"background": "map"
}
}
}
],
"pointRendering": null,
"lineRendering": [
{
"color": "#ff00ff",
"width": "4"
}
],
"allowMove": false,
"allowSplit": true,
"allowDeletion": false
}
],
"lockLocation": [

View file

@ -7,7 +7,6 @@
"download": "Stáhnout aplikaci",
"downloadOnFDroid": "Stáhnout MapComplete na F-Droidu",
"getOnObtanium": "Získat na Obtainiu",
"intro": "MapComplete je k dispozici jako aplikace pro Android k přímému stažení. Pracujeme na to, aby byla zveřejněna i v repozitáři F-Droid.",
"legacyExplanation": "Kvůli restrikcím společnosti Google nelze zkompilovat identický balíček APK pro novější i starší verze systému Android.\n\n Pokud instalace z F-Droidu, Google Play, Obtainia nebo instalace výše odkazované nejnovější verze ('latest') selže,\n zkuste balíčky pro starší verze Androidu, které jsou k dispozici níže.",
"legacyHeader": "Sestavení pro starší telefony se systémem Android",
"noPlayServices": "Aplikace funguje bez Google Play Services",

View file

@ -7,7 +7,6 @@
"download": "Download appen",
"downloadOnFDroid": "Download MapComplete på F-Droid",
"getOnObtanium": "Hent på Obtainium",
"intro": "MapComplete er tilgængelig som Android-app som direkte download. Vi arbejder på også at udgive den på FDroid.",
"noPlayServices": "Appen fungerer uden Google Play Services",
"older": "Se ældre builds",
"title": "MapComplete Android-app"

View file

@ -5,7 +5,6 @@
"app": {
"back": "Zurück zu MapComplete",
"download": "Lade die App runter",
"intro": "MapComplete gibt's als Android-App zum direkten Download. Wir arbeiten daran, die App auch auf FDroid zu veröffentlichen.",
"noPlayServices": "Die App funktioniert ohne Google Play Services",
"older": "Ältere Versionen ansehen",
"title": "MapComplete Android-App"

View file

@ -6,8 +6,9 @@
"back": "Go back to MapComplete",
"download": "Download the app",
"downloadOnFDroid": "Download MapComplete on F-Droid",
"getOnGoogle": "Download MapComplete on Google Playstore",
"getOnObtanium": "Get on Obtainium",
"intro": "MapComplete is available as Android App as direct download. We are working on publishing this in on FDroid too.",
"intro": "MapComplete is available as Android App on various app stores. Installing the app version makes it easier to access MapComplete and uses less internet. However, the web version has the same features.",
"legacyExplanation": "Due to restrictions by Google, it is not possible to compile an identical APK for newer and older Android versions.\nIf installing via F-Droid, Google Play, Obtainium or installing 'latest' above failed, try a versions for older versions of android are available below.",
"legacyHeader": "Builds for older Android phones",
"noPlayServices": "The app works without Google Play Services",
@ -22,6 +23,9 @@
"retrying": "Loading data failed. Trying again in {count} seconds…",
"zoomIn": "Zoom in to view or edit the data"
},
"collectionTimes": {
"addTime": "Add moment"
},
"communityIndex": {
"available": "This community speaks {native}",
"intro": "Get in touch with other people to get to know them, learn from them, …",
@ -674,6 +678,7 @@
},
"input_helpers": {
"distance": {
"measureAgain": "Start new measurement from current location",
"setFirst": "Measure from current location"
}
},
@ -751,6 +756,22 @@
"typeText": "Type some text to add a comment",
"warnAnonymous": "You are not logged in. We won't be able to contact you to resolve your issue."
},
"offline": {
"actions": "Actions",
"autoCheckmark": "Automatically download the basemap when browsing around",
"autoExplanation": "If checked, MapComplete will automatically download the basemap to the cache for the area. This results in bigger initial data loads, but requires less internet over the long run. If you plan to visit a region with less connectivity, you can also select the area you want to download below.",
"autoExplanationIntro": "What does automatically downloading basemaps mean?",
"date": "Map generation data",
"delete": "Delete basemap",
"deleteAll": "Delete all basemaps",
"download": "Download area",
"installing": "Data is being downloaded",
"localOnMap": "Offline basemaps on the map",
"name": "Name",
"overview": "Offline basemaps overview",
"range": "Zoom ranges",
"size": "Size"
},
"plantDetection": {
"back": "Back to species overview",
"button": "Automatically detect the plant species using the AI of Plantnet.org",

View file

@ -7,7 +7,6 @@
"download": "Télécharger l'application",
"downloadOnFDroid": "Télécharger MapComplete sur F-Droid",
"getOnObtanium": "Obtenir sur Obtainium",
"intro": "MapComplete est disponible en tant qu'application Android en téléchargement direct. Nous nous efforçons de publier également cette application sur FDroid.",
"legacyExplanation": "En raison des restrictions imposées par Google, il n'est pas possible de compiler un APK identique pour les versions Android récentes et anciennes.\nSi l'installation via F-Droid, Google Play, Obtainium ou l'installation de la « dernière version » ci-dessus a échoué, essayez une des versions pour les anciennes versions d'Android disponibles ci-dessous.",
"legacyHeader": "Versions pour les anciens téléphones Android",
"noPlayServices": "L'application fonctionne sans Google Play Services",

View file

@ -5,7 +5,6 @@
"app": {
"back": "Ritorna a MapComplete",
"download": "Scarica l'app",
"intro": "MapComplete è disponibile come App Android in download diretto. Stiamo lavorando per pubblicarla anche su FDroid.",
"noPlayServices": "L'app funziona senza Google Play Services",
"older": "Vedi le vecchie versioni",
"title": "MapComplete App per Android"

View file

@ -7467,7 +7467,7 @@
}
},
"lighthouse": {
"name": "maják",
"name": "Majáky",
"presets": {
"0": {
"title": "maják"
@ -7485,7 +7485,7 @@
"then": "{name}"
}
},
"render": "maják"
"render": "Maják"
}
},
"love_hotel": {

View file

@ -886,6 +886,9 @@
"maxspeed": {
"description": "顯示每條道路的允許速度"
},
"police_call_box": {
"name": "警察詢問室"
},
"postboxes": {
"description": "這圖層顯示郵筒。",
"name": "郵筒",
@ -1051,6 +1054,7 @@
}
},
"shops": {
"name": "商家",
"tagRenderings": {
"erotic_shop_fetish": {
"mappings": {
@ -1074,6 +1078,16 @@
}
}
},
"speed_camera": {
"tagRenderings": {
"maxspeed": {
"question": "這個測速照相允許的最高速限?"
}
},
"title": {
"render": "測速照相"
}
},
"sports_centre": {
"tagRenderings": {
"sport_centre-sport": {

View file

@ -6,7 +6,6 @@
"back": "Ga terug naar MapComplete",
"download": "Download de laatste versie",
"downloadOnFDroid": "Download MapComplete op F-Droid",
"intro": "MapComplete is beschikbaar als Android App. Deze is binnenkort ook in F-Droid beschikbaar",
"older": "Bekijk oudere versies",
"title": "MapComplete Anrdoid App"
},

View file

@ -7,7 +7,6 @@
"download": "下載應用程式",
"downloadOnFDroid": "在 F-Droid 下載 MapComplete",
"getOnObtanium": "從 Obtainium 取得",
"intro": "MapComplete可以在Android App直接下載。我們也計畫在Fdroid發佈。",
"legacyExplanation": "由於Google的限制並無法為更新與更舊的Android編譯相同的APK\n 版本。\n\n 如果你透過F-Droid、Google Play、Obtainium或是安裝「最新」的版本失敗\n 請為其他較舊Android版本使用其他版本。",
"legacyHeader": "為較舊Android手機建構",
"noPlayServices": "本應用無需 Google Play 服務即可運行",

10
package-lock.json generated
View file

@ -1,12 +1,12 @@
{
"name": "mapcomplete",
"version": "0.55.1",
"version": "0.55.5",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "mapcomplete",
"version": "0.55.1",
"version": "0.55.5",
"hasInstallScript": true,
"license": "GPL-3.0-or-later",
"dependencies": {
@ -13004,9 +13004,9 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001734",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001734.tgz",
"integrity": "sha512-uhE1Ye5vgqju6OI71HTQqcBCZrvHugk0MjLak7Q+HfoBgoq5Bi+5YnwjP4fjDgrtYr/l8MVRBvzz9dPD4KyK0A==",
"version": "1.0.30001735",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001735.tgz",
"integrity": "sha512-EV/laoX7Wq2J9TQlyIXRxTJqIw4sxfXS4OYgudGxBYRuTv0q7AM6yMEpU/Vo1I94thg9U6EZ2NfZx9GJq83u7w==",
"dev": true,
"funding": [
{

View file

@ -1,6 +1,6 @@
{
"name": "mapcomplete",
"version": "0.55.1",
"version": "0.55.5",
"repository": "https://source.mapcomplete.org/MapComplete/MapComplete",
"description": "A small website to edit OSM easily",
"bugs": "hhttps://source.mapcomplete.org/MapComplete/MapComplete/issues",

View file

@ -5198,23 +5198,22 @@ input[type="range"].range-lg::-moz-range-thumb {
--low-interaction-background: #eeeeee;
--low-interaction-background-50: #eeeeee90;
--low-interaction-foreground: black;
--low-interaction-contrast: #ff00ff;
--low-interaction-border: #dcdcdc;
--interactive-background: #dddddd;
--interactive-foreground: black;
--interactive-contrast: #ff00ff;
--interactive-contrast: #cd1dcd;
--interaction-border: #bfbfbf;
--button-background: #282828;
--button-background-primary: #191919;
--button-background-hover: #484848;
--button-primary-background-hover: #353535;
--button-primary-background-hover: rgba(48, 47, 47, 0.94);
--button-foreground: white;
--button-border-color: #F7F7F7;
--button-background: #fafafa;
--button-border: #B8B8B8;
--disabled: #B8B8B8;
--disabled-font: #B8B8B8;
--catch-detail-color: black;
/*#3a3aeb;*/
--catch-detail-foregroundcolor: white;
--catch-detail-color-contrast: #fb3afb;
--catch-detail-color: var(--background-color);
--catch-detail-foregroundcolor: var(--foreground-color);
--catch-detail-color-contrast: var(--interactive-contrast);
--image-carousel-height: 350px;
/** Technical value, used by icon.svelte
*/
@ -5323,7 +5322,7 @@ input[type="text"] {
}
.border-interactive {
border: 2px dashed var(--catch-detail-color-contrast);
border: 2px dashed var(--interactive-contrast);
border-radius: 0.5rem;
}
@ -5358,11 +5357,14 @@ button, .button {
align-items: center;
padding: 0.25rem 1rem;
margin: 0.25rem;
border: 1px solid var(--button-background-hover);
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
border-radius: 15px;
background: var(--button-background);
border: 2px solid var(--button-border);
border-radius: 7px;
transition: background-color 200ms;
}
.low-interaction button{
background: var(--background-color);
transition: all 200ms;
}
.group > button {
@ -5374,7 +5376,12 @@ button.w-full {
margin-left: 0;
}
button:hover:not(.disabled):not(.as-link), .button:hover:not(.disabled):not(.as-link) {
button.primary:hover:not(.disabled), .button.primary:hover:not(.disabled) {
background-color: var(--button-primary-background-hover);
border: 2px solid var(--interactive-contrast)
}
button:hover:not(.disabled):not(.as-link):not(.primary), .button:hover:not(.disabled):not(.as-link):not(.primary) {
background-color: var(--low-interaction-background);
}
@ -5388,12 +5395,8 @@ button:focus, .button:focus {
button.primary, .button.primary {
color: var(--button-foreground);
background-color: var(--button-background);
border-color: var(--button-border-color);
}
button.primary:hover:not(.disabled), .button.primary:hover:not(.disabled) {
background-color: var(--button-primary-background-hover);
background-color: var(--button-background-primary);
border: 2px solid var(--button-background-primary)
}
button.disabled {
@ -5444,7 +5447,7 @@ button.unstyled, .button-unstyled button {
/******* Other input elements ******/
.hover-alert:hover {
color: var(--catch-detail-color-contrast)
color: var(--interactive-contrast)
}
.links-w-full a:not(.weblate-link), .links-w-full button.as-link {
@ -5468,7 +5471,7 @@ select {
}
select:hover {
border-color: var(--catch-detail-color-contrast);
border-color: var(--interactive-contrast);
}
.neutral-label {
@ -5570,17 +5573,6 @@ h2.group {
background-color: var(--interactive-background);
}
.information {
/* The class to convey important information which does _not_ denote an error... */
background-color: var(--low-interaction-background);
color: var(--alert-foreground-color);
border-radius: 1em;
margin: 0.25em;
text-align: center;
padding: 0.15em 0.3em;
border: 3px dotted var(--catch-detail-color-contrast);
}
.low-interaction .interactive {
background-color: var(--interactive-background);
}

View file

@ -18,7 +18,7 @@ interface value<T> {
}
interface LanguageSpecResult {
directionalityLabel: value<string | "right-to-left" | "left-to-right">
directionalityLabel?: value<string | "right-to-left" | "left-to-right">
lang: value<string>
code: value<string>
label: value<string>
@ -77,6 +77,29 @@ async function fetchRegularLanguages() {
return result.results.bindings
}
async function fetchSignLanguages() {
const query = `
SELECT ?lang ?label ?code
WHERE
{
?lang wdt:P31 wd:Q34228.
OPTIONAL {
?lang wdt:P1813 ?code.
}
?lang rdfs:label ?label.
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}`
const url = Wikidata.wds.sparqlQuery(query)
// request the generated URL with your favorite HTTP request library
const result = await Utils.downloadJson<{ results: { bindings: any[] } }>(url, {
"User-Agent": "MapComplete script",
})
return <LanguageSpecResult[]>result.results.bindings
}
/**
* Fetches the object as is. Sets a 'code' binding as predifined value
* @param id
@ -169,7 +192,20 @@ async function getOfficialLanguagesPerCountryCached(
return officialLanguages
}
async function generateSignLanguageOverview(){
const signLanguages = await fetchSignLanguages()
const signPerId = WikidataUtils.extractLanguageData(signLanguages, WikidataUtils.languageRemapping)
const asRecord : Record<string, Record<string, string>> = {}
for (const lng of signPerId.keys()) {
asRecord[lng.toLowerCase()] = Utils.MapToObj(signPerId.get(lng).translations)
}
return asRecord
}
async function main(wipeCache = false) {
const signLanguages = await generateSignLanguageOverview()
const cacheFile = "./src/assets/generated/languages-wd.json"
if (wipeCache || !existsSync(cacheFile)) {
console.log("Refreshing cache")
@ -181,7 +217,8 @@ async function main(wipeCache = false) {
const data = JSON.parse(readFileSync(cacheFile, { encoding: "utf8" }))
const perId = WikidataUtils.extractLanguageData(data, WikidataUtils.languageRemapping)
const nativeList = getNativeList(perId)
writeFileSync("./src/assets/language_native.json", JSON.stringify(nativeList, null, " "))
writeFileSync("./src/assets/language_native.json", JSON.stringify({ ...nativeList, ...signLanguages }, null, " "))
const languagesPerCountry = Utils.TransposeMap(
await getOfficialLanguagesPerCountryCached(wipeCache)
)

View file

@ -38,7 +38,10 @@ import { ValidateThemeAndLayers } from "../src/Models/ThemeConfig/Conversion/Val
import { ExtractImages } from "../src/Models/ThemeConfig/Conversion/FixImages"
import { TagRenderingConfigJson } from "../src/Models/ThemeConfig/Json/TagRenderingConfigJson"
import { Lists } from "../src/Utils/Lists"
import { LayerConfigDependencyGraph, LevelInfo } from "../src/Models/ThemeConfig/LayerConfigDependencyGraph"
import {
LayerConfigDependencyGraph,
LevelInfo,
} from "../src/Models/ThemeConfig/LayerConfigDependencyGraph"
import { AddContextToTranslations } from "../src/Models/ThemeConfig/Conversion/AddContextToTranslations"
// This scripts scans 'src/assets/layers/*.json' for layer definition files and 'src/assets/themes/*.json' for theme definition files.
@ -114,7 +117,10 @@ class AddIconSummary extends DesugaringStep<{ raw: LayerConfigJson; parsed: Laye
static singleton = new AddIconSummary()
constructor() {
super("AddIconSummary", "Adds an icon summary ('_layerIcon') for quick reference. This previews how the layer should be shown in e.g. the filter menu")
super(
"AddIconSummary",
"Adds an icon summary ('_layerIcon') for quick reference. This previews how the layer should be shown in e.g. the filter menu"
)
}
convert(json: { raw: LayerConfigJson; parsed: LayerConfig }) {
@ -699,11 +705,14 @@ class LayerOverviewUtils extends Script {
)
const path = "assets/layers/questions/questions.json"
const sharedQuestionsRaw: LayerConfigJson = this.parseLayer(doesImageExist, prepareLayer, path).raw
const sharedQuestions: LayerConfigJson = new AddContextToTranslations<LayerConfigJson>("").convertStrict(
sharedQuestionsRaw,
ConversionContext.construct(["layers:questions"], [])
)
const sharedQuestionsRaw: LayerConfigJson = this.parseLayer(
doesImageExist,
prepareLayer,
path
).raw
const sharedQuestions: LayerConfigJson = new AddContextToTranslations<LayerConfigJson>(
""
).convertStrict(sharedQuestionsRaw, ConversionContext.construct(["layers:questions"], []))
const dict = new Map<string, QuestionableTagRenderingConfigJson>()
for (const tr of sharedQuestions.tagRenderings) {

View file

@ -567,7 +567,7 @@ function MergeTranslation(source: any, target: any, language: string, context: s
const sourceV = source[key]
const targetV = target[keyRemapping?.get(key) ?? key]
if(targetV === undefined){
if (targetV === undefined) {
throw `Merging translations failed; targetV is undefined for context ${context}; but we are trying to add ${sourceV} (${key}) to it`
}

View file

@ -36,6 +36,6 @@ export interface FeatureSourceForTile<T extends Feature = Feature> extends Featu
/**
* A feature source which is aware of the indexes it contains
*/
export interface IndexedFeatureSource extends FeatureSource {
export interface IndexedFeatureSource<T extends Feature> extends FeatureSource<T> {
readonly featuresById: Store<Map<string, Feature>>
}

View file

@ -209,6 +209,9 @@ export default class FavouritesFeatureSource extends StaticFeatureSource {
continue
}
const store = featureProperties.getStore(id)
if (store === undefined) {
continue
}
const origValue = store.data._favourite
if (detected.indexOf(id) >= 0) {
if (origValue !== "yes") {

View file

@ -1,17 +1,16 @@
import { Store, UIEventSource } from "../../UIEventSource"
import { FeatureSource, IndexedFeatureSource, UpdatableFeatureSource } from "../FeatureSource"
import { Feature } from "geojson"
import { OsmFeature } from "../../../Models/OsmFeature"
import { Lists } from "../../../Utils/Lists"
/**
* The featureSourceMerger receives complete geometries from various sources.
* If multiple sources contain the same object (as determined by 'id'), only one copy of them is retained
*/
export default class FeatureSourceMerger<Src extends FeatureSource = FeatureSource>
implements IndexedFeatureSource
export default class FeatureSourceMerger<T extends Feature, Src extends FeatureSource<T> = FeatureSource<T>>
implements IndexedFeatureSource<T>
{
public features: UIEventSource<Feature[]> = new UIEventSource([])
public features: UIEventSource<T[]> = new UIEventSource([])
public readonly featuresById: Store<Map<string, Feature>>
protected readonly _featuresById: UIEventSource<Map<string, Feature>>
protected readonly _sources: Src[]
@ -55,7 +54,7 @@ export default class FeatureSourceMerger<Src extends FeatureSource = FeatureSour
* Returns 'true' if this was a previously unseen item.
* If the item was already present, nothing will happen
*/
public addItem(f: OsmFeature): boolean {
public addItem(f: T): boolean {
const id = f.properties.id
const all = this._featuresById.data
@ -68,10 +67,10 @@ export default class FeatureSourceMerger<Src extends FeatureSource = FeatureSour
}
}
protected addData(sources: Feature[][]) {
protected addData(sources: T[][]) {
sources = Lists.noNull(sources)
let somethingChanged = false
const all: Map<string, Feature> = new Map()
const all: Map<string, T> = new Map()
const unseen = new Set<string>()
// We seed the dictionary with the previously loaded features
const oldValues = this.features.data ?? []
@ -118,10 +117,11 @@ export default class FeatureSourceMerger<Src extends FeatureSource = FeatureSour
}
export class UpdatableFeatureSourceMerger<
Src extends UpdatableFeatureSource = UpdatableFeatureSource
T extends Feature,
Src extends UpdatableFeatureSource<T> = UpdatableFeatureSource<T>
>
extends FeatureSourceMerger<Src>
implements IndexedFeatureSource, UpdatableFeatureSource
extends FeatureSourceMerger<T, Src>
implements IndexedFeatureSource<T>, UpdatableFeatureSource<T>
{
constructor(...sources: Src[]) {
super(...sources)

View file

@ -3,13 +3,15 @@ import { Utils } from "../../../Utils"
import { FeatureSource } from "../FeatureSource"
import { BBox } from "../../BBox"
import { GeoOperations } from "../../GeoOperations"
import { Feature } from "geojson"
import { Feature, Geometry } from "geojson"
import LayerConfig from "../../../Models/ThemeConfig/LayerConfig"
import { Tiles } from "../../../Models/TileRange"
export default class GeoJsonSource implements FeatureSource {
private readonly _features: UIEventSource<Feature[]> = new UIEventSource<Feature[]>(undefined)
public readonly features: Store<Feature[]> = this._features
export default class GeoJsonSource<T extends Feature<Geometry, {
id: string
} & Record<string, any>>> implements FeatureSource<T> {
private readonly _features: UIEventSource<T[]> = new UIEventSource(undefined)
public readonly features: Store<T[]> = this._features
private readonly seenids: Set<string>
private readonly idKey?: string
private readonly url: string
@ -96,7 +98,7 @@ export default class GeoJsonSource implements FeatureSource {
const url = this.url
try {
const cacheAge = (options?.maxCacheAgeSec ?? 300) * 1000
let json = <{ features: Feature[] }>await Utils.downloadJsonCached(url, cacheAge)
let json = <{ features: T[] }>await Utils.downloadJsonCached(url, cacheAge)
if (json.features === undefined || json.features === null) {
json.features = []
@ -106,7 +108,7 @@ export default class GeoJsonSource implements FeatureSource {
json = GeoOperations.GeoJsonToWGS84(json)
}
const newFeatures: Feature[] = []
const newFeatures: T[] = []
let i = 0
for (const feature of json.features) {
if (feature.geometry.type === "Point") {

View file

@ -5,8 +5,8 @@ import { FeatureSourceForTile, UpdatableFeatureSource } from "../FeatureSource"
import { MvtToGeojson } from "mvt-to-geojson"
import { OsmTags } from "../../../Models/OsmFeature"
export default class MvtSource implements FeatureSourceForTile, UpdatableFeatureSource {
public readonly features: Store<GeojsonFeature<Geometry, OsmTags>[]>
export default class MvtSource<T extends Feature<Geometry, OsmTags>> implements FeatureSourceForTile<T>, UpdatableFeatureSource<T> {
public readonly features: Store<T[]>
public readonly x: number
public readonly y: number
public readonly z: number

View file

@ -4,16 +4,16 @@ import { ImmutableStore, Store, UIEventSource } from "../../UIEventSource"
import { Tiles } from "../../../Models/TileRange"
import { BBox } from "../../BBox"
import { TagsFilter } from "../../Tags/TagsFilter"
import { Feature } from "geojson"
import FeatureSourceMerger from "../Sources/FeatureSourceMerger"
import OsmObjectDownloader from "../../Osm/OsmObjectDownloader"
import FullNodeDatabaseSource from "../TiledFeatureSource/FullNodeDatabaseSource"
import { Lists } from "../../../Utils/Lists"
import { OsmFeature } from "../../../Models/OsmFeature"
/**
* If a tile is needed (requested via the UIEventSource in the constructor), will download the appropriate tile and pass it via 'handleTile'
*/
export default class OsmFeatureSource extends FeatureSourceMerger {
export default class OsmFeatureSource<T extends OsmFeature> extends FeatureSourceMerger<T> {
private readonly _bounds: Store<BBox>
private readonly isActive: Store<boolean>
private readonly _backend: string
@ -33,7 +33,7 @@ export default class OsmFeatureSource extends FeatureSourceMerger {
public readonly isRunning: UIEventSource<boolean> = new UIEventSource<boolean>(false)
private readonly _downloadedTiles: Set<number> = new Set<number>()
private readonly _downloadedData: Feature[][] = []
private readonly _downloadedData: T[][] = []
private readonly _patchRelations: boolean
/**
* Downloads data directly from the OSM-api within the given bounds.
@ -90,7 +90,7 @@ export default class OsmFeatureSource extends FeatureSourceMerger {
}
}
private registerFeatures(features: Feature[]): void {
private registerFeatures(features: T[]): void {
this._downloadedData.push(features)
super.addData(this._downloadedData)
}
@ -160,7 +160,7 @@ export default class OsmFeatureSource extends FeatureSourceMerger {
const osmJson = await Utils.downloadJsonCached(url, 2000)
try {
this.options?.fullNodeDatabase?.handleOsmJson(osmJson, z, x, y)
let features = <Feature<any, { id: string }>[]>OsmToGeoJson(osmJson, {
let features = <T[]>OsmToGeoJson(osmJson, {
flatProperties: true,
}).features

View file

@ -1,4 +1,3 @@
import { Feature, FeatureCollection, Geometry } from "geojson"
import { UpdatableFeatureSource } from "../FeatureSource"
import { ImmutableStore, Store, UIEventSource } from "../../UIEventSource"
import LayerConfig from "../../../Models/ThemeConfig/LayerConfig"
@ -7,7 +6,7 @@ import { Overpass } from "../../Osm/Overpass"
import { Utils } from "../../../Utils"
import { TagsFilter } from "../../Tags/TagsFilter"
import { BBox } from "../../BBox"
import { OsmTags } from "../../../Models/OsmFeature"
import { OsmFeature } from "../../../Models/OsmFeature"
import { Lists } from "../../../Utils/Lists"
;("use strict")
@ -16,11 +15,11 @@ import { Lists } from "../../../Utils/Lists"
* A wrapper around the 'Overpass'-object.
* It has more logic and will automatically fetch the data for the right bbox and the active layers
*/
export default class OverpassFeatureSource implements UpdatableFeatureSource {
export default class OverpassFeatureSource<T extends OsmFeature = OsmFeature> implements UpdatableFeatureSource<T> {
/**
* The last loaded features, as geojson
*/
public readonly features: UIEventSource<Feature[]> = new UIEventSource(undefined)
public readonly features: UIEventSource<T[]> = new UIEventSource(undefined)
public readonly runningQuery: UIEventSource<boolean> = new UIEventSource<boolean>(false)
public readonly timeout: UIEventSource<number> = new UIEventSource<number>(0)
@ -111,7 +110,7 @@ export default class OverpassFeatureSource implements UpdatableFeatureSource {
if (!navigator.onLine) {
return
}
let data: FeatureCollection<Geometry, OsmTags> = undefined
let data: { features: T[] } = undefined
let lastUsed = 0
const start = new Date()
const layersToDownload = this._layersToDownload.data
@ -143,7 +142,7 @@ export default class OverpassFeatureSource implements UpdatableFeatureSource {
return undefined
}
this.runningQuery.setData(true)
data = (await overpass.queryGeoJson(bounds))[0]
data = (await overpass.queryGeoJson<T>(bounds))[0]
} catch (e) {
this.retries.data++
this.retries.ping()

View file

@ -26,9 +26,6 @@ export default class StaticFeatureSource<T extends Feature = Feature> implements
}
}
public static fromGeojson<T extends Feature>(geojson: T[]): StaticFeatureSource<T> {
return new StaticFeatureSource(geojson)
}
}
export class WritableStaticFeatureSource<T extends Feature = Feature>

View file

@ -12,7 +12,7 @@ import LocalStorageFeatureSource from "../TiledFeatureSource/LocalStorageFeature
import FullNodeDatabaseSource from "../TiledFeatureSource/FullNodeDatabaseSource"
import DynamicMvtileSource from "../TiledFeatureSource/DynamicMvtTileSource"
import FeatureSourceMerger from "./FeatureSourceMerger"
import { Feature } from "geojson"
import { Feature, Geometry } from "geojson"
import { OsmFeature } from "../../../Models/OsmFeature"
/**
@ -20,7 +20,7 @@ import { OsmFeature } from "../../../Models/OsmFeature"
*
* Note that special layers (with `source=null` will be ignored)
*/
export default class ThemeSource implements IndexedFeatureSource {
export default class ThemeSource<T extends Feature<Geometry, Record<string, any> & {id: string}>> implements IndexedFeatureSource<T> {
/**
* Indicates if a data source is loading something
*/
@ -28,12 +28,12 @@ export default class ThemeSource implements IndexedFeatureSource {
public static readonly fromCacheZoomLevel = 15
public features: UIEventSource<Feature[]> = new UIEventSource([])
public readonly featuresById: Store<Map<string, Feature>>
private readonly core: Store<ThemeSourceCore>
public features: UIEventSource<T[]> = new UIEventSource([])
public readonly featuresById: Store<Map<string, T>>
private readonly core: Store<ThemeSourceCore<T>>
private readonly addedSources: FeatureSource[] = []
private readonly addedItems: OsmFeature[] = []
private readonly addedSources: FeatureSource<T>[] = []
private readonly addedItems: T[] = []
constructor(
layers: LayerConfig[],
@ -47,11 +47,11 @@ export default class ThemeSource implements IndexedFeatureSource {
const isLoading = new UIEventSource(true)
this.isLoading = isLoading
const features = (this.features = new UIEventSource<Feature[]>([]))
const features = (this.features = new UIEventSource<T[]>([]))
const featuresById = (this.featuresById = new UIEventSource(new Map()))
this.core = mvtAvailableLayers.mapD((mvtAvailableLayers) => {
this.core?.data?.destruct()
const core = new ThemeSourceCore(
const core = new ThemeSourceCore<T>(
layers,
featureSwitches,
mapProperties,
@ -73,12 +73,12 @@ export default class ThemeSource implements IndexedFeatureSource {
return this.core.data.downloadAll()
}
public addSource(source: FeatureSource) {
public addSource(source: FeatureSource<T>) {
this.core.data?.addSource(source)
this.addedSources.push(source)
}
public addItem(obj: OsmFeature) {
public addItem(obj: T) {
this.core.data?.addItem(obj)
this.addedItems.push(obj)
}
@ -89,7 +89,7 @@ export default class ThemeSource implements IndexedFeatureSource {
*
* Note that special layers (with `source=null` will be ignored)
*/
class ThemeSourceCore extends FeatureSourceMerger {
class ThemeSourceCore<T extends OsmFeature> extends FeatureSourceMerger<T> {
/**
* This source is _only_ triggered when the data is downloaded for CSV export
* @private
@ -113,10 +113,10 @@ class ThemeSourceCore extends FeatureSourceMerger {
const geojsonlayers = layers.filter((layer) => layer.source.geojsonSource !== undefined)
const osmLayers = layers.filter((layer) => layer.source.geojsonSource === undefined)
const fromCache = new Map<string, LocalStorageFeatureSource>()
const fromCache = new Map<string, LocalStorageFeatureSource<T>>()
if (featureSwitches.featureSwitchCache.data) {
for (const layer of osmLayers) {
const src = new LocalStorageFeatureSource(
const src = new LocalStorageFeatureSource<T>(
backend,
layer,
ThemeSource.fromCacheZoomLevel,
@ -129,13 +129,13 @@ class ThemeSourceCore extends FeatureSourceMerger {
fromCache.set(layer.id, src)
}
}
const mvtSources: UpdatableFeatureSource[] = osmLayers
const mvtSources: UpdatableFeatureSource<T>[] = osmLayers
.filter((f) => mvtAvailableLayers.has(f.id))
.map((l) => ThemeSourceCore.setupMvtSource(l, mapProperties, isDisplayed(l.id)))
const nonMvtSources: FeatureSource[] = []
.map((l) => ThemeSourceCore.setupMvtSource<T>(l, mapProperties, isDisplayed(l.id)))
const nonMvtSources: FeatureSource<T>[] = []
const nonMvtLayers: LayerConfig[] = osmLayers.filter((l) => !mvtAvailableLayers.has(l.id))
const osmApiSource = ThemeSourceCore.setupOsmApiSource(
const osmApiSource = ThemeSourceCore.setupOsmApiSource<T>(
osmLayers,
bounds,
zoom,
@ -145,14 +145,14 @@ class ThemeSourceCore extends FeatureSourceMerger {
)
nonMvtSources.push(osmApiSource)
let overpassSource: OverpassFeatureSource = undefined
let overpassSource: OverpassFeatureSource<T> = undefined
if (nonMvtLayers.length > 0) {
console.log(
"Layers ",
nonMvtLayers.map((l) => l.id),
" cannot be fetched from the cache server, defaulting to overpass/OSM-api"
)
overpassSource = ThemeSourceCore.setupOverpass(osmLayers, bounds, zoom, featureSwitches)
overpassSource = ThemeSourceCore.setupOverpass<T>(osmLayers, bounds, zoom, featureSwitches)
nonMvtSources.push(overpassSource)
}
@ -164,11 +164,11 @@ class ThemeSourceCore extends FeatureSourceMerger {
overpassSource?.runningQuery?.addCallbackAndRun(() => setIsLoading())
osmApiSource?.isRunning?.addCallbackAndRun(() => setIsLoading())
const geojsonSources: UpdatableFeatureSource[] = geojsonlayers.map((l) =>
const geojsonSources: UpdatableFeatureSource<T>[] = geojsonlayers.map((l) =>
ThemeSourceCore.setupGeojsonSource(l, mapProperties, isDisplayed(l.id))
)
const downloadAll = new OverpassFeatureSource(
const downloadAll = new OverpassFeatureSource<T>(
{
layers: layers.filter((l) => l.isNormal()),
bounds: mapProperties.bounds,
@ -196,19 +196,19 @@ class ThemeSourceCore extends FeatureSourceMerger {
this._mapBounds = mapProperties.bounds
}
private static setupMvtSource(
private static setupMvtSource<T extends OsmFeature>(
layer: LayerConfig,
mapProperties: { zoom: Store<number>; bounds: Store<BBox> },
isActive?: Store<boolean>
): UpdatableFeatureSource {
return new DynamicMvtileSource(layer, mapProperties, { isActive })
): UpdatableFeatureSource<T> {
return new DynamicMvtileSource<T>(layer, mapProperties, { isActive })
}
private static setupGeojsonSource(
private static setupGeojsonSource<T extends OsmFeature>(
layer: LayerConfig,
mapProperties: { zoom: Store<number>; bounds: Store<BBox> },
isActiveByFilter?: Store<boolean>
): UpdatableFeatureSource {
): UpdatableFeatureSource<T> {
const source = layer.source
const isActive = mapProperties.zoom.map(
(z) => (isActiveByFilter?.data ?? true) && z >= layer.minzoom,
@ -216,20 +216,20 @@ class ThemeSourceCore extends FeatureSourceMerger {
)
if (source.geojsonZoomLevel === undefined) {
// This is a 'load everything at once' geojson layer
return new GeoJsonSource(layer, { isActive })
return new GeoJsonSource<T>(layer, { isActive })
} else {
return new DynamicGeoJsonTileSource(layer, mapProperties, { isActive })
return new DynamicGeoJsonTileSource<T>(layer, mapProperties, { isActive })
}
}
private static setupOsmApiSource(
private static setupOsmApiSource<T extends OsmFeature>(
osmLayers: LayerConfig[],
bounds: Store<BBox>,
zoom: Store<number>,
backend: string,
featureSwitches: FeatureSwitchState,
fullNodeDatabase: FullNodeDatabaseSource
): OsmFeatureSource | undefined {
): OsmFeatureSource<T> | undefined {
if (osmLayers.length == 0) {
return undefined
}
@ -248,7 +248,7 @@ class ThemeSourceCore extends FeatureSourceMerger {
if (typeof allowedFeatures === "boolean") {
throw "Invalid filter to init OsmFeatureSource: it optimizes away to " + allowedFeatures
}
return new OsmFeatureSource({
return new OsmFeatureSource<T>({
allowedFeatures,
bounds,
backend,
@ -258,12 +258,12 @@ class ThemeSourceCore extends FeatureSourceMerger {
})
}
private static setupOverpass(
private static setupOverpass<T extends OsmFeature>(
osmLayers: LayerConfig[],
bounds: Store<BBox>,
zoom: Store<number>,
featureSwitches: FeatureSwitchState
): OverpassFeatureSource | undefined {
): OverpassFeatureSource<T> | undefined {
if (osmLayers.length == 0) {
return undefined
}

View file

@ -4,8 +4,9 @@ import { Utils } from "../../../Utils"
import GeoJsonSource from "../Sources/GeoJsonSource"
import { BBox } from "../../BBox"
import LayerConfig from "../../../Models/ThemeConfig/LayerConfig"
import { Feature, Geometry } from "geojson"
export default class DynamicGeoJsonTileSource extends UpdatableDynamicTileSource {
export default class DynamicGeoJsonTileSource<T extends Feature<Geometry, Record<string, any> & {id: string} > > extends UpdatableDynamicTileSource<T> {
private static whitelistCache = new Map<string, Map<number, Set<number>>>()
constructor(

View file

@ -9,8 +9,10 @@ import Constants from "../../../Models/Constants"
import { UpdatableFeatureSourceMerger } from "../Sources/FeatureSourceMerger"
import { LineSourceMerger } from "./LineSourceMerger"
import { PolygonSourceMerger } from "./PolygonSourceMerger"
import { OsmFeature, OsmTags } from "../../../Models/OsmFeature"
import { Feature, Point } from "geojson"
class PolygonMvtSource extends PolygonSourceMerger {
class PolygonMvtSource<P extends Record<string, any> & { id: string }> extends PolygonSourceMerger<P> {
constructor(
layer: LayerConfig,
mapProperties: {
@ -44,7 +46,7 @@ class PolygonMvtSource extends PolygonSourceMerger {
}
}
class LineMvtSource extends LineSourceMerger {
class LineMvtSource extends LineSourceMerger<OsmTags> {
constructor(
layer: LayerConfig,
mapProperties: {
@ -78,7 +80,7 @@ class LineMvtSource extends LineSourceMerger {
}
}
class PointMvtSource extends UpdatableDynamicTileSource {
class PointMvtSource<T extends Feature<Point, OsmTags>> extends UpdatableDynamicTileSource<T> {
constructor(
layer: LayerConfig,
mapProperties: {
@ -102,7 +104,7 @@ class PointMvtSource extends UpdatableDynamicTileSource {
layer: layer.id,
type: "pois",
})
return new MvtSource(url, x, y, z)
return new MvtSource<T>(url, x, y, z)
},
mapProperties,
{
@ -112,7 +114,7 @@ class PointMvtSource extends UpdatableDynamicTileSource {
}
}
export default class DynamicMvtileSource extends UpdatableFeatureSourceMerger {
export default class DynamicMvtileSource<T extends OsmFeature> extends UpdatableFeatureSourceMerger<T> {
constructor(
layer: LayerConfig,
mapProperties: {
@ -124,9 +126,9 @@ export default class DynamicMvtileSource extends UpdatableFeatureSourceMerger {
}
) {
super(
new PointMvtSource(layer, mapProperties, options),
new LineMvtSource(layer, mapProperties, options),
new PolygonMvtSource(layer, mapProperties, options)
<any>new PointMvtSource(layer, mapProperties, options),
<any>new LineMvtSource(layer, mapProperties, options),
<any>new PolygonMvtSource(layer, mapProperties, options),
)
}
}

View file

@ -3,14 +3,15 @@ import { Tiles } from "../../../Models/TileRange"
import { BBox } from "../../BBox"
import { FeatureSource, UpdatableFeatureSource } from "../FeatureSource"
import FeatureSourceMerger from "../Sources/FeatureSourceMerger"
import { Feature, Geometry } from "geojson"
/***
* A tiled source which dynamically loads the required tiles at a fixed zoom level.
* A single featureSource will be initialized for every tile in view; which will later be merged into this featureSource
*/
export default class DynamicTileSource<
Src extends FeatureSource = FeatureSource
> extends FeatureSourceMerger<Src> {
export default class DynamicTileSource<T extends Feature,
Src extends FeatureSource<T> = FeatureSource<T>
> extends FeatureSourceMerger<T, Src> {
private readonly loadedTiles = new Set<number>()
private readonly zDiff: number
private readonly zoomlevel: Store<number>
@ -97,9 +98,9 @@ export default class DynamicTileSource<
}
}
export class UpdatableDynamicTileSource<Src extends UpdatableFeatureSource = UpdatableFeatureSource>
extends DynamicTileSource<Src>
implements UpdatableFeatureSource
export class UpdatableDynamicTileSource<T extends Feature<Geometry, Record<string, any> & {id: string}>, Src extends UpdatableFeatureSource<T> = UpdatableFeatureSource<T>>
extends DynamicTileSource<T, Src>
implements UpdatableFeatureSource<T>
{
constructor(
zoomlevel: Store<number>,

View file

@ -1,8 +1,7 @@
import { FeatureSourceForTile, UpdatableFeatureSource } from "../FeatureSource"
import { Store } from "../../UIEventSource"
import { BBox } from "../../BBox"
import { Utils } from "../../../Utils"
import { Feature, MultiLineString, Position } from "geojson"
import { Feature, LineString, MultiLineString, Position } from "geojson"
import { GeoOperations } from "../../GeoOperations"
import { UpdatableDynamicTileSource } from "./DynamicTileSource"
import { Lists } from "../../../Utils/Lists"
@ -11,15 +10,16 @@ import { Lists } from "../../../Utils/Lists"
* The PolygonSourceMerger receives various small pieces of bigger polygons and stitches them together.
* This is used to reconstruct polygons of vector tiles
*/
export class LineSourceMerger extends UpdatableDynamicTileSource<
FeatureSourceForTile & UpdatableFeatureSource
export class LineSourceMerger<P extends Record<string, any> & { id: string }> extends UpdatableDynamicTileSource<
Feature<LineString | MultiLineString, P>, FeatureSourceForTile<Feature<LineString | MultiLineString, P>> & UpdatableFeatureSource<Feature<LineString | MultiLineString, P>>
> {
private readonly _zoomlevel: Store<number>
constructor(
zoomlevel: Store<number>,
minzoom: number,
constructSource: (tileIndex: number) => FeatureSourceForTile & UpdatableFeatureSource,
constructSource: (tileIndex: number) => FeatureSourceForTile<
Feature<LineString | MultiLineString, P>> & UpdatableFeatureSource<Feature<LineString | MultiLineString, P>>,
mapProperties: {
bounds: Store<BBox>
zoom: Store<number>
@ -32,9 +32,9 @@ export class LineSourceMerger extends UpdatableDynamicTileSource<
this._zoomlevel = zoomlevel
}
protected addDataFromSources(sources: FeatureSourceForTile[]) {
protected addDataFromSources(sources: FeatureSourceForTile<Feature<LineString | MultiLineString, P>>[]) {
sources = Lists.noNull(sources)
const all: Map<string, Feature<MultiLineString>> = new Map()
const all: Map<string, Feature<MultiLineString | LineString, P>> = new Map()
const currentZoom = this._zoomlevel?.data ?? 0
for (const source of sources) {
if (source.z != currentZoom) {
@ -48,10 +48,10 @@ export class LineSourceMerger extends UpdatableDynamicTileSource<
} else if (f.geometry.type === "MultiLineString") {
coordinates.push(...f.geometry.coordinates)
} else {
console.error("Invalid geometry type:", f.geometry.type)
console.error("Invalid geometry type:", f.geometry["type"])
continue
}
const oldV = all.get(id)
const oldV: Feature<MultiLineString | LineString, P> = all.get(id)
if (!oldV) {
all.set(id, {
type: "Feature",
@ -63,7 +63,13 @@ export class LineSourceMerger extends UpdatableDynamicTileSource<
})
continue
}
oldV.geometry.coordinates.push(...coordinates)
for (const coordinate of coordinates) {
if (oldV.geometry.type === "LineString") {
oldV.geometry.coordinates.push(...coordinate)
} else {
oldV.geometry.coordinates.push(coordinate)
}
}
}
}

View file

@ -2,11 +2,11 @@ import DynamicTileSource from "./DynamicTileSource"
import { ImmutableStore, Store } from "../../UIEventSource"
import { BBox } from "../../BBox"
import TileLocalStorage from "../Actors/TileLocalStorage"
import { Feature } from "geojson"
import { Feature, Geometry } from "geojson"
import StaticFeatureSource from "../Sources/StaticFeatureSource"
import LayerConfig from "../../../Models/ThemeConfig/LayerConfig"
export default class LocalStorageFeatureSource extends DynamicTileSource {
export default class LocalStorageFeatureSource<T extends Feature<Geometry, { [name: string]: any }>> extends DynamicTileSource<T> {
constructor(
backend: string,
layer: LayerConfig,
@ -30,8 +30,8 @@ export default class LocalStorageFeatureSource extends DynamicTileSource {
new ImmutableStore(zoomlevel),
layer.minzoom,
(tileIndex) =>
new StaticFeatureSource(
storage.getTileSource(tileIndex).mapD((features) => {
new StaticFeatureSource<T>(
<Store<T[]>> storage.getTileSource(tileIndex).mapD((features) => {
if (features.length === undefined) {
console.trace("These are not features:", features)
storage.invalidate(tileIndex)

View file

@ -1,7 +1,7 @@
import { FeatureSourceForTile, UpdatableFeatureSource } from "../FeatureSource"
import { Store } from "../../UIEventSource"
import { BBox } from "../../BBox"
import { Feature } from "geojson"
import { Feature, Polygon } from "geojson"
import { GeoOperations } from "../../GeoOperations"
import { UpdatableDynamicTileSource } from "./DynamicTileSource"
import { Lists } from "../../../Utils/Lists"
@ -10,13 +10,14 @@ import { Lists } from "../../../Utils/Lists"
* The PolygonSourceMerger receives various small pieces of bigger polygons and stitches them together.
* This is used to reconstruct polygons of vector tiles
*/
export class PolygonSourceMerger extends UpdatableDynamicTileSource<
FeatureSourceForTile & UpdatableFeatureSource
export class PolygonSourceMerger<P extends Record<string, any> & { id: string },
F extends Feature<Polygon, P> = Feature<Polygon, P>> extends UpdatableDynamicTileSource<
F, FeatureSourceForTile<F> & UpdatableFeatureSource<F>
> {
constructor(
zoomlevel: Store<number>,
minzoom: number,
constructSource: (tileIndex: number) => FeatureSourceForTile & UpdatableFeatureSource,
constructSource: (tileIndex: number) => FeatureSourceForTile<F> & UpdatableFeatureSource<F>,
mapProperties: {
bounds: Store<BBox>
zoom: Store<number>
@ -28,9 +29,9 @@ export class PolygonSourceMerger extends UpdatableDynamicTileSource<
super(zoomlevel, minzoom, constructSource, mapProperties, options)
}
protected addDataFromSources(sources: FeatureSourceForTile[]) {
protected addDataFromSources(sources: FeatureSourceForTile<F>[]) {
sources = Lists.noNull(sources)
const all: Map<string, Feature> = new Map()
const all: Map<string, F> = new Map()
const zooms: Map<string, number> = new Map()
for (const source of sources) {
@ -60,7 +61,7 @@ export class PolygonSourceMerger extends UpdatableDynamicTileSource<
zooms.set(id, z)
continue
}
const merged = GeoOperations.union(f, oldV)
const merged = <F> GeoOperations.union(f, oldV)
merged.properties = oldV.properties
all.set(id, merged)
zooms.set(id, z)

View file

@ -15,7 +15,6 @@ import {
import { Tiles } from "../Models/TileRange"
import { Utils } from "../Utils"
import { Lists } from "../Utils/Lists"
;("use strict")
export class GeoOperations {
@ -54,11 +53,11 @@ export class GeoOperations {
/**
* Create a union between two features
*/
public static union(
public static union<P >(
f0: Feature<Polygon | MultiPolygon>,
f1: Feature<Polygon | MultiPolygon>
): Feature<Polygon | MultiPolygon> | null {
return turf.union(turf.featureCollection([f0, f1]))
): Feature<Polygon | MultiPolygon, P> | null {
return turf.union<P>(turf.featureCollection([f0, f1]))
}
public static intersect(

View file

@ -11,6 +11,9 @@ import { Feature, Point } from "geojson"
import { AddImageOptions } from "panoramax-js/dist/Panoramax"
import { ServerSourceInfo } from "../../Models/SourceOverview"
import { ComponentType } from "svelte/types/runtime/internal/dev"
import { Strings } from "../../Utils/Strings"
import { Utils } from "../../Utils"
import { Lists } from "../../Utils/Lists"
export default class PanoramaxImageProvider extends ImageProvider {
public static readonly singleton: PanoramaxImageProvider = new PanoramaxImageProvider()
@ -194,9 +197,13 @@ export default class PanoramaxImageProvider extends ImageProvider {
public async DownloadAttribution(providedImage: { id: string }): Promise<LicenseInfo> {
const meta = await this.getInfoFor(providedImage.id)
const artists = Lists.noEmpty(meta.data.providers.map(p => p.name))
// We take the last provider, as that one probably contain the username of the uploader
const artist = artists.at(-1)
return {
artist: meta.data.providers.at(-1).name, // We take the last provider, as that one probably contain the username of the uploader
artist,
date: new Date(meta.data.properties["datetime"]),
licenseShortName: meta.data.properties["geovisio:license"],
}

View file

@ -12,6 +12,7 @@ import CreateNewWayAction from "./CreateNewWayAction"
import ThemeConfig from "../../../Models/ThemeConfig/ThemeConfig"
import FullNodeDatabaseSource from "../../FeatureSource/TiledFeatureSource/FullNodeDatabaseSource"
import { Position } from "geojson"
import type { OsmFeature } from "../../../Models/OsmFeature"
export interface MergePointConfig {
withinRangeOfM: number
@ -71,7 +72,7 @@ export default class CreateWayWithPointReuseAction
private readonly _state: {
theme: ThemeConfig
changes: Changes
indexedFeatures: IndexedFeatureSource
indexedFeatures: IndexedFeatureSource<OsmFeature>
fullNodeDatabase?: FullNodeDatabaseSource
}
private readonly _config: MergePointConfig[]
@ -82,7 +83,7 @@ export default class CreateWayWithPointReuseAction
state: {
theme: ThemeConfig
changes: Changes
indexedFeatures: IndexedFeatureSource
indexedFeatures: IndexedFeatureSource<OsmFeature>
fullNodeDatabase?: FullNodeDatabaseSource
},
config: MergePointConfig[]
@ -199,7 +200,7 @@ export default class CreateWayWithPointReuseAction
}
features.push(newGeometry)
}
return StaticFeatureSource.fromGeojson(features)
return new StaticFeatureSource(features)
}
public async CreateChangeDescriptions(changes: Changes): Promise<ChangeDescription[]> {

View file

@ -14,6 +14,7 @@ import { OsmConnection } from "../OsmConnection"
import { Feature, Geometry, LineString, Point } from "geojson"
import FullNodeDatabaseSource from "../../FeatureSource/TiledFeatureSource/FullNodeDatabaseSource"
import { Lists } from "../../../Utils/Lists"
import { OsmFeature } from "../../../Models/OsmFeature"
export default class ReplaceGeometryAction extends OsmChangeAction implements PreviewableAction {
/**
@ -90,13 +91,13 @@ export default class ReplaceGeometryAction extends OsmChangeAction implements Pr
public async getPreview(): Promise<FeatureSource> {
const { closestIds, allNodesById, detachedNodes, reprojectedNodes } =
await this.GetClosestIds()
const preview: Feature<Geometry>[] = closestIds.map((newId, i) => {
const preview: Feature<Geometry, {id: string}>[] = closestIds.map((newId, i) => {
if (this.identicalTo[i] !== undefined) {
return undefined
}
if (newId === undefined) {
return {
return <OsmFeature> {
type: "Feature",
properties: {
newpoint: "yes",
@ -127,7 +128,7 @@ export default class ReplaceGeometryAction extends OsmChangeAction implements Pr
reprojectedNodes.forEach(({ newLat, newLon, nodeId }) => {
const origNode = allNodesById.get(nodeId)
const feature: Feature<LineString> = {
const feature: Feature<LineString, {id: string} & Record<string, any>> = {
type: "Feature",
properties: {
move: "yes",
@ -149,7 +150,7 @@ export default class ReplaceGeometryAction extends OsmChangeAction implements Pr
detachedNodes.forEach(({ reason }, id) => {
const origNode = allNodesById.get(id)
const feature: Feature<Point> = {
const feature: OsmFeature & Feature<Point> = {
type: "Feature",
properties: {
detach: "yes",
@ -165,7 +166,7 @@ export default class ReplaceGeometryAction extends OsmChangeAction implements Pr
preview.push(feature)
})
return StaticFeatureSource.fromGeojson(Lists.noNull(preview))
return new StaticFeatureSource(Lists.noNull(preview))
}
/**

View file

@ -2,7 +2,7 @@ import { Utils } from "../../Utils"
import polygon_features from "../../assets/polygon-features.json"
import { OsmFeature, OsmId, OsmTags, WayId } from "../../Models/OsmFeature"
import OsmToGeoJson from "osmtogeojson"
import { Feature, LineString, Polygon } from "geojson"
import { Feature, LineString, Point, Polygon } from "geojson"
import Constants from "../../Models/Constants"
export abstract class OsmObject {
@ -131,7 +131,7 @@ export abstract class OsmObject {
*/
public abstract centerpoint(): [number, number]
public abstract asGeoJson(): any
public abstract asGeoJson(): OsmFeature
abstract SaveExtraData(element: any, allElements: OsmObject[] | any)
@ -228,7 +228,7 @@ ${tags} </node>
return [this.lat, this.lon]
}
asGeoJson(): OsmFeature {
asGeoJson(): Feature<Point, OsmTags> {
return {
type: "Feature",
properties: this.tags,
@ -305,7 +305,7 @@ ${nds}${tags} </way>
this.nodes = element.nodes
}
public asGeoJson(): Feature<Polygon | LineString> & { properties: { id: WayId } } {
public asGeoJson(): Feature<Polygon | LineString, OsmTags> & { properties: { id: WayId } } {
const coordinates: [number, number][] | [number, number][][] = this.coordinates.map(
([lat, lon]) => [lon, lat]
)
@ -384,7 +384,7 @@ ${members}${tags} </relation>
this.geojson = geojson
}
asGeoJson(): any {
asGeoJson(): OsmFeature {
if (this.geojson !== undefined) {
return this.geojson
}

View file

@ -3,9 +3,9 @@ import { Utils } from "../../Utils"
import { ImmutableStore, Store } from "../UIEventSource"
import { BBox } from "../BBox"
import osmtogeojson from "osmtogeojson"
import { FeatureCollection, Geometry } from "geojson"
import { OsmTags } from "../../Models/OsmFeature"
;("use strict")
import { Feature } from "geojson"
("use strict")
/**
* Interfaces overpass to get all the latest data
*/
@ -37,7 +37,7 @@ export class Overpass {
this._includeMeta = includeMeta
}
public async queryGeoJson(bounds: BBox): Promise<[FeatureCollection<Geometry, OsmTags>, Date]> {
public async queryGeoJson<T extends Feature>(bounds: BBox): Promise<[{features: T[]}, Date]> {
const bbox =
"[bbox:" +
bounds.getSouth() +
@ -49,16 +49,16 @@ export class Overpass {
bounds.getEast() +
"]"
const query = this.buildScript(bbox)
return await this.ExecuteQuery(query)
return await this.ExecuteQuery<T>(query)
}
public buildUrl(query: string) {
return `${this._interpreterUrl}?data=${encodeURIComponent(query)}`
}
private async ExecuteQuery(
private async ExecuteQuery<T extends Feature>(
query: string
): Promise<[FeatureCollection<Geometry, OsmTags>, Date]> {
): Promise<[{features: T[]}, Date]> {
const json = await Utils.downloadJson<{
elements: []
remark
@ -73,7 +73,7 @@ export class Overpass {
console.warn("No features for", this.buildUrl(query))
}
const geojson = <FeatureCollection<Geometry, OsmTags>>osmtogeojson(json)
const geojson = <{features: T[]}> <any> osmtogeojson(json)
const osmTime = new Date(json.osm3s.timestamp_osm_base)
return [geojson, osmTime]
}

View file

@ -678,7 +678,7 @@ export default class UserRelatedState {
amendedPrefs.ping()
})
if(!Utils.runningFromConsole){
if (!Utils.runningFromConsole) {
amendedPrefs.data["___device_pixel_ratio"] = "" + window.devicePixelRatio
}

View file

@ -1,14 +1,42 @@
import { Utils } from "../../Utils"
/** This code is autogenerated - do not edit. Edit ./assets/layers/usersettings/usersettings.json instead */
export class ThemeMetaTagging {
public static readonly themeName = "usersettings"
public static readonly themeName = "usersettings"
public metaTaggging_for_usersettings(feat: {properties: Record<string, string>}) {
Utils.AddLazyProperty(feat.properties, '_mastodon_candidate_md', () => feat.properties._description.match(/\[[^\]]*\]\((.*(mastodon|en.osm.town).*)\).*/)?.at(1) )
Utils.AddLazyProperty(feat.properties, '_d', () => feat.properties._description?.replace(/&lt;/g,'<')?.replace(/&gt;/g,'>') ?? '' )
Utils.AddLazyProperty(feat.properties, '_mastodon_candidate_a', () => (feat => {const e = document.createElement('div');e.innerHTML = feat.properties._d;return Array.from(e.getElementsByTagName("a")).filter(a => a.href.match(/mastodon|en.osm.town/) !== null)[0]?.href }) (feat) )
Utils.AddLazyProperty(feat.properties, '_mastodon_link', () => (feat => {const e = document.createElement('div');e.innerHTML = feat.properties._d;return Array.from(e.getElementsByTagName("a")).filter(a => a.getAttribute("rel")?.indexOf('me') >= 0)[0]?.href})(feat) )
Utils.AddLazyProperty(feat.properties, '_mastodon_candidate', () => feat.properties._mastodon_candidate_md ?? feat.properties._mastodon_candidate_a )
feat.properties['__current_backgroun'] = 'initial_value'
}
public metaTaggging_for_usersettings(feat: { properties: Record<string, string> }) {
Utils.AddLazyProperty(feat.properties, "_mastodon_candidate_md", () =>
feat.properties._description
.match(/\[[^\]]*\]\((.*(mastodon|en.osm.town).*)\).*/)
?.at(1)
)
Utils.AddLazyProperty(
feat.properties,
"_d",
() => feat.properties._description?.replace(/&lt;/g, "<")?.replace(/&gt;/g, ">") ?? ""
)
Utils.AddLazyProperty(feat.properties, "_mastodon_candidate_a", () =>
((feat) => {
const e = document.createElement("div")
e.innerHTML = feat.properties._d
return Array.from(e.getElementsByTagName("a")).filter(
(a) => a.href.match(/mastodon|en.osm.town/) !== null
)[0]?.href
})(feat)
)
Utils.AddLazyProperty(feat.properties, "_mastodon_link", () =>
((feat) => {
const e = document.createElement("div")
e.innerHTML = feat.properties._d
return Array.from(e.getElementsByTagName("a")).filter(
(a) => a.getAttribute("rel")?.indexOf("me") >= 0
)[0]?.href
})(feat)
)
Utils.AddLazyProperty(
feat.properties,
"_mastodon_candidate",
() => feat.properties._mastodon_candidate_md ?? feat.properties._mastodon_candidate_a
)
feat.properties["__current_backgroun"] = "initial_value"
}
}

View file

@ -4,13 +4,17 @@ import { AndroidPolyfill } from "./AndroidPolyfill"
import { IndexedFeatureSource } from "../FeatureSource/FeatureSource"
import { Feature } from "geojson"
import { Store, UIEventSource } from "../UIEventSource"
import ThemeViewState from "../../Models/ThemeViewState"
import OsmObjectDownloader from "../Osm/OsmObjectDownloader"
import ThemeSource from "../FeatureSource/Sources/ThemeSource"
export default class ThemeViewStateHashActor {
private readonly _state: {
private readonly _state: Readonly<{
indexedFeatures: IndexedFeatureSource
selectedElement: UIEventSource<Feature>
guistate: MenuState
}
osmObjectDownloader: OsmObjectDownloader
}>
private isUpdatingHash = false
public static readonly documentation = [
@ -35,12 +39,15 @@ export default class ThemeViewStateHashActor {
* As such, we use a change in the hash to close the appropriate windows
*
*/
constructor(state: {
featureSwitches: { featureSwitchBackToThemeOverview: Store<boolean> }
indexedFeatures: IndexedFeatureSource
selectedElement: UIEventSource<Feature>
guistate: MenuState
}) {
constructor(
state: Readonly<{
featureSwitches: { featureSwitchBackToThemeOverview: Store<boolean> }
indexedFeatures: IndexedFeatureSource & ThemeSource
selectedElement: UIEventSource<Feature>
guistate: MenuState
osmObjectDownloader: OsmObjectDownloader
}>
) {
this._state = state
AndroidPolyfill.onBackButton(() => this.back(), {
returnToIndex: state.featureSwitches.featureSwitchBackToThemeOverview,
@ -50,6 +57,20 @@ export default class ThemeViewStateHashActor {
const containsMenu = this.loadStateFromHash(hashOnLoad)
// First of all, try to recover the selected element
if (!containsMenu && hashOnLoad?.length > 0) {
if (
hashOnLoad.startsWith("node/") ||
hashOnLoad.startsWith("way/") ||
hashOnLoad.startsWith("relation/")
) {
// This is an OSM-element. Let's download it and add it to the indexedFeatures
console.log("Directly downloading item from hash")
state.osmObjectDownloader.DownloadObjectAsync(hashOnLoad).then((osmObj) => {
if (osmObj === "deleted") {
return
}
state.indexedFeatures.addItem(osmObj.asGeoJson())
})
}
state.indexedFeatures.featuresById.addCallbackAndRunD(() => {
// once that we have found a matching element, we can be sure the indexedFeaturesource was popuplated and that the job is done
return this.loadSelectedElementFromHash(hashOnLoad)

View file

@ -91,10 +91,10 @@ export class MenuState {
this.pageStates.about_theme.set(true)
visitedBefore.set(true)
this._selectedElement.addCallbackD(() => {
if(this.pageStates.about_theme.data){
if (this.pageStates.about_theme.data) {
this.pageStates.about_theme.set(false)
this._selectedElement.addCallbackAndRun(selected => {
if(!selected){
this._selectedElement.addCallbackAndRun((selected) => {
if (!selected) {
this.pageStates.about_theme.set(true)
return true
}

View file

@ -227,9 +227,9 @@ export class WithChangesState extends WithLayoutSourceState {
metaTags: this.userRelatedState.preferencesAsTags,
selectedElement: this.selectedElement,
fetchStore: (id) => this.featureProperties.getStore(id),
onClick: feature => {
onClick: (feature) => {
this.setSelectedElement(feature)
}
},
})
})
return filteringFeatureSource

View file

@ -51,12 +51,7 @@ export class WithImageState extends WithGuiState implements SpecialVisualization
* Setup various services for which no reference are needed
*/
private initActors() {
new ThemeViewStateHashActor({
featureSwitches: this.featureSwitches,
selectedElement: this.selectedElement,
indexedFeatures: this.indexedFeatures,
guistate: this.guistate,
})
new ThemeViewStateHashActor(this)
new PendingChangesUploader(this.changes, this.selectedElement, this.imageUploadManager)
}
}

View file

@ -181,7 +181,9 @@ export class WithSpecialLayers extends WithChangesState {
})
)
// show last click = new point/note marker
const features: StaticFeatureSource<Feature<Geometry, Record<string, string> & {id: string}>> = new StaticFeatureSource(lastClickFiltered)
const features: StaticFeatureSource<
Feature<Geometry, Record<string, string> & { id: string }>
> = new StaticFeatureSource(lastClickFiltered)
this.featureProperties.trackFeatureSource(features)
new ShowDataLayer(this.map, {
features,

View file

@ -15,7 +15,7 @@
<SubtleButton
on:click={() => dispatch("click")}
options={{ extraClasses: twMerge("flex items-center", clss) }}
options={{ extraClasses: twMerge("flex items-center justify-start", clss) }}
>
<ChevronLeftIcon class={imageClass ?? "h-12 w-12"} slot="image" />
<slot slot="message" />

View file

@ -22,7 +22,7 @@
use:ariaLabelStore={arialabelString}
disabled={!$enabled}
class={twJoin(
"pointer-events-auto relative h-fit w-fit rounded-full",
"pointer-events-auto relative h-fit w-fit rounded-full border-gray-500",
cls,
$enabled ? "" : "disabled"
)}

View file

@ -44,7 +44,7 @@
<form class="w-full" on:submit|preventDefault={() => dispatch("search")}>
<label
class="neutral-label normal-background box-shadow flex w-full items-center rounded-full border border-black"
class="neutral-label normal-background box-shadow flex w-full items-center rounded-md border border-black"
>
<SearchIcon aria-hidden="true" class="ml-2 h-6 w-6 shrink-0" />
@ -76,7 +76,7 @@
value.set("")
e.preventDefault()
}}
color="var(--button-background)"
color="var(--foreground-color)"
class="mr-3 h-6 w-6 cursor-pointer"
/>
{:else}

View file

@ -187,7 +187,7 @@
}
:global(.tab-selected svg) {
fill: var(--catch-detail-color-contrast);
fill: var(--interactive-contrast);
}
:global(.tab-unselected) {

View file

@ -1,3 +1,6 @@
<script >
export let contentStyle= ""
</script>
<div class="flex h-full flex-col">
<div class="low-interaction flex items-center justify-between p-4 drop-shadow-md">
<div class="flex items-center gap-x-2">
@ -9,7 +12,7 @@
<slot name="title-end" />
</div>
<div class="flex h-full flex-col overflow-auto border-b-2 p-4">
<div class={"flex h-full flex-col overflow-auto border-b-2 p-4 "+contentStyle}>
<slot />
</div>

View file

@ -51,6 +51,8 @@
}
})
let hotkeys = Hotkeys._docs
let showBackground = state.featureSwitches.featureSwitchBackgroundSelection
let showFilters = state.featureSwitches.featureSwitchFilter
</script>
<div class:h-0={!onlyLink} class:h-full={onlyLink} class="overflow-hidden">
@ -75,10 +77,12 @@
<ThemeIntroPanel {state} />
</Page>
<FilterPage {onlyLink} {state} />
<RasterLayerOverview {onlyLink} {state} />
{#if $showFilters}
<FilterPage {onlyLink} {state} />
{/if}
{#if $showBackground}
<RasterLayerOverview {onlyLink} {state} />
{/if}
<Page {onlyLink} shown={pg.share}>
<svelte:fragment slot="header">
<Share />

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