diff --git a/Models/ThemeConfig/Conversion/Validation.ts b/Models/ThemeConfig/Conversion/Validation.ts index bcc24c6b7..df2b80e22 100644 --- a/Models/ThemeConfig/Conversion/Validation.ts +++ b/Models/ThemeConfig/Conversion/Validation.ts @@ -520,6 +520,10 @@ export class ValidateLayer extends DesugaringStep { errors } } + + if(json.title === undefined && json.tagRenderings !== undefined){ + warnings.push(context + ": this layer does not have a title defined but it does have tagRenderings. Not having a title will disable the popups, resulting in an unclickable element.") + } if (json["builtin"] !== undefined) { errors.push(context + ": This layer hasn't been expanded: " + json) diff --git a/assets/layers/elevator/elevator.json b/assets/layers/elevator/elevator.json new file mode 100644 index 000000000..ec3de3e8c --- /dev/null +++ b/assets/layers/elevator/elevator.json @@ -0,0 +1,133 @@ +{ + "id": "elevator", + "name": { + "en": "elevator" + }, + "source": { + "osmTags": "elevator=yes" + }, + "minzoom": 13, + "title": { + "en": "Elevator" + }, + "tagRenderings": [ + "images", + { + "id": "operational_status", + "mappings": [ + { + "if": "operational_status=broken", + "then": { + "en": "This elevator is broken" + } + }, + { + "if": "operational_status=ok", + "then": { + "en": "This elevator works" + } + }, + { + "if": "operational_status=", + "then": { + "en": "This elevator works" + }, + "hideInAnswer": true + } + ] + }, + { + "id": "door-width", + "render": { + "en": "This elevator's doors have a width of {canonical(door:width)}" + }, + "question": { + "en": "What is the width of this elevator's entrance?" + }, + "freeform": { + "key": "door:width", + "type": "pfloat" + } + }, + { + "id": "elevator-width", + "render": { + "en": "This elevator has a width of {canonical(elevator:width)}" + }, + "question": { + "en": "What is the width of this elevator?" + }, + "freeform": { + "key": "elevator:width", + "type": "pfloat" + } + }, + { + "id": "elevator-depth", + "render": { + "en": "This elevator has a depth of {canonical(elevator:depth)}" + }, + "question": { + "en": "What is the depth of this elevator?" + }, + "freeform": { + "key": "elevator:depth", + "type": "pfloat" + } + }, + "induction-loop" + ], + "mapRendering": [ + { + "icon": { + "render": "circle:white;./assets/layers/elevator/elevator_wheelchair.svg" + }, + "iconSize": "40,40,bottom", + "location": [ + "point", + "centroid" + ] + } + ], + "presets": [ + { + "title": { + "en": "an elevator", + "nl": "een lift" + }, + "tags": [ + "elevator=yes" + ] + } + ], + "units": [ + { + "appliesToKey": [ + "door:width", + "elevator:width", + "elevator:depth" + ], + "applicableUnits": [ + { + "canonicalDenomination": "m", + "alternativeDenomination": [ + "meter" + ], + "human": { + "en": "meter" + } + }, + { + "canonicalDenomination": "cm", + "alternativeDenomination": [ + "centimeter", + "cms" + ], + "human": { + "en": "centimeter" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/assets/layers/elevator/elevator_wheelchair.svg b/assets/layers/elevator/elevator_wheelchair.svg new file mode 100644 index 000000000..5ad6ee402 --- /dev/null +++ b/assets/layers/elevator/elevator_wheelchair.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + diff --git a/assets/layers/elevator/license_info.json b/assets/layers/elevator/license_info.json new file mode 100644 index 000000000..37b617e4f --- /dev/null +++ b/assets/layers/elevator/license_info.json @@ -0,0 +1,12 @@ +[ + { + "path": "elevator_wheelchair.svg", + "license": "CC-BY-SA", + "authors": [ + "https://www.ctsteward.com/" + ], + "sources": [ + "https://www.ctsteward.com/" + ] + } +] \ No newline at end of file diff --git a/assets/layers/entrance/entrance.json b/assets/layers/entrance/entrance.json index f974ceece..ee52d83d4 100644 --- a/assets/layers/entrance/entrance.json +++ b/assets/layers/entrance/entrance.json @@ -358,7 +358,7 @@ }, "mappings": [ { - "if": "kerb-height=", + "if": "kerb:height=0", "then": { "en": "This door does not have a kerb", "nl": "Deze deur heeft geen drempel" diff --git a/assets/layers/toilet/toilet.json b/assets/layers/toilet/toilet.json index 5dfeb438d..794824f3f 100644 --- a/assets/layers/toilet/toilet.json +++ b/assets/layers/toilet/toilet.json @@ -277,6 +277,21 @@ } ] }, + { + "id": "wheelchair-door-width", + "question": { + "en": "What is the width of the door to the wheelchair accessible toilet?", + "nl": "Hoe breed is de deur van de rolstoeltoegankelijke toilet?" + }, + "render": { + "en": "The door to the wheelchair-accessible toilet is {canonical(door:width)} wide", + "nl": "De deur naar de rolstoeltoegankelijke toilet is {canonical(door:width)} wide" + }, + "freeform": { + "key": "door:width", + "type": "pfloat" + } + }, { "id": "toilets-type", "question": { @@ -625,5 +640,35 @@ "nl": "Een laag die publieke toiletten toont", "de": "Eine Ebene mit (öffentlichen) Toiletten", "es": "Una capa que muestra baños (públicos)" - } + }, + "units": [ + { + "appliesToKey": [ + "door:width" + ], + "applicableUnits": [ + { + "canonicalDenomination": "m", + "alternativeDenomination": [ + "meter" + ], + "human": { + "en": "meter", + "nl": "meter" + } + }, + { + "canonicalDenomination": "cm", + "alternativeDenomination": [ + "centimeter", + "cms" + ], + "human": { + "en": "centimeter", + "nl": "centimeter" + } + } + ] + } + ] } \ No newline at end of file diff --git a/assets/themes/onwheels/onwheels.json b/assets/themes/onwheels/onwheels.json index 6a3928c45..8125eea6d 100644 --- a/assets/themes/onwheels/onwheels.json +++ b/assets/themes/onwheels/onwheels.json @@ -4,7 +4,7 @@ "en": "OnWheels" }, "description": { - "en": "On this map, publicly weelchair accessible places are shown and can be easily added" + "en": "On this map, publicly wheelchair accessible places are shown and can be easily added" }, "maintainer": "MapComplete", "icon": "./assets/themes/onwheels/crest.svg", @@ -30,7 +30,8 @@ "viewpoint", "doctors", "reception_desk", - "walls_and_buildings" + "walls_and_buildings", + "elevator" ], "overrideAll": { "+calculatedTags": [