From 89a20ca1af2ebd5101be1de731e0786e4094c23c Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 20:22:03 +0200 Subject: [PATCH 1/8] UX: improve padding to prevent fat-fingers --- .versionrc.json | 7 +++++++ src/UI/Popup/TagRendering/TagRenderingQuestion.svelte | 8 ++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.versionrc.json b/.versionrc.json index 2b2d18d0f..d5091248b 100644 --- a/.versionrc.json +++ b/.versionrc.json @@ -3,6 +3,13 @@ {"type": "feat", "section": "Features"}, {"type": "fix", "section": "Bug Fixes"}, {"type": "themes", "section": "Theme improvements"}, + {"type": "UX", + "section": "User experience improvements" + }, + { + "type": "UI", + "section": "User interface improvements" + }, {"type": "chore", "hidden": true}, {"type": "docs", "hidden": true}, {"type": "style", "hidden": true}, diff --git a/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte b/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte index c7ba6155a..4d87e56cb 100644 --- a/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte +++ b/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte @@ -343,7 +343,7 @@ {#if question !== undefined}
{ /*onSave(); This submit is not needed and triggers too early, causing bugs: see #1808*/ @@ -351,7 +351,7 @@ >
-
+
@@ -557,7 +557,7 @@ {/if} -
+
@@ -590,7 +590,7 @@ {#if $featureSwitchIsTesting} -
Testmode  
+
Testmode  
{/if} {#if $featureSwitchIsTesting || $featureSwitchIsDebugging} console.log("Configuration is ", config)}> From c3bb0cb83787c299ee4a92e8df6046aa448d77c8 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 20:37:14 +0200 Subject: [PATCH 2/8] Fix: nobrand= is actually applied when using the Name suggestion index --- src/Models/ThemeConfig/TagRenderingConfig.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Models/ThemeConfig/TagRenderingConfig.ts b/src/Models/ThemeConfig/TagRenderingConfig.ts index e2a4c1538..153abe36c 100644 --- a/src/Models/ThemeConfig/TagRenderingConfig.ts +++ b/src/Models/ThemeConfig/TagRenderingConfig.ts @@ -926,7 +926,7 @@ export default class TagRenderingConfig { * Might give undefined if setting to unknown is not possible */ public removeToSetUnknown(partOfLayer: LayerConfig, currentTags: Record): string[] | undefined { - if(!partOfLayer?.source || !currentTags){ + if (!partOfLayer?.source || !currentTags) { return } const toDelete = new Set() @@ -1001,12 +1001,17 @@ export class TagRenderingConfigUtils { // The original mappings get "priorityIf" set const oldMappingsCloned = clone.mappings?.map( - (m) => - { + (m) => { + const mapping = { ...m, - addExtraTags: [new Tag("nobrand", "")], priorityIf: m.priorityIf ?? TagUtils.Tag("id~*"), - }, + } + if (m.if.usedKeys().indexOf("nobrand") < 0) { + // Erase 'nobrand=yes', unless this option explicitly sets it + mapping["addExtraTags"] = [new Tag("nobrand", "")] + } + return mapping + }, ) ?? [] clone.mappings = [...oldMappingsCloned, ...extraMappings] return clone From 55f626bb03cece9b420d141f8734f59e493f6fa5 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 21:00:24 +0200 Subject: [PATCH 3/8] Perf: WikidataImageProvider.ts doesn't try to download information about mapillary images anymore --- src/Logic/ImageProviders/WikidataImageProvider.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Logic/ImageProviders/WikidataImageProvider.ts b/src/Logic/ImageProviders/WikidataImageProvider.ts index ab5017c73..ded3396da 100644 --- a/src/Logic/ImageProviders/WikidataImageProvider.ts +++ b/src/Logic/ImageProviders/WikidataImageProvider.ts @@ -4,11 +4,14 @@ import { WikimediaImageProvider } from "./WikimediaImageProvider" import Wikidata from "../Web/Wikidata" import SvelteUIElement from "../../UI/Base/SvelteUIElement" import * as Wikidata_icon from "../../assets/svg/Wikidata.svelte" +import { Utils } from "../../Utils" export class WikidataImageProvider extends ImageProvider { public static readonly singleton = new WikidataImageProvider() public readonly defaultKeyPrefixes = ["wikidata"] public readonly name = "Wikidata" + private static readonly keyBlacklist: ReadonlySet = new Set( + ["mapillary", ...Utils.Times(i => "mapillary:" + i, 10)]) private constructor() { super() @@ -23,6 +26,9 @@ export class WikidataImageProvider extends ImageProvider { } public async ExtractUrls(key: string, value: string): Promise[]> { + if (WikidataImageProvider.keyBlacklist.has(key)) { + return [] + } const entity = await Wikidata.LoadWikidataEntryAsync(value) if (entity === undefined) { return [] From 03978631ebd1e61abd13dd7a53bdb400c3d0f059 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 13 Sep 2024 21:00:41 +0200 Subject: [PATCH 4/8] Fix: scroll horizontal images into view --- src/Utils.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Utils.ts b/src/Utils.ts index 99674d926..8203014a7 100644 --- a/src/Utils.ts +++ b/src/Utils.ts @@ -1452,6 +1452,7 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be if (!element) { return } + console.log("Scrolling into view:", element) // Is the element completely in the view? const parentRect = Utils.findParentWithScrolling(element)?.getBoundingClientRect() if (!parentRect) { @@ -1462,7 +1463,9 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be // Check if the element is within the vertical bounds of the parent element const topIsVisible = elementRect.top >= parentRect.top const bottomIsVisible = elementRect.bottom <= parentRect.bottom - const inView = topIsVisible && bottomIsVisible + const leftIsVisible = elementRect.left >= parentRect.left + const rightIsVisible = elementRect.right <= parentRect.right + const inView = topIsVisible && bottomIsVisible && leftIsVisible && rightIsVisible if (inView) { return } From 418a4a71af5824487e4aa6754701e5d14371beae Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sat, 14 Sep 2024 23:30:30 +0200 Subject: [PATCH 5/8] Themes(disaster_respone): add a police station layer, add this and more layers to disaster_response theme --- assets/layers/police/license_info.json | 12 ++ assets/layers/police/police.json | 142 ++++++++++++++++++ assets/layers/police/police.svg | 1 + assets/layers/police/police.svg.license | 2 + .../disaster_response/disaster_response.json | 11 +- assets/themes/surveillance/surveillance.json | 3 +- 6 files changed, 168 insertions(+), 3 deletions(-) create mode 100644 assets/layers/police/license_info.json create mode 100644 assets/layers/police/police.json create mode 100644 assets/layers/police/police.svg create mode 100644 assets/layers/police/police.svg.license diff --git a/assets/layers/police/license_info.json b/assets/layers/police/license_info.json new file mode 100644 index 000000000..e1d743c53 --- /dev/null +++ b/assets/layers/police/license_info.json @@ -0,0 +1,12 @@ +[ + { + "path": "police.svg", + "license": "CC-BY 4.0", + "authors": [ + "Twemoji" + ], + "sources": [ + "https://commons.wikimedia.org/wiki/File:Twemoji12_1f693.svg" + ] + } +] \ No newline at end of file diff --git a/assets/layers/police/police.json b/assets/layers/police/police.json new file mode 100644 index 000000000..a79631991 --- /dev/null +++ b/assets/layers/police/police.json @@ -0,0 +1,142 @@ +{ + "id": "police", + "name": { + "en": "Police stations" + }, + "description": { + "en": "Many types of police facilities " + }, + "source": { + "osmTags": { + "or": [ + "amenity=police", + "police~*" + ] + } + }, + "minzoom": 10, + "title": { + "render": { + "en": "{name}" + } + }, + "pointRendering": [ + { + "location": [ + "point", + "centroid" + ], + "marker": [ + { + "icon": "circle", + "color": "#00000000" + }, + { + "icon": "./assets/layers/police/police.svg" + } + ] + } + ], + "lineRendering": [ + { + "width": 1, + "color": "blue" + } + ], + "presets": [ + { + "tags": [ + "amenity=police" + ], + "title": { + "en": "a police office" + }, + "description": { + "en": "A police office where the general public can enter for inquiries" + } + }, + { + "tags": [ + "police=checkpoint" + ], + "title": { + "en": "a police checkpoint" + }, + "description": { + "en": "A place where police performs checks on travelling people" + } + }, + { + "tags": [ + "police=offices" + ], + "title": { + "en": "an administrative, police backoffice" + }, + "description": { + "en": "An administrative police office without services for the general public." + } + }, + { + "tags": [ + "police=detention" + ], + "title": "a police detention center", + "description": { + "en": "A jail run by the police without public services. People are detained here for a short time (at most a few days), e.g. for small misdemeanors, disturbance of the public order or awaiting a trial" + } + }, + { + "tags": [ + "police=naval_base" + ], + "title": "a police naval base", + "description": { + "en": "A naval or maritime base for the maritime police; often with a pier and police boats nearby" + } + } + ], + "tagRenderings": [ + "images", + "reviews", + { + "question": { + "en": "What is the name of this police facility?" + }, + "id": "police_name", + "render": { + "en": "{name}" + }, + "freeform": { + "key": "name" + } + }, + "{preset_type_select()}", + "contact", + "opening_hours", + { + "question": { + "en": "Does this police office have detention facilities?" + }, + "id": "4_z2nrdhy6tyyh4fd", + "condition": "amenity=police", + "mappings": [ + { + "if": "detention=yes", + "then": { + "en": "This police office has some cells to detain people" + } + }, + { + "if": "detention=no", + "then": { + "en": "This police office does not have cells to detain people" + } + } + ] + } + ], + "deletion": true, + "allowMove": true, + "enableMorePrivacy": true +} diff --git a/assets/layers/police/police.svg b/assets/layers/police/police.svg new file mode 100644 index 000000000..cbf344d7c --- /dev/null +++ b/assets/layers/police/police.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/layers/police/police.svg.license b/assets/layers/police/police.svg.license new file mode 100644 index 000000000..77a8edb48 --- /dev/null +++ b/assets/layers/police/police.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: Twemoji +SPDX-License-Identifier: CC-BY 4.0 \ No newline at end of file diff --git a/assets/themes/disaster_response/disaster_response.json b/assets/themes/disaster_response/disaster_response.json index 23ba39a20..f39fccf12 100644 --- a/assets/themes/disaster_response/disaster_response.json +++ b/assets/themes/disaster_response/disaster_response.json @@ -18,8 +18,15 @@ "socialImage": "./assets/themes/disaster_response/social.svg", "layers": [ "hospital", + "pharmacy", + "doctors", "assembly_point", - "disaster_response" + "disaster_response", + "police", + "fire_station", + "ambulancestation", + "extinguisher", + "hydrant" ], "docs": "https://wiki.openstreetmap.org/wiki/Emergency_facilities_and_amenities" -} \ No newline at end of file +} diff --git a/assets/themes/surveillance/surveillance.json b/assets/themes/surveillance/surveillance.json index 684c36660..83fd347e5 100644 --- a/assets/themes/surveillance/surveillance.json +++ b/assets/themes/surveillance/surveillance.json @@ -59,7 +59,8 @@ "override": { "minzoom": 12 } - } + }, + "police" ], "enableMorePrivacy": true } From 48644cde670853fe4e1e499a3843afd6dfa050dd Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sat, 14 Sep 2024 23:30:42 +0200 Subject: [PATCH 6/8] Chore: lint themes --- assets/layers/caravansites/caravansites.json | 210 +++++++-------- .../charging_station/charging_station.json | 252 +++++++++--------- .../climbing_opportunity.json | 6 +- .../cycleways_and_roads.json | 10 +- assets/layers/dumpstations/dumpstations.json | 158 +++++------ .../layers/geocoded_image/geocoded_image.json | 6 +- assets/layers/indoors/indoors.json | 8 +- assets/layers/kerbs/kerbs.json | 8 +- assets/layers/note/note.json | 1 - .../pedestrian_path/pedestrian_path.json | 8 +- assets/layers/shelter/shelter.json | 6 +- assets/layers/usersettings/usersettings.json | 1 - .../walls_and_buildings.json | 10 +- assets/themes/uk_addresses/uk_addresses.json | 4 +- 14 files changed, 343 insertions(+), 345 deletions(-) diff --git a/assets/layers/caravansites/caravansites.json b/assets/layers/caravansites/caravansites.json index 8964f3596..a0143f04f 100644 --- a/assets/layers/caravansites/caravansites.json +++ b/assets/layers/caravansites/caravansites.json @@ -21,7 +21,27 @@ "pl": "Miejsca kamperowe", "zh_Hans": "露营地" }, - "minzoom": 7, + "description": { + "en": "camper sites", + "it": "Aree camper", + "ru": "площадки для кемпинга", + "ja": "キャンプサイト", + "fr": "campings", + "zh_Hant": "露營地", + "nl": "camperplaatsen", + "pt_BR": "Locais de acampamento", + "de": "Wohnmobilstellplätze", + "hu": "Lakóautós megállóhelyek", + "id": "Tempat camping", + "ca": "llocs d'acampada", + "es": "Sitios de acampada", + "da": "autocamperpladser", + "pa_PK": "کیمب‌سائیٹاں", + "cs": "kempovací místa", + "eu": "Kanpatzeko tokiak", + "pl": "miejsca dla kamperów", + "zh_Hans": "露营地" + }, "source": { "osmTags": { "and": [ @@ -30,6 +50,7 @@ ] } }, + "minzoom": 7, "title": { "render": { "en": "Camper site {name}", @@ -77,27 +98,89 @@ } ] }, - "description": { - "en": "camper sites", - "it": "Aree camper", - "ru": "площадки для кемпинга", - "ja": "キャンプサイト", - "fr": "campings", - "zh_Hant": "露營地", - "nl": "camperplaatsen", - "pt_BR": "Locais de acampamento", - "de": "Wohnmobilstellplätze", - "hu": "Lakóautós megállóhelyek", - "id": "Tempat camping", - "ca": "llocs d'acampada", - "es": "Sitios de acampada", - "da": "autocamperpladser", - "pa_PK": "کیمب‌سائیٹاں", - "cs": "kempovací místa", - "eu": "Kanpatzeko tokiak", - "pl": "miejsca dla kamperów", - "zh_Hans": "露营地" - }, + "pointRendering": [ + { + "marker": [ + { + "icon": "circle", + "color": "white" + }, + { + "icon": { + "render": "./assets/themes/campersite/caravan.svg", + "mappings": [ + { + "if": { + "and": [ + "fee=no" + ] + }, + "then": "./assets/themes/campersite/caravan_green.svg" + } + ] + } + } + ], + "iconSize": "40,40", + "location": [ + "point", + "centroid" + ], + "anchor": "center" + } + ], + "lineRendering": [ + { + "color": "#00f", + "width": "8" + } + ], + "presets": [ + { + "tags": [ + "tourism=caravan_site" + ], + "title": { + "en": "a camper site", + "ru": "площадка для кемпинга", + "ja": "キャンプサイト", + "zh_Hant": "露營地", + "it": "una luogo di campeggio", + "fr": "une aire de camping", + "pt_BR": "uma local de acampamento", + "de": "ein Wohnmobilstellplatz", + "nl": "een camperplaats", + "hu": "lakóautós megállóhely", + "ca": "un lloc d'acampada", + "es": "Un camping", + "da": "en autocamperplads", + "pa_PK": "اِک کیمپ‌سائیٹ", + "cs": "kempovací místa", + "eu": "Kanpin bat", + "pl": "miejsce dla kampera", + "pt": "uma local de acampamento", + "zh_Hans": "露营地" + }, + "description": { + "en": "Add a new official camper site. These are designated places to stay overnight with your camper. They might look like a real camping or just look like a parking. They might not be signposted at all, but just be defined in a municipal decision. A regular parking intended for campers where it is not expected to spend the night, is -not- a camper site ", + "ru": "Добавьте новую официальную площадку для кемпинга. Это специально отведённые места для ночлега с автофургоном. Они могут выглядеть как настоящий кемпинг или просто выглядеть как парковка. Они не могут быть обозначены вообще, а просто быть определены в муниципальном решении. Обычная парковка, предназначенная для отдыхающих, где не ожидается, что они проведут ночь это -НЕ- площадка для кемпинга ", + "ja": "新しい公式キャンプサイトを追加します。お客様のキャンピングカーで一泊する指定の場所です。本物のキャンプのように見えるかもしれないし、単なる駐車場のように見えるかもしれない。それらは全く署名されていないかもしれませんが、自治体の決定で定義されているだけです。夜を過ごすことが予想されないキャンパー向けの通常の駐車場は、キャンプサイトではない ", + "it": "Aggiungi una nuova area di sosta ufficiale per camper. Si tratta di aree destinate alla sosta notturna dei camper. Potrebbe trattarsi di luoghi di campeggio o semplici parcheggi. Potrebbero anche non essere segnalati sul posto, ma semplicemente indicati in una delibera comunale. Un parcheggio destinato ai camper in cui non è però consentito trascorrere la notte -non- va considerato un'area di sosta per camper. ", + "fr": "Ajouter une nouvelle aire officielle pour campings-cars, destinée à y passer la nuit avec un camping-car. Elle ne nécessite pas d’infrastructures particulières et peut être simplement désignée sous arrêté municipal, un simple parking pour camping-cars non destiné au stationnement de nuit ne rentre pas dans cette catégorie ", + "de": "Fügen Sie einen neuen offiziellen Wohnmobilstellplatz hinzu. Dies sind ausgewiesene Plätze, an denen Sie in Ihrem Wohnmobil übernachten können. Sie können wie ein richtiger Campingplatz oder nur wie ein Parkplatz aussehen. Möglicherweise sind sie gar nicht ausgeschildert, sondern nur in einem Gemeindebeschluss festgelegt. Ein normaler Parkplatz für Wohnmobile, auf dem übernachten nicht zulässig ist, zählt nicht als Wohnmobilstellplatz. ", + "nl": "Voeg een nieuwe officiële camperplaats toe. Dit zijn speciaal aangeduide plaatsen waar het toegestaan is om te overnachten met een camper. Ze kunnen er uitzien als een parking, of soms eerder als een camping. Soms staan ze niet ter plaatse aangeduid, maar heeft de gemeente wel degelijk beslist dat dit een camperplaats is. Een parking voor campers waar je niet mag overnachten is géén camperplaats. ", + "zh_Hant": "新增正式露營地點,通常是設計給過夜的露營者的地點。看起來像是真的露營地或是一般的停車場,而且也許沒有任何指標,但在城鎮被定議地點。如果一般給露營者的停車場並不是用來過夜,則不是露營地點 ", + "hu": "Új hivatalos lakóautóhely hozzáadása. Ez arra vannak kijelölve, hogy lakóautóval ott éjszakázzunk. Lehet, hogy úgy néz ki, mint egy igazi kemping, de az is lehet, hogy csak olyan, mint egy parkoló. Előfordulhat, hogy egyáltalán nem jelzik őket, hanem csak egy önkormányzati határozatban vannak kijelölve. A lakóautósoknak szánt olyan hagyományos parkolók, ahol nem várhatóan nem fognak éjszakázni, -nem minősül- lakóautóhelynek. ", + "es": "Añade un nuevo sitio de acampada oficial. Son lugares designados para pasar la noche con tu caravana. Pueden parecerse a un camping real o simplemente a un aparcamiento. Puede que no estén señalizados en absoluto, sino que simplemente estén definidos en una decisión municipal. Un aparcamiento normal destinado a los campistas en el que no se espera que se pase la noche, no es un camping. ", + "ca": "Afig un nou lloc d'acampada oficial. Són llocs designats per a passar la nit amb la teua caravana. Poden semblar-se a un càmping real o simplement a un aparcament. Pot ser que no estiguen senyalitzats en absolut, sinó que simplement estiguen definits per una decisió municipal. Un aparcament normal destinat als acampadors en el qual no s'espera que es passe la nit, no és un càmping. ", + "da": "Tilføj en ny officiel campingplads. Disse er udpegede steder at overnatte med din autocamper. De kan ligne en rigtig campingplads eller bare ligne en parkeringsplads. De er måske slet ikke skiltet, men er blot defineret i en kommunal beslutning. En almindelig parkering beregnet til campister, hvor det ikke forventes at overnatte, er -ikke- en autocamperplads ", + "cs": "Přidejte nové oficiální kempovací místo. Jedná se o místa, určená pro přenocování s karavanem. Mohou vypadat jako skutečný kemp nebo jen jako parkoviště. Takováto místa nemusí být označena, ale stačí, pokud jsou pouze definována v rozhodnutí obce. Běžné parkoviště určené pro táborníky, kde se nepovažuje za kempovací místo. ", + "eu": "Kanpaleku ofizialeko beste leku bat gehitu du. Gaua zure karabanarekin igarotzeko lekuak dira. Benetako kanpin baten edo, besterik gabe, aparkaleku baten itxura izan dezakete. Baliteke ez egotea inola ere seinaleztatuta, baizik eta udal erabaki batean definitzea. Kanpinlarientzako aparkaleku arrunt bat ez da kanpin bat, gaua bertan pasatzea espero ez bada ere. ", + "pl": "Dodaj nowe oficjalne miejsce dla kamperów. Są to wyznaczone miejsca, w których można przenocować w swoim kamperze. Mogą wyglądać jak prawdziwy kemping lub po prostu wyglądać jak parking. Mogą one w ogóle nie być oznakowane, a jedynie określone w decyzji gminy. Zwykły parking przeznaczony dla kamperów, na którym nie przewiduje się nocowania, nie jest miejscem dla kamperów ", + "zh_Hans": "添加一个新的官方露营车场地。这些是专门设置的供露营车过夜的地点。它们可能看起来像真正的露营地,也可能只是看起来像一个停车场。它们可能没有任何标识,仅在市政决策中定义。普通的停车场,尽管可能供露营车使用,但不期望在其中过夜的,不算作露营车场地 " + } + } + ], "tagRenderings": [ "images", { @@ -848,88 +931,5 @@ "questions", "reviews" ], - "presets": [ - { - "tags": [ - "tourism=caravan_site" - ], - "title": { - "en": "a camper site", - "ru": "площадка для кемпинга", - "ja": "キャンプサイト", - "zh_Hant": "露營地", - "it": "una luogo di campeggio", - "fr": "une aire de camping", - "pt_BR": "uma local de acampamento", - "de": "ein Wohnmobilstellplatz", - "nl": "een camperplaats", - "hu": "lakóautós megállóhely", - "ca": "un lloc d'acampada", - "es": "Un camping", - "da": "en autocamperplads", - "pa_PK": "اِک کیمپ‌سائیٹ", - "cs": "kempovací místa", - "eu": "Kanpin bat", - "pl": "miejsce dla kampera", - "pt": "uma local de acampamento", - "zh_Hans": "露营地" - }, - "description": { - "en": "Add a new official camper site. These are designated places to stay overnight with your camper. They might look like a real camping or just look like a parking. They might not be signposted at all, but just be defined in a municipal decision. A regular parking intended for campers where it is not expected to spend the night, is -not- a camper site ", - "ru": "Добавьте новую официальную площадку для кемпинга. Это специально отведённые места для ночлега с автофургоном. Они могут выглядеть как настоящий кемпинг или просто выглядеть как парковка. Они не могут быть обозначены вообще, а просто быть определены в муниципальном решении. Обычная парковка, предназначенная для отдыхающих, где не ожидается, что они проведут ночь это -НЕ- площадка для кемпинга ", - "ja": "新しい公式キャンプサイトを追加します。お客様のキャンピングカーで一泊する指定の場所です。本物のキャンプのように見えるかもしれないし、単なる駐車場のように見えるかもしれない。それらは全く署名されていないかもしれませんが、自治体の決定で定義されているだけです。夜を過ごすことが予想されないキャンパー向けの通常の駐車場は、キャンプサイトではない ", - "it": "Aggiungi una nuova area di sosta ufficiale per camper. Si tratta di aree destinate alla sosta notturna dei camper. Potrebbe trattarsi di luoghi di campeggio o semplici parcheggi. Potrebbero anche non essere segnalati sul posto, ma semplicemente indicati in una delibera comunale. Un parcheggio destinato ai camper in cui non è però consentito trascorrere la notte -non- va considerato un'area di sosta per camper. ", - "fr": "Ajouter une nouvelle aire officielle pour campings-cars, destinée à y passer la nuit avec un camping-car. Elle ne nécessite pas d’infrastructures particulières et peut être simplement désignée sous arrêté municipal, un simple parking pour camping-cars non destiné au stationnement de nuit ne rentre pas dans cette catégorie ", - "de": "Fügen Sie einen neuen offiziellen Wohnmobilstellplatz hinzu. Dies sind ausgewiesene Plätze, an denen Sie in Ihrem Wohnmobil übernachten können. Sie können wie ein richtiger Campingplatz oder nur wie ein Parkplatz aussehen. Möglicherweise sind sie gar nicht ausgeschildert, sondern nur in einem Gemeindebeschluss festgelegt. Ein normaler Parkplatz für Wohnmobile, auf dem übernachten nicht zulässig ist, zählt nicht als Wohnmobilstellplatz. ", - "nl": "Voeg een nieuwe officiële camperplaats toe. Dit zijn speciaal aangeduide plaatsen waar het toegestaan is om te overnachten met een camper. Ze kunnen er uitzien als een parking, of soms eerder als een camping. Soms staan ze niet ter plaatse aangeduid, maar heeft de gemeente wel degelijk beslist dat dit een camperplaats is. Een parking voor campers waar je niet mag overnachten is géén camperplaats. ", - "zh_Hant": "新增正式露營地點,通常是設計給過夜的露營者的地點。看起來像是真的露營地或是一般的停車場,而且也許沒有任何指標,但在城鎮被定議地點。如果一般給露營者的停車場並不是用來過夜,則不是露營地點 ", - "hu": "Új hivatalos lakóautóhely hozzáadása. Ez arra vannak kijelölve, hogy lakóautóval ott éjszakázzunk. Lehet, hogy úgy néz ki, mint egy igazi kemping, de az is lehet, hogy csak olyan, mint egy parkoló. Előfordulhat, hogy egyáltalán nem jelzik őket, hanem csak egy önkormányzati határozatban vannak kijelölve. A lakóautósoknak szánt olyan hagyományos parkolók, ahol nem várhatóan nem fognak éjszakázni, -nem minősül- lakóautóhelynek. ", - "es": "Añade un nuevo sitio de acampada oficial. Son lugares designados para pasar la noche con tu caravana. Pueden parecerse a un camping real o simplemente a un aparcamiento. Puede que no estén señalizados en absoluto, sino que simplemente estén definidos en una decisión municipal. Un aparcamiento normal destinado a los campistas en el que no se espera que se pase la noche, no es un camping. ", - "ca": "Afig un nou lloc d'acampada oficial. Són llocs designats per a passar la nit amb la teua caravana. Poden semblar-se a un càmping real o simplement a un aparcament. Pot ser que no estiguen senyalitzats en absolut, sinó que simplement estiguen definits per una decisió municipal. Un aparcament normal destinat als acampadors en el qual no s'espera que es passe la nit, no és un càmping. ", - "da": "Tilføj en ny officiel campingplads. Disse er udpegede steder at overnatte med din autocamper. De kan ligne en rigtig campingplads eller bare ligne en parkeringsplads. De er måske slet ikke skiltet, men er blot defineret i en kommunal beslutning. En almindelig parkering beregnet til campister, hvor det ikke forventes at overnatte, er -ikke- en autocamperplads ", - "cs": "Přidejte nové oficiální kempovací místo. Jedná se o místa, určená pro přenocování s karavanem. Mohou vypadat jako skutečný kemp nebo jen jako parkoviště. Takováto místa nemusí být označena, ale stačí, pokud jsou pouze definována v rozhodnutí obce. Běžné parkoviště určené pro táborníky, kde se nepovažuje za kempovací místo. ", - "eu": "Kanpaleku ofizialeko beste leku bat gehitu du. Gaua zure karabanarekin igarotzeko lekuak dira. Benetako kanpin baten edo, besterik gabe, aparkaleku baten itxura izan dezakete. Baliteke ez egotea inola ere seinaleztatuta, baizik eta udal erabaki batean definitzea. Kanpinlarientzako aparkaleku arrunt bat ez da kanpin bat, gaua bertan pasatzea espero ez bada ere. ", - "pl": "Dodaj nowe oficjalne miejsce dla kamperów. Są to wyznaczone miejsca, w których można przenocować w swoim kamperze. Mogą wyglądać jak prawdziwy kemping lub po prostu wyglądać jak parking. Mogą one w ogóle nie być oznakowane, a jedynie określone w decyzji gminy. Zwykły parking przeznaczony dla kamperów, na którym nie przewiduje się nocowania, nie jest miejscem dla kamperów ", - "zh_Hans": "添加一个新的官方露营车场地。这些是专门设置的供露营车过夜的地点。它们可能看起来像真正的露营地,也可能只是看起来像一个停车场。它们可能没有任何标识,仅在市政决策中定义。普通的停车场,尽管可能供露营车使用,但不期望在其中过夜的,不算作露营车场地 " - } - } - ], - "pointRendering": [ - { - "marker": [ - { - "icon": "circle", - "color": "white" - }, - { - "icon": { - "render": "./assets/themes/campersite/caravan.svg", - "mappings": [ - { - "if": { - "and": [ - "fee=no" - ] - }, - "then": "./assets/themes/campersite/caravan_green.svg" - } - ] - } - } - ], - "iconSize": "40,40", - "location": [ - "point", - "centroid" - ], - "anchor": "center" - } - ], - "lineRendering": [ - { - "color": "#00f", - "width": "8" - } - ], "allowMove": true } diff --git a/assets/layers/charging_station/charging_station.json b/assets/layers/charging_station/charging_station.json index 1d5bccb6d..132a6710e 100644 --- a/assets/layers/charging_station/charging_station.json +++ b/assets/layers/charging_station/charging_station.json @@ -5,7 +5,13 @@ "nl": "Oplaadpunten", "de": "Ladestationen" }, - "minzoom": 10, + "description": { + "en": "A charging station", + "nl": "Oplaadpunten", + "ca": "Una estació de càrrega", + "de": "Eine Ladestation", + "fr": "Une station de recharge" + }, "source": { "osmTags": { "and": [ @@ -20,6 +26,7 @@ ] } }, + "minzoom": 10, "title": { "render": { "en": "Charging station", @@ -65,14 +72,109 @@ } ] }, - "description": { - "en": "A charging station", - "nl": "Oplaadpunten", - "ca": "Una estació de càrrega", - "de": "Eine Ladestation", - "fr": "Une station de recharge" - }, - "#": "no-question-hint-check", + "pointRendering": [ + { + "location": [ + "point", + "centroid" + ], + "marker": [ + { + "icon": "pin", + "color": "#fff" + }, + { + "icon": { + "render": "./assets/themes/charging_stations/plug.svg", + "mappings": [ + { + "if": "bicycle=yes", + "then": "./assets/themes/charging_stations/bicycle.svg" + }, + { + "if": { + "or": [ + "car=yes", + "motorcar=yes" + ] + }, + "then": "./assets/themes/charging_stations/car.svg" + } + ] + } + } + ], + "iconBadges": [ + { + "if": { + "or": [ + "disused:amenity=charging_station", + "operational_status=broken" + ] + }, + "then": "close:#c22;" + }, + { + "if": { + "or": [ + "proposed:amenity=charging_station", + "planned:amenity=charging_station" + ] + }, + "then": "./assets/layers/charging_station/under_construction.svg" + }, + { + "if": { + "and": [ + "bicycle=yes", + { + "or": [ + "motorcar=yes", + "car=yes" + ] + } + ] + }, + "then": "circle:#fff;./assets/themes/charging_stations/car.svg" + } + ], + "anchor": "bottom", + "iconSize": "50,50" + } + ], + "lineRendering": [ + { + "color": "black", + "width": 2, + "fillColor": "#80808080" + } + ], + "presets": [ + { + "tags": [ + "amenity=charging_station", + "motorcar=no", + "bicycle=yes" + ], + "title": { + "en": "charging station for electrical bikes", + "nl": "oplaadpunt voor elektrische fietsen", + "de": "Ladestation für Elektrofahrräder" + } + }, + { + "tags": [ + "amenity=charging_station", + "motorcar=yes", + "bicycle=no" + ], + "title": { + "en": "charging station for cars", + "nl": "oplaadstation voor elektrische auto's", + "de": "Ladestation für Autos" + } + } + ], "tagRenderings": [ "images", { @@ -2778,109 +2880,6 @@ } } ], - "lineRendering": [ - { - "color": "black", - "width": 2, - "fillColor": "#80808080" - } - ], - "pointRendering": [ - { - "location": [ - "point", - "centroid" - ], - "marker": [ - { - "icon": "pin", - "color": "#fff" - }, - { - "icon": { - "render": "./assets/themes/charging_stations/plug.svg", - "mappings": [ - { - "if": "bicycle=yes", - "then": "./assets/themes/charging_stations/bicycle.svg" - }, - { - "if": { - "or": [ - "car=yes", - "motorcar=yes" - ] - }, - "then": "./assets/themes/charging_stations/car.svg" - } - ] - } - } - ], - "iconBadges": [ - { - "if": { - "or": [ - "disused:amenity=charging_station", - "operational_status=broken" - ] - }, - "then": "close:#c22;" - }, - { - "if": { - "or": [ - "proposed:amenity=charging_station", - "planned:amenity=charging_station" - ] - }, - "then": "./assets/layers/charging_station/under_construction.svg" - }, - { - "if": { - "and": [ - "bicycle=yes", - { - "or": [ - "motorcar=yes", - "car=yes" - ] - } - ] - }, - "then": "circle:#fff;./assets/themes/charging_stations/car.svg" - } - ], - "anchor": "bottom", - "iconSize": "50,50" - } - ], - "presets": [ - { - "tags": [ - "amenity=charging_station", - "motorcar=no", - "bicycle=yes" - ], - "title": { - "en": "charging station for electrical bikes", - "nl": "oplaadpunt voor elektrische fietsen", - "de": "Ladestation für Elektrofahrräder" - } - }, - { - "tags": [ - "amenity=charging_station", - "motorcar=yes", - "bicycle=no" - ], - "title": { - "en": "charging station for cars", - "nl": "oplaadstation voor elektrische auto's", - "de": "Ladestation für Autos" - } - } - ], "filter": [ { "id": "vehicle-type", @@ -3128,6 +3127,19 @@ ] } ], + "deletion": { + "softDeletionTags": { + "and": [ + "amenity=", + "disused:amenity=charging_station" + ] + }, + "neededChangesets": 10 + }, + "allowMove": { + "enableRelocation": false, + "enableImproveAccuracy": true + }, "units": [ { "maxstay": { @@ -3322,17 +3334,5 @@ } } ], - "allowMove": { - "enableRelocation": false, - "enableImproveAccuracy": true - }, - "deletion": { - "softDeletionTags": { - "and": [ - "amenity=", - "disused:amenity=charging_station" - ] - }, - "neededChangesets": 10 - } -} \ No newline at end of file + "#": "no-question-hint-check" +} diff --git a/assets/layers/climbing_opportunity/climbing_opportunity.json b/assets/layers/climbing_opportunity/climbing_opportunity.json index b25ca2c69..031ec13a8 100644 --- a/assets/layers/climbing_opportunity/climbing_opportunity.json +++ b/assets/layers/climbing_opportunity/climbing_opportunity.json @@ -34,9 +34,6 @@ ] } }, - "snapName": { - "en": "a wall, cliff or rock" - }, "minzoom": 18, "title": { "render": { @@ -152,5 +149,8 @@ } ], "allowMove": false, + "snapName": { + "en": "a wall, cliff or rock" + }, "doCount": false } diff --git a/assets/layers/cycleways_and_roads/cycleways_and_roads.json b/assets/layers/cycleways_and_roads/cycleways_and_roads.json index 61337d9a5..27d669d2e 100644 --- a/assets/layers/cycleways_and_roads/cycleways_and_roads.json +++ b/assets/layers/cycleways_and_roads/cycleways_and_roads.json @@ -9,10 +9,6 @@ "ca": "Vies ciclistes i carreteres", "cs": "Cyklostezky a silnice" }, - "snapName": { - "en": "a road or a cycleway", - "nl": "een weg, straat of fietspad" - }, "description": { "en": "All infrastructure that someone can cycle over, accompanied with questions about this infrastructure", "nl": "Alle infrastructuur waar je over kunt fietsen, met vragen over die infrastructuur", @@ -1917,5 +1913,9 @@ } ], "allowMove": false, - "allowSplit": true + "allowSplit": true, + "snapName": { + "en": "a road or a cycleway", + "nl": "een weg, straat of fietspad" + } } diff --git a/assets/layers/dumpstations/dumpstations.json b/assets/layers/dumpstations/dumpstations.json index 66003ad53..bd4f3cf87 100644 --- a/assets/layers/dumpstations/dumpstations.json +++ b/assets/layers/dumpstations/dumpstations.json @@ -18,7 +18,24 @@ "pl": "Stacje zrzutów sanitarnych", "pt": "Estações de despejo sanitário" }, - "minzoom": 7, + "description": { + "en": "Sanitary dump stations", + "ru": "Ассенизационные сливные станции", + "ja": "衛生ゴミ捨て場", + "it": "Luoghi di sversamento delle acque reflue", + "fr": "Site de vidange sanitaire", + "pt_BR": "Estações de despejo sanitário", + "de": "Sanitäre Entsorgungsstationen", + "zh_Hant": "垃圾處理站", + "id": "Tempat pembuangan sanitasi", + "nl": "Loosplaatsen", + "ca": "Estacions d'abocament sanitari", + "da": "Sanitære afleveringspladser", + "cs": "Sanitární skládky", + "es": "Vertederos Sanitarios", + "pl": "Stacje zrzutów sanitarnych", + "pt": "Estações de despejo sanitário" + }, "source": { "osmTags": { "and": [ @@ -27,6 +44,7 @@ ] } }, + "minzoom": 7, "title": { "render": { "en": "Dump station {name}", @@ -70,24 +88,66 @@ } ] }, - "description": { - "en": "Sanitary dump stations", - "ru": "Ассенизационные сливные станции", - "ja": "衛生ゴミ捨て場", - "it": "Luoghi di sversamento delle acque reflue", - "fr": "Site de vidange sanitaire", - "pt_BR": "Estações de despejo sanitário", - "de": "Sanitäre Entsorgungsstationen", - "zh_Hant": "垃圾處理站", - "id": "Tempat pembuangan sanitasi", - "nl": "Loosplaatsen", - "ca": "Estacions d'abocament sanitari", - "da": "Sanitære afleveringspladser", - "cs": "Sanitární skládky", - "es": "Vertederos Sanitarios", - "pl": "Stacje zrzutów sanitarnych", - "pt": "Estações de despejo sanitário" - }, + "pointRendering": [ + { + "marker": [ + { + "icon": "circle", + "color": "white" + }, + { + "icon": "./assets/themes/campersite/sanitary_dump_station.svg" + } + ], + "iconSize": "32,32", + "location": [ + "point" + ], + "anchor": "center" + } + ], + "lineRendering": [ + { + "color": "#00f", + "width": "8" + } + ], + "presets": [ + { + "tags": [ + "amenity=sanitary_dump_station" + ], + "title": { + "en": "a sanitary dump station", + "ja": "衛生ゴミ捨て場", + "it": "una luogo di sversamento delle acque reflue", + "fr": "une site de vidange", + "de": "eine sanitäre Entsorgungsstation", + "zh_Hant": "垃圾丟棄站", + "nl": "een loosplaats", + "da": "en sanitær afleveringsplads", + "ca": "una estació d'abocament sanitari", + "cs": "sanitární skládka", + "es": "un vertedero sanitario", + "pl": "stacja zrzutu sanitarnego" + }, + "description": { + "en": "Add a new sanitary dump station. This is a place where camper drivers can dump waste water or chemical toilet waste. Often there's also drinking water and electricity.", + "ja": "新しい衛生ゴミ捨て場を追加します。ここは、キャンピングカーの運転手が排水や携帯トイレの廃棄物を捨てることができる場所です。飲料水や電気もあることが多いです。", + "it": "Aggiungi un nuovo luogo di sversamento delle acque reflue. Si tratta di luoghi dove chi viaggia in camper può smaltire le acque grigie o le acque nere. Spesso forniscono anche acqua ed elettricità.", + "fr": "Ajouter un nouveau site de vidange. Un espace où évacuer ses eaux usées (grises et/ou noires). Généralement alimenté en eau potable et électricité.", + "de": "Fügen Sie eine neue sanitäre Entsorgungsstation hinzu. Hier können Camper Abwasser oder chemischen Toilettenabfälle entsorgen. Oft gibt es auch Trinkwasser und Strom.", + "zh_Hant": "新增垃圾站,這通常是提供露營駕駛丟棄廢水與化學性廁所廢水的地方,也會有飲用水與電力。", + "hu": "Új egészségügyihulldék-lerakó hozzáadása. Ez egy olyan hely, ahol a lakókocsisok a szennyvizet vagy a vegyi WC hulladékát kiüríthetik. Gyakran van ivóvíz és áram is.", + "nl": "Voeg een nieuwe loosplaats toe. Dat is een plaats waar campers hun grijs water en toiletten kunnen lozen. Vaak is er ook een kraan om water te tanken en een stopcontact.", + "da": "Tilføj en ny sanitær afleveringsplads. Dette er et sted, hvor autocamperchauffører kan dumpe spildevand eller kemisk toiletaffald. Ofte er der også drikkevand og el.", + "cs": "Přidejte novou sanitární skládku. Toto je místo, kam mohou řidiči obytných vozů vypouštět odpadní vodu nebo odpad z chemických toalet. Často je zde také dostupná pitná voda a elektřina.", + "es": "Añadir un nuevo vertedero sanitario. Se trata de un lugar donde los autocaravanistas pueden verter las aguas residuales o los residuos químicos de los aseos. A menudo también hay agua potable y electricidad.", + "ca": "Afegir una nova estació d'abocador sanitari. Aquest és un lloc on els conductors de campers poden abocar aigües residuals o residus de vàter químic. Sovint també hi ha aigua potable i electricitat.", + "pl": "Dodaj nową stację zrzutu sanitarnego. To miejsce, w którym kierowcy kamperów mogą wyrzucać ścieki lub odpady z toalet chemicznych. Często jest tam też woda pitna i prąd." + } + } + ], "tagRenderings": [ "images", { @@ -569,66 +629,6 @@ "id": "dumpstations-network" } ], - "presets": [ - { - "tags": [ - "amenity=sanitary_dump_station" - ], - "title": { - "en": "a sanitary dump station", - "ja": "衛生ゴミ捨て場", - "it": "una luogo di sversamento delle acque reflue", - "fr": "une site de vidange", - "de": "eine sanitäre Entsorgungsstation", - "zh_Hant": "垃圾丟棄站", - "nl": "een loosplaats", - "da": "en sanitær afleveringsplads", - "ca": "una estació d'abocament sanitari", - "cs": "sanitární skládka", - "es": "un vertedero sanitario", - "pl": "stacja zrzutu sanitarnego" - }, - "description": { - "en": "Add a new sanitary dump station. This is a place where camper drivers can dump waste water or chemical toilet waste. Often there's also drinking water and electricity.", - "ja": "新しい衛生ゴミ捨て場を追加します。ここは、キャンピングカーの運転手が排水や携帯トイレの廃棄物を捨てることができる場所です。飲料水や電気もあることが多いです。", - "it": "Aggiungi un nuovo luogo di sversamento delle acque reflue. Si tratta di luoghi dove chi viaggia in camper può smaltire le acque grigie o le acque nere. Spesso forniscono anche acqua ed elettricità.", - "fr": "Ajouter un nouveau site de vidange. Un espace où évacuer ses eaux usées (grises et/ou noires). Généralement alimenté en eau potable et électricité.", - "de": "Fügen Sie eine neue sanitäre Entsorgungsstation hinzu. Hier können Camper Abwasser oder chemischen Toilettenabfälle entsorgen. Oft gibt es auch Trinkwasser und Strom.", - "zh_Hant": "新增垃圾站,這通常是提供露營駕駛丟棄廢水與化學性廁所廢水的地方,也會有飲用水與電力。", - "hu": "Új egészségügyihulldék-lerakó hozzáadása. Ez egy olyan hely, ahol a lakókocsisok a szennyvizet vagy a vegyi WC hulladékát kiüríthetik. Gyakran van ivóvíz és áram is.", - "nl": "Voeg een nieuwe loosplaats toe. Dat is een plaats waar campers hun grijs water en toiletten kunnen lozen. Vaak is er ook een kraan om water te tanken en een stopcontact.", - "da": "Tilføj en ny sanitær afleveringsplads. Dette er et sted, hvor autocamperchauffører kan dumpe spildevand eller kemisk toiletaffald. Ofte er der også drikkevand og el.", - "cs": "Přidejte novou sanitární skládku. Toto je místo, kam mohou řidiči obytných vozů vypouštět odpadní vodu nebo odpad z chemických toalet. Často je zde také dostupná pitná voda a elektřina.", - "es": "Añadir un nuevo vertedero sanitario. Se trata de un lugar donde los autocaravanistas pueden verter las aguas residuales o los residuos químicos de los aseos. A menudo también hay agua potable y electricidad.", - "ca": "Afegir una nova estació d'abocador sanitari. Aquest és un lloc on els conductors de campers poden abocar aigües residuals o residus de vàter químic. Sovint també hi ha aigua potable i electricitat.", - "pl": "Dodaj nową stację zrzutu sanitarnego. To miejsce, w którym kierowcy kamperów mogą wyrzucać ścieki lub odpady z toalet chemicznych. Często jest tam też woda pitna i prąd." - } - } - ], - "pointRendering": [ - { - "marker": [ - { - "icon": "circle", - "color": "white" - }, - { - "icon": "./assets/themes/campersite/sanitary_dump_station.svg" - } - ], - "iconSize": "32,32", - "location": [ - "point" - ], - "anchor": "center" - } - ], - "lineRendering": [ - { - "color": "#00f", - "width": "8" - } - ], "allowMove": { "enableImproveAccuracy": true, "enableRelocation": false diff --git a/assets/layers/geocoded_image/geocoded_image.json b/assets/layers/geocoded_image/geocoded_image.json index c5a9d8b13..dd6f57efd 100644 --- a/assets/layers/geocoded_image/geocoded_image.json +++ b/assets/layers/geocoded_image/geocoded_image.json @@ -1,8 +1,7 @@ { "id": "geocoded_image", - "source": "special", "name": null, - "tagRenderings": [], + "source": "special", "pointRendering": [ { "location": [ @@ -66,5 +65,6 @@ ], "iconSize": "14,14" } - ] + ], + "tagRenderings": [] } diff --git a/assets/layers/indoors/indoors.json b/assets/layers/indoors/indoors.json index 9d4c7abfc..3ef29d1ba 100644 --- a/assets/layers/indoors/indoors.json +++ b/assets/layers/indoors/indoors.json @@ -8,10 +8,6 @@ "ca": "Interiors", "cs": "Vnitřní prostory" }, - "snapName": { - "en": "an indoor wall", - "nl": "een binnenmuur" - }, "description": { "en": "Basic indoor mapping: shows room outlines", "de": "Grundlegende Innenraumkartierung: zeigt Umrisse von Räumen", @@ -623,5 +619,9 @@ "allowMove": { "enableImproveAccuracy": true, "enableRelocation": false + }, + "snapName": { + "en": "an indoor wall", + "nl": "een binnenmuur" } } diff --git a/assets/layers/kerbs/kerbs.json b/assets/layers/kerbs/kerbs.json index b10bc4061..51614d02b 100644 --- a/assets/layers/kerbs/kerbs.json +++ b/assets/layers/kerbs/kerbs.json @@ -11,9 +11,6 @@ "ca": "Vroades", "cs": "Obrubníky" }, - "snapName": { - "en": "a kerb" - }, "description": { "en": "A layer showing kerbs.", "nl": "Een laag met stoepranden.", @@ -409,5 +406,8 @@ ] } } - ] + ], + "snapName": { + "en": "a kerb" + } } diff --git a/assets/layers/note/note.json b/assets/layers/note/note.json index be307958b..9405256f8 100644 --- a/assets/layers/note/note.json +++ b/assets/layers/note/note.json @@ -270,7 +270,6 @@ } ] }, - { "id": "not", "options": [ diff --git a/assets/layers/pedestrian_path/pedestrian_path.json b/assets/layers/pedestrian_path/pedestrian_path.json index ac8ccef8c..007ff1411 100644 --- a/assets/layers/pedestrian_path/pedestrian_path.json +++ b/assets/layers/pedestrian_path/pedestrian_path.json @@ -8,9 +8,6 @@ "ca": "Camins per a vianants", "cs": "Cesty pro chodce" }, - "snapName": { - "en": "a pedestrian path" - }, "description": { "en": "Pedestrian footpaths, especially used for indoor navigation and snapping entrances to this layer", "nl": "Pad voor voetgangers, in het bijzonder gebruikt voor navigatie binnen gebouwen en om aan toegangen vast te klikken in deze laag", @@ -49,5 +46,8 @@ "dashArray": "12 6" } ], - "allowMove": false + "allowMove": false, + "snapName": { + "en": "a pedestrian path" + } } diff --git a/assets/layers/shelter/shelter.json b/assets/layers/shelter/shelter.json index 26361dc07..8b7f169be 100644 --- a/assets/layers/shelter/shelter.json +++ b/assets/layers/shelter/shelter.json @@ -8,9 +8,6 @@ "fr": "Abri", "cs": "Přístřešek" }, - "snapName": { - "en": "a shelter" - }, "description": { "en": "Layer showing shelter structures", "de": "Eine Ebene, die verschiedene Bauformen von Unterständen zeigt", @@ -128,5 +125,8 @@ "allowMove": { "enableRelocation": false, "enableImproveAccuracy": true + }, + "snapName": { + "en": "a shelter" } } diff --git a/assets/layers/usersettings/usersettings.json b/assets/layers/usersettings/usersettings.json index 1f7e5b37d..d7f465103 100644 --- a/assets/layers/usersettings/usersettings.json +++ b/assets/layers/usersettings/usersettings.json @@ -487,7 +487,6 @@ { "if": "mapcomplete-preference-show-scale=false", "alsoShowIf": "mapcomplete-preference-show-scale=", - "then": { "en": "Hide the scalebar", "nl": "Verberg de schaalbalk" diff --git a/assets/layers/walls_and_buildings/walls_and_buildings.json b/assets/layers/walls_and_buildings/walls_and_buildings.json index d1e62cbfa..9e41a19b1 100644 --- a/assets/layers/walls_and_buildings/walls_and_buildings.json +++ b/assets/layers/walls_and_buildings/walls_and_buildings.json @@ -12,10 +12,6 @@ "zh_Hant": "特殊的內建圖層顯示所有牆壁與建築。這個圖層對於規畫要靠牆的東西 (例如 AED、郵筒、入口、地址、監視器等) 相當實用。這個圖層預設顯示而且無法由使用者開關。", "pl": "Specjalna warstwa zabudowana zapewniająca wszystkie mury i budynki. Warstwa ta jest przydatna w ustawieniach wstępnych obiektów, które można umieścić przy ścianach (np. AED, skrzynki pocztowe, wejścia, adresy, kamery monitorujące itp.). Warstwa ta jest domyślnie niewidoczna i użytkownik nie może jej przełączać." }, - "snapName": { - "en": "a wall or building", - "nl": "een muur of gebouw" - }, "source": { "osmTags": { "or": [ @@ -144,5 +140,9 @@ ] } } - ] + ], + "snapName": { + "en": "a wall or building", + "nl": "een muur of gebouw" + } } diff --git a/assets/themes/uk_addresses/uk_addresses.json b/assets/themes/uk_addresses/uk_addresses.json index 85959a8e2..cecc26a2a 100644 --- a/assets/themes/uk_addresses/uk_addresses.json +++ b/assets/themes/uk_addresses/uk_addresses.json @@ -683,8 +683,8 @@ } ], "allowMove": { - "enableImproveAccuraccy": true, - "enableRelocation": false + "enableRelocation": false, + "enableImproveAccuracy": true } }, "named_streets" From 65fceb9434294051c8f565d89f42443c6afe3fb8 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sun, 15 Sep 2024 00:02:09 +0200 Subject: [PATCH 7/8] Themes(disaster_response): add defibrillators and logical zoom levels --- .../disaster_response/disaster_response.json | 42 ++++++++++++++----- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/assets/themes/disaster_response/disaster_response.json b/assets/themes/disaster_response/disaster_response.json index f39fccf12..70bdc00f3 100644 --- a/assets/themes/disaster_response/disaster_response.json +++ b/assets/themes/disaster_response/disaster_response.json @@ -17,16 +17,38 @@ "icon": "./assets/themes/disaster_response/CivilDefence.svg", "socialImage": "./assets/themes/disaster_response/social.svg", "layers": [ - "hospital", - "pharmacy", - "doctors", - "assembly_point", - "disaster_response", - "police", - "fire_station", - "ambulancestation", - "extinguisher", - "hydrant" + { + "builtin": [ + "hospital", + "fire_station", + "disaster_response", + "police" + ], + "override": { + "minzoom": 6 + } + }, + { + "builtin": [ + "extinguisher", + "assembly_point", + "defibrillator", + "hydrant" + ], + "override": { + "minzoom": 15 + } + }, + { + "builtin": [ + "doctors", + "ambulancestation", + "pharmacy" + ], + "override": { + "minzoom": 14 + } + } ], "docs": "https://wiki.openstreetmap.org/wiki/Emergency_facilities_and_amenities" } From 9faaad063df757decc89091b7c446ed01d60ff0a Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sun, 15 Sep 2024 00:02:51 +0200 Subject: [PATCH 8/8] UX(index): reorder themes, see #2153 --- src/Models/Constants.ts | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/Models/Constants.ts b/src/Models/Constants.ts index 40c070ad5..20190e43c 100644 --- a/src/Models/Constants.ts +++ b/src/Models/Constants.ts @@ -84,17 +84,29 @@ export default class Constants { static distanceToChangeObjectBins = [25, 50, 100, 500, 1000, 5000, Number.MAX_VALUE] static themeOrder = [ "personal", + "cyclofix", - "waste", "etymology", + "waste", + "food", "cafes_and_pubs", "shops", + "healthcare", + "sports", + + "artwork", + "bookcases", "playgrounds", - "hailhydrant", + "drinking_water", "toilets", + "vending_machine", "aed", - "bookcases", + "clock", + + "surveillance", + "advertising", + "circular_economy", ] /** * Upon initialization, the GPS will search the location.