diff --git a/Docs/BuiltinLayers.md b/Docs/BuiltinLayers.md index 7ce567ec04..12e916cf12 100644 --- a/Docs/BuiltinLayers.md +++ b/Docs/BuiltinLayers.md @@ -14,6 +14,7 @@ + [type_node](#type_node) + [conflation](#conflation) + [left_right_style](#left_right_style) + + [split_point](#split_point) 1. [Frequently reused layers](#frequently-reused-layers) + [bicycle_library](#bicycle_library) * [Themes using this layer](#themes-using-this-layer) @@ -23,6 +24,8 @@ * [Themes using this layer](#themes-using-this-layer) + [map](#map) * [Themes using this layer](#themes-using-this-layer) + + [walls_and_buildings](#walls_and_buildings) + * [Themes using this layer](#themes-using-this-layer) + [all_streets](#all_streets) * [Themes using this layer](#themes-using-this-layer) @@ -40,6 +43,7 @@ - [type_node](#type_node) - [conflation](#conflation) - [left_right_style](#left_right_style) + - [split_point](#split_point) ### gps_location @@ -138,6 +142,19 @@ Special meta-style which will show one single line, either on the left or on the + - This layer can **not** be included in a theme. It is solely used by [special renderings](SpecialRenderings.md) showing a minimap with custom data. + + +### split_point + + + +Layer rendering the little scissors for the minimap in the 'splitRoadWizard' + +[Go to the source code](../assets/layers/split_point/split_point.json) + + + - This layer can **not** be included in a theme. It is solely used by [special renderings](SpecialRenderings.md) showing a minimap with custom data. @@ -150,6 +167,7 @@ Special meta-style which will show one single line, either on the left or on the - [drinking_water](#drinking_water) - [food](#food) - [map](#map) + - [walls_and_buildings](#walls_and_buildings) - [all_streets](#all_streets) @@ -250,6 +268,32 @@ A map, meant for tourists which is permanently installed in the public space - [nature](https://mapcomplete.osm.be/nature) +### walls_and_buildings + + + +Special builtin layer providing all walls and buildings. This layer is useful in presets for objects which can be placed against walls (e.g. AEDs, postboxes, entrances, addresses, surveillance cameras, ...). This layer is invisible by default and not toggleable by the user. + +[Go to the source code](../assets/layers/walls_and_buildings/walls_and_buildings.json) + + + + - Not visible in the layer selection by default. If you want to make this layer toggable, override `name` + - Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings` + + + + +#### Themes using this layer + + + + + + - [aed](https://mapcomplete.osm.be/aed) + - [surveillance](https://mapcomplete.osm.be/surveillance) + + ### all_streets diff --git a/Docs/Schemas/LayerConfigJson.schema.json b/Docs/Schemas/LayerConfigJson.schema.json index 471fd02820..4cff6d134a 100644 --- a/Docs/Schemas/LayerConfigJson.schema.json +++ b/Docs/Schemas/LayerConfigJson.schema.json @@ -114,6 +114,10 @@ "description": "The minimum needed zoomlevel required before loading of the data start\nDefault: 0", "type": "number" }, + "shownByDefault": { + "description": "Indicates if this layer is shown by default;\ncan be used to hide a layer from start, or to load the layer but only to show it where appropriate (e.g. for snapping to it)", + "type": "boolean" + }, "minzoomVisible": { "description": "The zoom level at which point the data is hidden again\nDefault: 100 (thus: always visible", "type": "number" @@ -442,7 +446,7 @@ "type": "object", "properties": { "id": { - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise", + "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)", "type": "string" }, "group": { diff --git a/Docs/Schemas/LayerConfigJsonJSC.ts b/Docs/Schemas/LayerConfigJsonJSC.ts index 3f72a2e974..fbe8661034 100644 --- a/Docs/Schemas/LayerConfigJsonJSC.ts +++ b/Docs/Schemas/LayerConfigJsonJSC.ts @@ -114,6 +114,10 @@ export default { "description": "The minimum needed zoomlevel required before loading of the data start\nDefault: 0", "type": "number" }, + "shownByDefault": { + "description": "Indicates if this layer is shown by default;\ncan be used to hide a layer from start, or to load the layer but only to show it where appropriate (e.g. for snapping to it)", + "type": "boolean" + }, "minzoomVisible": { "description": "The zoom level at which point the data is hidden again\nDefault: 100 (thus: always visible", "type": "number" @@ -440,7 +444,7 @@ export default { "type": "object", "properties": { "id": { - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise", + "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)", "type": "string" }, "group": { diff --git a/Docs/Schemas/LayoutConfigJson.schema.json b/Docs/Schemas/LayoutConfigJson.schema.json index 0acf04ad5d..3587397d68 100644 --- a/Docs/Schemas/LayoutConfigJson.schema.json +++ b/Docs/Schemas/LayoutConfigJson.schema.json @@ -348,7 +348,7 @@ "type": "object", "properties": { "id": { - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise", + "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)", "type": "string" }, "group": { @@ -955,6 +955,10 @@ "description": "The minimum needed zoomlevel required before loading of the data start\nDefault: 0", "type": "number" }, + "shownByDefault": { + "description": "Indicates if this layer is shown by default;\ncan be used to hide a layer from start, or to load the layer but only to show it where appropriate (e.g. for snapping to it)", + "type": "boolean" + }, "minzoomVisible": { "description": "The zoom level at which point the data is hidden again\nDefault: 100 (thus: always visible", "type": "number" diff --git a/Docs/Schemas/LayoutConfigJsonJSC.ts b/Docs/Schemas/LayoutConfigJsonJSC.ts index 2c337340e2..9a33094f0d 100644 --- a/Docs/Schemas/LayoutConfigJsonJSC.ts +++ b/Docs/Schemas/LayoutConfigJsonJSC.ts @@ -346,7 +346,7 @@ export default { "type": "object", "properties": { "id": { - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise", + "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)", "type": "string" }, "group": { @@ -945,6 +945,10 @@ export default { "description": "The minimum needed zoomlevel required before loading of the data start\nDefault: 0", "type": "number" }, + "shownByDefault": { + "description": "Indicates if this layer is shown by default;\ncan be used to hide a layer from start, or to load the layer but only to show it where appropriate (e.g. for snapping to it)", + "type": "boolean" + }, "minzoomVisible": { "description": "The zoom level at which point the data is hidden again\nDefault: 100 (thus: always visible", "type": "number" diff --git a/Docs/Schemas/LineRenderingConfigJson.schema.json b/Docs/Schemas/LineRenderingConfigJson.schema.json index 0f7289f025..979288fd08 100644 --- a/Docs/Schemas/LineRenderingConfigJson.schema.json +++ b/Docs/Schemas/LineRenderingConfigJson.schema.json @@ -160,7 +160,7 @@ "type": "object", "properties": { "id": { - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise", + "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)", "type": "string" }, "group": { diff --git a/Docs/Schemas/LineRenderingConfigJsonJSC.ts b/Docs/Schemas/LineRenderingConfigJsonJSC.ts index 2c0642834f..c561894ae4 100644 --- a/Docs/Schemas/LineRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/LineRenderingConfigJsonJSC.ts @@ -158,7 +158,7 @@ export default { "type": "object", "properties": { "id": { - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise", + "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)", "type": "string" }, "group": { diff --git a/Docs/Schemas/PointRenderingConfigJson.schema.json b/Docs/Schemas/PointRenderingConfigJson.schema.json index 03ec4cf3c5..9b2aae70b7 100644 --- a/Docs/Schemas/PointRenderingConfigJson.schema.json +++ b/Docs/Schemas/PointRenderingConfigJson.schema.json @@ -172,7 +172,7 @@ "type": "object", "properties": { "id": { - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise", + "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)", "type": "string" }, "group": { diff --git a/Docs/Schemas/PointRenderingConfigJsonJSC.ts b/Docs/Schemas/PointRenderingConfigJsonJSC.ts index 2e88c1cf83..c2f6a5b491 100644 --- a/Docs/Schemas/PointRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/PointRenderingConfigJsonJSC.ts @@ -170,7 +170,7 @@ export default { "type": "object", "properties": { "id": { - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise", + "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)", "type": "string" }, "group": { diff --git a/Docs/Schemas/TagRenderingConfigJson.schema.json b/Docs/Schemas/TagRenderingConfigJson.schema.json index c330dbc058..f445618fe7 100644 --- a/Docs/Schemas/TagRenderingConfigJson.schema.json +++ b/Docs/Schemas/TagRenderingConfigJson.schema.json @@ -3,7 +3,7 @@ "type": "object", "properties": { "id": { - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise", + "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)", "type": "string" }, "group": { diff --git a/Docs/Schemas/TagRenderingConfigJsonJSC.ts b/Docs/Schemas/TagRenderingConfigJsonJSC.ts index bbc00373d2..e9decfe53e 100644 --- a/Docs/Schemas/TagRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/TagRenderingConfigJsonJSC.ts @@ -3,7 +3,7 @@ export default { "type": "object", "properties": { "id": { - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise", + "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)", "type": "string" }, "group": { diff --git a/Docs/Schemas/TilesourceConfigJson.schema.json b/Docs/Schemas/TilesourceConfigJson.schema.json index da181e8e54..cd80fd51f8 100644 --- a/Docs/Schemas/TilesourceConfigJson.schema.json +++ b/Docs/Schemas/TilesourceConfigJson.schema.json @@ -111,7 +111,7 @@ "type": "object", "properties": { "id": { - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise", + "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)", "type": "string" }, "group": { diff --git a/Docs/Schemas/TilesourceConfigJsonJSC.ts b/Docs/Schemas/TilesourceConfigJsonJSC.ts index a21c3f2ccb..61e69a8340 100644 --- a/Docs/Schemas/TilesourceConfigJsonJSC.ts +++ b/Docs/Schemas/TilesourceConfigJsonJSC.ts @@ -109,7 +109,7 @@ export default { "type": "object", "properties": { "id": { - "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise", + "description": "The id of the tagrendering, should be an unique string.\nUsed to keep the translations in sync. Only used in the tagRenderings-array of a layerConfig, not requered otherwise.\n\nUse 'questions' to trigger the question box of this group (if a group is defined)", "type": "string" }, "group": { diff --git a/Docs/TagInfo/mapcomplete_aed.json b/Docs/TagInfo/mapcomplete_aed.json index d4e3f20729..b1e21cb152 100644 --- a/Docs/TagInfo/mapcomplete_aed.json +++ b/Docs/TagInfo/mapcomplete_aed.json @@ -87,7 +87,7 @@ }, { "key": "defibrillator", - "description": "Layer 'Defibrillators' shows defibrillator~^$ with a fixed text, namely 'This is a special type of defibrillator: {defibrillator}' (in the MapComplete.osm.be theme 'Open AED Map')" + "description": "Layer 'Defibrillators' shows defibrillator~^..*$ with a fixed text, namely 'This is a special type of defibrillator: {defibrillator}' (in the MapComplete.osm.be theme 'Open AED Map')" }, { "key": "level", diff --git a/assets/layers/defibrillator/defibrillator.json b/assets/layers/defibrillator/defibrillator.json index 74068d4028..3061286dba 100644 --- a/assets/layers/defibrillator/defibrillator.json +++ b/assets/layers/defibrillator/defibrillator.json @@ -42,11 +42,22 @@ "it": "Defibrillatore", "ru": "Дефибриллятор" }, + "tags": [ + "emergency=defibrillator" + ] + }, + { + "title": { + "en": "defibrillator mounted on a wall", + "nl": "defibrillator die aan een muur hangt" + }, "tags": [ "emergency=defibrillator" ], "preciseInput": { - "preferredBackground": "map" + "preferredBackground": "map", + "snapToLayer": "walls_and_buildings", + "maxSnapDistance": 5 } } ], @@ -228,7 +239,7 @@ } }, { - "if": "defibrillator~", + "if": "defibrillator~*", "then": { "en": "This is a special type of defibrillator: {defibrillator}" }, diff --git a/assets/layers/split_point/split_point.json b/assets/layers/split_point/split_point.json index d7c9719867..52d9a22a50 100644 --- a/assets/layers/split_point/split_point.json +++ b/assets/layers/split_point/split_point.json @@ -13,7 +13,7 @@ "point", "centroid" ], - "icon": "circle:white;./assets/svg/scissors.svg", + "icon": "circle:white;./assets/svg/scissors.svg", "iconSize": "30,30,center" } ] diff --git a/assets/layers/surveillance_camera/surveillance_camera.json b/assets/layers/surveillance_camera/surveillance_camera.json index 637192b723..a78c2417ce 100644 --- a/assets/layers/surveillance_camera/surveillance_camera.json +++ b/assets/layers/surveillance_camera/surveillance_camera.json @@ -459,7 +459,22 @@ "man_made=surveillance", "surveillance:type=camera" ], - "title": "Surveillance camera" + "title": { + "en":"surveillance camera" + } + }, + { + "tags": [ + "man_made=surveillance", + "surveillance:type=camera", + "camera:mount=wall" + ], + "title": { + "en":"surveillance camera mounted on a wall" + }, + "preciseInput": { + "snapToLayer": "walls_and_buildings" + } } ], "mapRendering": [ diff --git a/assets/themes/aed/aed.json b/assets/themes/aed/aed.json index 78513e08bc..55dd97fb31 100644 --- a/assets/themes/aed/aed.json +++ b/assets/themes/aed/aed.json @@ -60,6 +60,7 @@ "startLon": 0, "startZoom": 12, "layers": [ + "walls_and_buildings", "defibrillator" ] } \ No newline at end of file diff --git a/assets/themes/aed/aed_brugge.json b/assets/themes/aed/aed_brugge.json index 8d9b4ff37c..48b2e99e8a 100644 --- a/assets/themes/aed/aed_brugge.json +++ b/assets/themes/aed/aed_brugge.json @@ -16,6 +16,7 @@ "startLon": 3.195682, "startZoom": 12, "layers": [ + "walls_and_buildings", "defibrillator", { "id": "Brugge", @@ -80,7 +81,8 @@ }, "iconSize": "20,20,center", "location": [ - "point","centroid" + "point", + "centroid" ] } ] diff --git a/assets/themes/surveillance/surveillance.json b/assets/themes/surveillance/surveillance.json index 1e460a0f7d..25a22fcaeb 100644 --- a/assets/themes/surveillance/surveillance.json +++ b/assets/themes/surveillance/surveillance.json @@ -49,6 +49,7 @@ "socialImage": "", "defaultBackgroundId": "osm", "layers": [ + "walls_and_buildings", "direction", "surveillance_camera" ]