2.9 KiB
How to work with TagRenderings
The information box shows various attributes of the selected feature in a human friendly way.
This is done by a tagRendering which converts attributes into text.
This can be done by using predefined options (mappings) or with a render-string
Predefined options
A predefined option states that, if
a certain tag is present, then
a certain text should be shown.
For example, a playground may be lit or not.
In OpenStreetMap, this is encoded with the tag lit=yes
or lit=no
. We might want to show This playground is lit at night
and This playground is not lit at night
to users of MapComplete.
This is what this will look like in the interface:
Substituting attributes
If none of the predefined options match, the string given in the render
-field is used (under the question "What text should be rendered?").
A special property about all shown texts is that, if the name of a key appears between braces, this will be replaced by the corresponding value.
For example, if the object has tags min_age=3
and the text to display is Accessible to kids older than {min_age} years
, then this will be displayed to the user as Accessible to kids older than 3 years
Note that this also works withing predifined options
Special values
Special components can be summoned by calling them. For example, the relevant wikipedia will be displayed by entering the text {wikipedia()}
. A table with opening hours is displayed with {opening_hours()}
. For a full reference, see the documentation.
Requesting data with predefined options
These renderings can be turned into a way to contribute data easily. If a question is provided, then these renderings will be asked if unknown or gain the pencil to make changes.
A predefined option will show up as an option that can be picked.
Requesting data with an input field
It is also possible to have a text field. For this, the key to write into must be given (What is the name of the attribute that should be written to?), in this case max_age
.
Combining predefined options and freeform text
A text field and predefined options can be combined. The contributor can then choose between a predefined option or filling out something.
Selecting multiple values
One can set a question to allow multiple answers. This works with predefined options or a freeform text field.
Note that these will be rendered as a list: